nein.. readonly ist leider auch ausgeschlossen...
möchte das bild danach eventuell nochmal bearbeiten..
ich habe ein programm geschrieben das wasserzeichen auf bilder zeichnet...
jetzt habe ich aber das problem, das wenn ein bild mehrmals das wasserzeichen bekommt, es zu sichtbar wird....
gibt es eine möglichkeit ein bild zu "markieren" als schon bearbeitet?
der dateiname soll unverändert bleiben..
Bilderkennung oder in die metadaten schreiben möchte ich nciht...
gibts vllt was anderes?
gibts keine andere möglichkeit außer mit webservices icq messages zu schreiben?
im ersten fall muss man sein handy an den pc anschließen und als modem laufen lassen...
das kostet gebühren... dem will ich eigentlich entgehen...
und der zweite fall... ich will über icq messages schicken, durch mein programm...
nicht nen neuen client schreiben 🙂
Ist es möglich über ein programm icq messages zu schreiben bzw SMS?
wenn ja, was muss ich mir dafür genau angucken?
hab nix direktes gefunden...
danke im voraus 🙂
hab die agbs durchgelesen...
dieser punkt ist nicht darin enthalten...
automatisiertes "schenken" ist nicht verboten...
indirekt ists schon ein spambot...
aber ein positiver 🙂
gibt ne community seite auf der man seinen freunden kostenlos geschenke machen kann....
und ich hab meiner freundin versprochen das ich ihr 1000 geschenke mache...
nur hab ich keine lust andauernd selber alles in die tasten zu hauen...
also lass ich mein programm alles erledigen....
gestern angefangen.. heute sinds schon 200 stück...
also kann ich bald aufhören..
kann ich die ganze methode denn auslagern?
man kann doch nur nen parametisierten thread starten der als übergabe Objekt hat...
und hier brauche ich WebBrowserDocumentCompletedEventArgs
ich weiß, es ist ne absolute anfängerfrage...
und zwar habe ich ein programm zum steuern einer website programmiert...
Button auf Website druecken?!
alles läuft automatisch ab.. und nach aufruf einer bestimmten seite soll das programm 2 min stehen bleiben...
habe Thread.Sleep() benutzt...
nur leider friert dann die gesamte gui ein..
nur ich weiß überhaupt nicht an welcher stelle ich einen zweiten thread einfügen soll.... weil wenn ich nur das Sleep auslagere, läuft das normale programm ja weiter....
das programm sieht so aus (Bsp Prog von herbivore):
using System;
using System.Windows.Forms;
using System.Drawing;
public class MyWindow : Form
{
private WebBrowser wb;
private bool warten = false;
public MyWindow ()
{
ClientSize = new Size (640, 480);
Control ctrlCurr;
ctrlCurr = wb = new WebBrowser ();
ctrlCurr.Dock = DockStyle.Fill;
((WebBrowser)ctrlCurr).DocumentCompleted += WebBrowserDocumentCompleted;
Controls.Add (ctrlCurr);
wb.Url = new Uri ("http://web.de/");
}
public void Warten()
{
if(warten == true)
Thread.Sleep(120000);
warten = false;
}
protected void WebBrowserDocumentCompleted (
object objSender, WebBrowserDocumentCompletedEventArgs wbdcea
)
{
Warten();
Console.WriteLine ("DocumentCompleted: " + wbdcea.Url);
if (wbdcea.Url == new Uri ("http://web.de/")) {
HtmlDocument htmldoc;
htmldoc = wb.Document;
htmldoc.All["inpLoginUsername"].InnerText = "dein usernanme";
htmldoc.All["inpLoginPassword"].InnerText = "dein passwort";
htmldoc.All["rv_dologon"].InvokeMember("Click");
warten = true;
}
}
}
kann mir vllt jemand sagen wie ich das richtig realisieren kann?
Das nicht alles hängt?
ah.. ok.. danke 🙂
jetzt noch eine letzte frage....
wie kann ich, wenn ich auf das x zum schließen klicke, einstellen das das fenster visible = false wird anstatt das es schließt...
und noch was stört...
nach beenden des programms wird mein icon trotzdem noch angezeigt...
wie kann ich denn das ziel ändern?
das hab ich nicht verstanden... das konsolenfenster ist echt hässlich o.O
ups.. beitrag übersehen...
danke herbivore
danke..
ich habe jetzt das icon da unten...
wie kann ich jetzt machen, dass das fenster ausgeblendet wird wenn ich auf minimieren klicke und vom programm nur noch der icon zu sehen ist?
und nach klick auf den icon wieder das fenster angezeigt wird?
hi...
ist es möglich das programm nur in der taskleiste neben der uhr anzeigen zu lassen?
also nicht in der mitte wo alle aktiven anwendungen aufgeführt werden?
das möchte ich nämlich ausblenden?
aber wie? 🙂
ok..^^
musste einfach nur "Click" anstatt submit schreiben
hmm.. geht doch nicht so wie gedacht...
kann den login button nicht betätigen...
<form method="post" action="/login">
<div style="position:absolute;left:0;top:0px;width:90px;height:30px;line-height:30px;vertical-align:middle;font-size:8pt;color:white;text-align:right">E-Mail:</div>
<div style="position:absolute;left:0;top:30px;width:90px;height:30px;line-height:30px;vertical-align:middle;font-size:8pt;color:white;text-align:right">Passwort:</div>
<input style="position:absolute;left:100px;top:0px;width:170px;line-height:14pt;vertical-align:middle" name="usermail" id="loginMailInput" value="prakti@web.de" />
<input style="position:absolute;left:100px;top:30px;width:170px;line-height:14pt;vertical-align:middle" name="userpwd" id="loginPwdInput" type="password" />
<div style="position:absolute;left:100px;top:56px;width:180px;text-algin:right">
<span style="color:#007879;font-size:8pt">
<a style="color:#007879;text-decoration:underline" href="/register">Registrieren</a>oder</span>
<input type="submit" value="Login" /></div></form></div></div>
das steckt doch da drin oder?
in der letzten Zeile ist der Login Button..
ich muss doch jetzt
HtmlElementCollection collection = htmldoc.GetElementsByTagName("input");
for (int i = 0; i < collection.Count; i++)
{
if (collection[i].OuterHtml.IndexOf("type") != -1)
{
collection[i].InvokeMember("Submit");
break;
}
}
oder hab ich das falsch vestanden?
ok... dankeschön 🙂
funktioniert jetzt mit dem webbrowser...
versuchs jetzt mal mittles WebRequest 🙂
hey.. danke... bin schon bisschen weiter...
aber ich habe ein problem...
name="usermail" id="loginMailInput" value="prakti@web.de" -> Mailaddi eingeben...
htmldoc.All["loginMailInput"].InnerText = "prakti@web.de";
name="userpwd" id="loginPwdInput" type="password" -> Passwort eingeben...
htmldoc.All["loginPwdInput"].InnerText = "meinPW";
die seite wird neu geladen und meine email adresse ist eingetragen...
aber mein passwort nicht...
liegt es daran, dass kein value dabeisteht?
hab ich iwas falsch gemacht?
mit dem beispiel bei web.de hats funktioniert...
hi...
wollte mal fragen ob es eine möglichkeit gibt, websiten zu steuern.
Also ich meine damit,
Buttons drücken, einloggen usw...
wollte mir nen kleinen messenger basteln für 2 seiten 🙂
hm.. ok.. hab alles was ich brauch.. danke für die hilfe .....
hat vllt jemand ein kleines beispielprogramm an dem ich sehen kann wie man den DockManager verwendet?
oder iwas vergleichbares?
komme damit nicht zurecht...
weiß auch nciht ob ichs richtig gemacht habe...
habe ein verweis auf die WeifenLuo.WinFormsUI.Docking.dll gemacht und dann
using WeifenLuo.WinFormsUI;
using DockManagerControll;
ich hoffe mal das ich es jetzt richtig eingebunden habe?!
ok... hab jetzt rausgefunden wie ichs in mein programm einbaue....
aber wie kann ich das jetzt nutzen?
das hatte ich auch schon runtergeladen mittlerweile...
ich weiß aber nicht wie ich das in mein programm einbinden kann?
bin ja noch anfänger...
habe die forensuche benutzt und gesehen das DochManager Control schon mehrmals erwähnt wurde...
dachte es wäre ein geläufiger begriff in diesem forum...
http://www.codeproject.com/KB/miscctrl/DockManager.aspx
und als konkrete frage:
wie kann ich den DockManager in mein programm einfügen?
und wie kann ich die funktionen nutzen?
gibts ein tutorial oder änliches?
ich habe vor kurzem diesen code im internet gefunden...
ist sicherlich hier im forum sicherlich bekannt....
ich wollte nun zu testzwecken mal ein Programm erstellen, das den DockManager implementiert.
Ich weiß aber absolut nicht wie ich das angehen soll...
vllt kann mir jemand helfen oder mir ein tutorial sagen?
ich habe bis jetzt noch nix gefunden...
ah.. danke... hab ich übersehen....
der sql code ist so unübersichtlich bei mir 🙁
XPathDocument xdoc = new XPathDocument(pfad);
XPathNavigator xnav = xdoc.CreateNavigator();
XPathNodeIterator xit = xnav.Select("*//sideMapNode");
verwendetes Datenbanksystem: <mssql 05>
so.. habe ein problem...
vllt könnt ihr mir weiterhelfen?
habe ne stored procedure mit nem cursor....
wenn der fall auftritt das der cursor aufgerufen wird kommt immer ein timeout als exception message....
hab ich dabei iwas falsch gemacht?
Declare @ProdID varchar(50)
Declare @SectID varchar(100)
Declare @HdrID varchar (500)
Declare @BodyID varchar (2500)
Declare @OrderIntern int
Declare @OrderExtern int
Declare @Count int
Declare @Text varchar(100)
Declare @Id1 int
Declare @Id2 int
Declare @Id3 int
Set @Text = 'zieltabelle'
Declare hp_easycontent Cursor Fast_Forward For
Select * from test_table for read only
Open hp_easycontent
Fetch Next from hp_easycontent into @ProdID, @ID1, @ID2, @ID3, @OrderIntern, @OrderExtern
While @@Fetch_Status = 0
Begin
select @SectID = Text from hp_xml where ID = 1
select @HdrID = Text from hp_xml where ID = 2
select @BodyID = Text from hp_xml where ID = 3
EXECUTE [test_db].[dbo].[fill_zieltabelle] @ProdID, @SectID,@HdrID,@BodyID,@OrderIntern,@OrderExtern,@Text
End
Close hp_easycontent
Deallocate hp_easycontent
Die sp die ich in dem cursor aufrufe funktioniert an sich...
der erste datensatz wird auch richtig eingefügt....
aber sobald der cursor auf die 2te zeile in test_table springen soll hängt er sich auf denke ich ...
ich bin mir nicht sicher , aber ich glaube die musst du selber anlegen...
wüsste nicht wie das gehen sollte...
gibt ja auch keinen auswahlpunkt außer neues datenbankdiagramm
und darin sind alle tabellen enthalten...
also einfach alle reinziehen und verbindungen erstellen
hab mich vertan....
die stelle die ich benötige wechselt....
habe eine lösung gefunden ...
verwendetes Datenbanksystem: <xml>
ich habe 1000 xml documente und durchlaufe alle nach dem gleichen schema...
if (xr.HasAttributes == true)
{
try
{
model = xr.GetAttribute("readable.name").ToString();
xr.Read();
}
catch { }
if (xr.HasValue == true)
product = xr.Value.ToString();
if (product.CompareTo("") != 0)
//einlesen
...
das ganze speicher ich dann in einer datenbank....
das problem das ich jetzt habe ist, dass ich noch den headernamen des jeweiligen datensatz brauche....
der name steht bei jedem xml document im 10ten unterknoten
gibt es eine möglichkeit da ranzukommen, ohne zu wissen wie dieser knoten heißt?
es gibt in jedem xml dokument unterschiedlich viele header...
BSP:
-root
-knoten2
-knoten3
-knoten4
-knoten5
-knoten6
-knoten7
-knoten8
-knoten9
-knoten10
-knoten11 << dort lese ich einen Headernamen
-Datensätze
-knoten10-2
-knoten11-2 << dort lese ich einen Headernamen
-Datensätze
-knoten11-3 << dort lese ich einen Headernamen
-Datensätze
-knoten11-4 << dort lese ich einen Headernamen
das problem ist, das ich das programm allgemein halten möchte...
und damit sollen ca 1000 xml dateien eingelesen werden....
wäre toll wenns ne allgemeine lösung dafür gäbe... mit xpath hab ich das schon gelöst... aber nur für einzelne dokumente..
verwendetes Datenbanksystem: <Ms Sql Server 2005>
ich möchte ein xml in eine datenbank einlesen... aber nicht das die xml datei an sich in der datenbank steht, sondern nur die attribute aus der xml ....
gibt es da schon fertige tools oder klassen?
wenn nicht.. wie gehe ich das am besten in der programmierung an?
das xml file ist ziemlich komplex..
hmm.. hat sich eigentlich schon erledigt...
hab müsam pixel für pixel am rand gelöscht und dann mit dem zauberstab den rest getrennt 🙂
paint.net sei dank^^
ist aber ne unschöne lösung...
würde gerne wissen wie man das programmtechnisch lösen kann....
in der kleinansicht im explorer wurde das nämlich automatisch ohne weißer rand dargestellt
hi...
ich mache ein wasserzeichen auf bilder...
jetzt habe ich das problem das das logo welches ich auf die bilder schreibe einen hässlichen weißen rand hat...
Image original = Image.FromFile("test.jpg");
Graphics g = Graphics.FromImage(original);
Image wasserzeichen = Image.FromFile("logo.png");
g.CompositingQuality = CompositingQuality.HighQuality;
ImageAttributes ia = new ImageAttributes();
ColorMatrix cm = new ColorMatrix();
cm.Matrix33 = 0.5f;
ia.SetColorMatrix(cm);
if(original.Width <=800 || original.Height<=600)
g.DrawImage(wasserzeichen, new Rectangle(0, 0, original.Width, original.Height), 0, 0, original.Width, original.Height, GraphicsUnit.Pixel, ia);
else if (original.Width <= 1024 || original.Height <= 768)
g.DrawImage(wasserzeichen, new Rectangle(0, 0, original.Width, original.Height), 0, 0, original.Width/2, original.Height/2, GraphicsUnit.Pixel, ia);
else if (original.Width <= 1600 || original.Height <= 900)
g.DrawImage(wasserzeichen, new Rectangle(0, 0, original.Width, original.Height), 0, 0, original.Width/3, original.Height/3, GraphicsUnit.Pixel, ia);
else
g.DrawImage(wasserzeichen, new Rectangle(0, 0, original.Width, original.Height), 0, 0, original.Width/4, original.Height/4, GraphicsUnit.Pixel, ia);
original.Save("test1.jpg");
g.Dispose();
wie kann ich in dem logo den weißen rand ausblenden? weiß an sich ausblenden geht leider nicht da in dem logo noch eine weiße schrift enthalten ist..
doch hab ich 🙂
aber das schien mir doch komplizierter als ich es hätte selber lösen können...
[Edit]
Vielleicht sollte ich anmerken das ich erst seit 3 wochen programmiere
und das auch nur aufgaben die ich in meinem praktikum gestellt bekomme...
ein paar kleine konsolenanwendungen konnte ich für die firma schon schreiben die auch genutzt werden, aber das hier gilt reinen übungszwecken....
und wenn ich im forum nach hilfe frage und ne antwort bekomme die meine "verständnisgrenze" überschreitet, benutze ich es auch nicht 🙂
will ja schließlich selber verstehen was ich da gemacht hab
MfG prakti08
hab keine ahnung^^
bei mir ists so...
mache ne abfrage in mssql management studio.. dauert ca 6 sekunden...
mache die gleiche abfrage in meinem c# programm....
dauer ca 2 sekunden..
habs jetzt so gemacht...
kann man das ncoh vereinfachen?
private void callRecursive()
{
XmlWriterSettings xws = new XmlWriterSettings();
xws.Indent = true;
xws.IndentChars = " ";
xw = XmlWriter.Create("My.xml",xws);
xw.WriteStartDocument();
TreeNodeCollection nodes = treeView1.Nodes;
foreach (TreeNode n in nodes)
{
BrowseRecursive(n);
}
xw.WriteEndDocument();
xw.Close();
}
private void browseRecursive(TreeNode treeNode)
{
string hilf = treeNode.Text;
if (treeNode.Nodes.Count > 0)
{
xw.WriteStartElement("knoten");
xw.WriteAttributeString("Gruppe", hilf);
}
else
{
xw.WriteStartElement("knoten");
xw.WriteAttributeString("Gruppe", hilf);
xw.WriteEndElement();
}
foreach (TreeNode tn in treeNode.Nodes)
{
BrowseRecursive(tn);
}
if (treeNode.Nodes.Count > 0)
xw.WriteEndElement();
}
jetzt hab ich noch ne frage....
will ja trotzdem mit xml weiterarbeiten...
gibt es eine einfache möglichkeit treeView in xml zu speichern?
möchte nicht unbedingt mit rekursion arbeiten
mit dem "group by" statement kommst du nicht weiter?
ich wüsste nicht wie ich "group by" anwenden könnte das es mich weiterbringt...
ich versuchs aber jetzt mal sequentiell ohne in xml umzuwandeln
private void ShowNode(TreeNode parent, string pfad)
{
TreeNode tn = parent;
XmlReaderSettings myset = new XmlReaderSettings();
myset.IgnoreWhitespace = true;
XmlReader xr = XmlReader.Create(pfad, myset);
while (xr.Read())
{
if (xr.NodeType == XmlNodeType.EndElement)
{
tn = tn.Parent;
}
else
{
if (xr.NodeType == XmlNodeType.Element)
{
if (tn == null)
tn = treeView1.Nodes.Add(xr.Name);
else
tn = tn.Nodes.Add(xr.Name);
if (xr.IsEmptyElement == true)
tn = tn.Parent;
}
if (xr.NodeType == XmlNodeType.Text)
{
tn.Text = tn.Text + " | " + xr.Value;
}
}
}
xr.Close();
}
so lese ich momentan ein... was zum ergebnis führt das alles so aussieht wie in der xml steht
-<NewDataSet>
- <Ingram>
<gruppe1>Büromaterial</gruppe1>
<gruppe2>Ordnen & Archivieren</gruppe2>
<gruppe3>Ordner</gruppe3>
</Ingram>
- <Ingram>
<gruppe1>Büromaterial</gruppe1>
<gruppe2>Postversand</gruppe2>
<gruppe3>Versandtaschen</gruppe3>
</Ingram>
mein problem ist, dass die datenbank ca 104k einträge umfasst....
und bei meinen abfragen wiederholen sich viele Sachen...
Beispiel...
Büromaterial Telefon Kabel
Computersysteme Notebooks Home & Multimedia
Büromaterial Ordnen & Archivieren Ordner
es hängt ja an der umsetzung...
wie kann ich denn sagen büromaterial kam schonmal vor... schreib es also dahin..
ich möchte nicht das gruppen doppelt vorkommen
ich benutze MSSQL 05
hier gibt es auch abfragen zb.
for xml auto
die dann direkt im xml format ausgibt.. nur leider erkennt er dies nicht automatisch und wie man selber festlegt was jetzt ein knoten ist und was nicht weiß ich nicht...
ich gebs mal genauer an...
original tabellen ausschnitt...
Gruppe1 Gruppe2 Gruppe3
Büromaterial Ordnen & Archivieren Ordner
Büromaterial Reinigung Reinigungs-CD
Büromaterial Schreibtischzubehör Locher
Bürotechnik Bürozubehör Kassensysteme
Computersysteme Notebooks Home & Multimedia
Computersysteme Notebooks MAC Notebooks
Computersysteme Notebooks Outdoor
Computersysteme Notebooks Tablet PCs
Computersysteme Personal Computer All-in-one PCs
Computersysteme Personal Computer Business (Thinclient)
Computersysteme Server 1 Wege Server
Computersysteme Server MAC Server
Displays, TV & Projektoren Displays CRT
ich möchte jetzt , nicht wie bisher
datensatz
büromaterial
Ordnen & Archivieren
Ordner
datensatz
Büromaterial
Reinigung
Reinigungs-CD
sondern ich möchte
datensatz
Büromaterial
Ordnen & Archivieren
Ordner
Reinigung
Bürotechnik
Bürozubehör
Computersysteme
Notebooks
Home & Multimedia
Outdoor
hi..
ich möchte eine oder mehrere tabellen in eine treeView einlesen...
Tabelle
Name | Straße | Wohnort
hans Musterstr. Musterhausen
günter Musterstr. Musterhausen
soll in der treeView dann so dargestellt werden..
tabelle
name
hans
günter
straße
Musterstr.
Musterstr.
Wohnort
Musterhausen
Musterhausen
bis jetzt hab ich es nur geschafft das jeder datensatz einzeln dargestellt wird
NewDataSet
tabelle
Name Hans
Straße Musterstr.
Wohnort Musterhausen
tabelle
Name günter
Straße Musterstr.
Wohnort Musterhausen
wie kann ich das anders realisieren ohne alles umschreiben zu müssen..?
Ich lese die Sql Tabelle aus und schreibe sie in ein DataSet dieses Dataset gebe ich in einer DataGridView aus und speicher es als xml datei... nun lese ich es wieder ein für den treeView
habe ein problem
lade eine xml datei in ein treeview ein..
nach diesem schema:
TreeNode tn = null;
XmlReader xr = XmlReader.Create(pfad, myset);
while (xr.Read())
{
if (xr.NodeType == XmlNodeType.EndElement)
{
tn = tn.Parent;
}
else
{
if (xr.NodeType == XmlNodeType.Element)
{
if (tn == null)
tn = treeView1.Nodes.Add(xr.Name);
else
tn = tn.Nodes.Add(xr.Name);
}
if (xr.NodeType == XmlNodeType.Text)
{
tn.Text = tn.Text + ": " + xr.Value;
}
}
}
xr.Close()
wenn ich jetzt einlese sieht der treeview aber nciht so aus wie er sollte...
er erkennt in manchen zeilen das EndElement nicht...
- <Italien>
<asdfasd /> <<<< Öffnendes und Schließendes Element
</Italien>
Das schließen dieser zeile wird einfach übergangen...
wie kann ich das anpassen?
so... hab jetzt noch fragen....
habs ja so gemacht das an der stelle an die man klickt ein child hinzugefügt wird...
1)wie kann man stattdessen nen neuen knoten hinmachen?