Hi,
* das Sortieren is nur dann sinnvoll wenn du mehrmals Elemente in dieser Liste suchen musst. Wenn du nur einmal Werte aus der Liste lesen willst ist ein Linq.Where schneller da das Sortieren entfällt.
* bei einer SortedList könntest du den Index des ersten Elementes geben lassen der den Kriterien entspricht und den Index des ersten der den Kriterient nicht mehr entspricht (der erste der größer ist als der Suchbereich). Dann kannst du zwischen den beiden Indizies iterieren.
Wenn der Schoner an ist, wird normalerweis an dem Arbeitsplatz nicht gearbeitet.
Das hat aber die Software nicht zu entscheiden ob der Benutzer dann vor dem Rechner hockt und pennt oder auswärts ist.
Es gibt verschiedene Softwaretypen welche dieses Problem lösen müssen, beispelsweise VOIP. Wenn ein Anruf reinkommt muss der Softwareclient TopMost angezigt werden, wenn ein Fullscreen-Window angezeigt wird muss dieses eben minimiert werden damit der Client sichtbar wird.
Ich bilde mir ein dass es dafür eine Windows-API seit XP oder so gibt - man meldet die Software dort an und wenn ein Signal reinkommt kann man der Api signalisieren dass das Fenster jetzt angezeigt werden muss.
Vllt mal googeln oder im Sourcecode passender Software schauen.
Hallo,
am Besten ist es wenn du die Daten in einer Tabelle anzeigst und dort eine Gruppe einfügst, "Lieferscheinnummer", nach dieser gruppierst und sagst dass der Gruppenkopf angezeigt werden soll. In den Gruppenkopf kommt die Lieferscheinnummer, in den Detailzeilen die Bestellpositionen.
...dann speichere die Welt doch nicht in einem dreidimensionalen Würfel sondern in einer geeigneten Baumstruktur die neben- bzw. übereinanderliegende Blöcke mit denselben Eigenschaften als ein Objekt zusammenfasst.
Da der Zugriff schnell erfolgen soll und die gespeicherten Datenmengen im RAM halbwegs im Rahmen bleiben sollen, grüble ich darüber nach, wie ich das am effizientesten machen kann.
Du könntest dich mal mit dem Muster Fliegengewicht / flyweight pattern beschäftigen.
Hol dir das SQL welches zur Aktualisierung der DB generiert wird und führe es manuell aus. Du siehst ja dann welche Where-Bedingungen im SQL sind bzw. woran es scheitert (also warum keine Zeile aktualisiert wird)
Aber was sollen wir dir denn jetzt sagen? Wir wissen es nicht welche konkreten Anforderungen du hast. Also musst du entweder selber einen Prototypen bauen oder gleich auf eine andere Programmierumgebung ausweichen, vllt C++ mit eigenen Mem-Allokatoren.
Du kannst mal das PDF mit einem anderen Werkzeug generieren (vllt das PDF in einem PDF-Printer drucken) um zu schauen ob es dann weniger Speicher verbraucht, also iTextSharp ineffizient arbeitet.
Ich meinte dass du mal mit Wireshark den Datenverkehr mitschneiden sollst um festzustellen ob Anfragen von Rechner aus gesendet werden und Antworten vom Thermometer kommen. Des weitreren gibt es doch sicherlich Oids die so einfach sind dass jedes Gerät antwortet wie z.B. Versionsnummer o.ä.
...dann wären doch die nächsten logischen Schritte
* zu testen ob Daten übertragen werden
* es mal mit einer SNMP-Nummernkette zu probieren wo das Gerät bekanntermasßen antwortet
Na weil die einzelnen Ausgabeformate unterschiedlich sind. Es gibt seitenorientierte und Endlosdokumente. Vlltmal mit Angabe der Seitenränder rumspielen bis alles passt.