Speziell für XML Dokumente eignet sich der XMLReader Namespace
http://msdn.microsoft.com/de-de/library/system.xml.xmlreader.aspx
Beispiele findest Du u.a. hier
http://msdn.microsoft.com/en-us/library/cc189056(v=vs.95).aspx
Hallo, darum schrieb ich ja "(Erzeugung des Dialogs")", also nicht um die ganze Methode:
if (null == inf)
{
lock (thisLock)
{
inf = new DlgInfo();
inf.Click += new EventHandler(inf_Click);
inf.addInfo(infos);
}
inf.ShowDialog();
inf = null;
}
else
{
inf.addInfo(infos); // <- hier evtl. auch noch ein lock drum
inf.BringToFront();
}
Und zu der von dir zitierten Fehlermeldung solltest du unbedingt Controls von Thread aktualisieren lassen (Control.Invoke/Dispatcher.Invoke) durchlesen.
Wenn man mit Multithreading zu tun hat, sollte man unbedingt wissen, wie das funktioniert und die Stichworte Deadlock, Race Condition etc. kennen.
Hi,
wenn du nur den aktuellen Status eines Druckers haben willst, kann ich dir die PrintQueueCollection empfehlen. Habe damit mal Stati der Drucker über die Druckwarteschlange von Windows abgefragt.
LocalPrintServer myPrintServer = new LocalPrintServer();
PrintQueueCollection myCollection = myPrintServer.GetPrintQueues();
Die PrintQueues die da zurück kommen, haben einen Status wie Busy, DoorOpen, Error etc...
Achja: Namespace System.Printing;
Hoffe es hilft weiter.
Grüße, Breaker
Hallo,
ich habe ein Beispiel gefunden, welches genau das machen sollte, was du willst.
http://www.codeproject.com/Articles/18526/RadioListBox-A-ListBox-with-Radio-Buttons-Winforms
Sorry, Deinen Code kann ich nicht durchlesen, da habe ich im Moment nicht die Zeit für. Aber Du möchtest anscheinend einen Rechner, der ganze Ausdrücke berechnen kann, so wie Coca. Ich habe den allerdings in C++ geschrieben. Der Parser selbst (es gibt auch ein Kommandozeilenprogramm dafür) basiert auf dem Beispiel "Ein Tischrechner" in Bjarne Stroustrups Buch "Die C++ Programmiersprache".
Ich kann Dir dieses Beispiel nur wärmstens empfehlen, wenn Du selbst einen Parser entwickeln willst. Da C# nicht so viel anders wie C++ ist, sollte man dieses Konzept leicht für C# umwandeln können. Insbesondere der Trick, dass der Scanner immer ein Token voraus ist (jede Funktion z. B. zur Berechnung von + liest schon immer das nächste Token im Voraus).
Mit Stroustrups Beispiel war es wirklich nicht so schwer, das ganze zu verstehen. Ich konnte danach den Parser selbst leicht um Funktionen und Potenz-Operator (^) erweitern. Außerdem solltest Du den Code für die grafische Oberfläche strikt vom Code für den Parser trennen (Stichwort Model View Controller). Ich habe zunächst erst eine Kommandozeilenversion entwickelt und als die stand, den Parser daraus entnommen, und eine Funktion daraus gemacht calcfunc(char *resultbuf,char *errorbuf). Den Stroustrup solltest Du Dir in jeder besseren Bücherei ausleihen können.
Schau Dir doch mal das neue .Net 4.5 Feature TASKS an
http://msdn.microsoft.com/en-us/library/system.threading.tasks.task.aspx
Ich glaube einfacher geht's nicht mehr
Es tut mir wirklich leid, wenn ich euch jetzt hier belästige, aber ich stehe grade extremst auf dem Schlauch. Welchen Part soll ich auslagern. Wie mache ich das mit dem Rückgabewert bzw. return.. ?
Dravere schrieb:
1. Du schreibst aber nicht @":\\" ? ...
Nein.
Dravere schrieb:
2. Wo genau schaust du dir den Inhalt der Variable an? In der TextBox? Oder im Debugger mit "MouseOver"? Beim "MouseOver" im Debugger wird nämlich für einen Blackslash die Escape-Sequence angezeigt, also Backslash-Backslash.
Danke das war die Aufklärung, das wusste ich noch nicht. Bin im Debugger nach einem Breakpoint Step by Step vorgegangen und bekam sowohl beim Mouseover als auch in der Autoanzeige immer den "falschen" Wert angezeigt.
Das Scheitern der Ausführung hat aber einen anderen Grund gehabt, den ich durch mein Unwissen gar nicht erst erreicht habe. Tja man sollte sich die Exception-Message doch mal genauer ansehen.
Nochmal danke.
Vielleicht dürfte auch noch die andere Antwort in dem Thread auf Stackoverflow sinnvoll sein:
http://stackoverflow.com/a/9391762
Vor allem weil das die einzige Lösung ist, welche keinerlei Tricks verwendet. Das mit der Division setzt ja auf ein nicht weiter dokumentiertes Verhalten von Decimal .
12.24500m.ToString("#.#############################");
Oder auch weniger als 29 '#' hinter dem Komma, falls klar ist, dass die Zahlen sowieso nie mehr als x Nachkommastellen haben sollen.
Grüssli
blurry333 schrieb:
Hallo,
egal welches Objekt ich anlege, es hat immer 4 Methoden. Equals, GetHashCode, getType, ToString . Gebraucht habe ich bislang eigentlich nur die ToString Methode. Sind die anderen dann unnötiger Ballast ??
Nein, die Methoden sind kein unnoetiger Ballast. Du, bzw. das Framework benoetigt diese Methode an verschiedenen Stellen z.B. Vergleichsoperationen in Listen, Vergleichsoperationen von Objekten und kopieren von Objekten.
Okay, vielen Dank für die rasche Antwort.
Vielleicht kann ein Moderator den Thread ja in das richtige Unterforum schieben?
Das Einlesen bekomme ich nun ordentlich hin und die Fomatierung wird auch beibehalten. Nur haut er mir nach der Wahl der gewünschten Sortierung die sortierte Liste komplett durcheinander
Fehlermeldungen habe ich keine mehr, aber ich weiß auch nicht, wie ich das Problem lösen könnte
Grüße