Suchergebnisse
Suchergebnisse 1-14 von insgesamt 14.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
Hallo zusammen, ich habe keine spezifische Frage, sondern wollte euch nur von meinem aktuellen Projekt berichten. Ich arbeite derzeit an einem Programm, das eine Datei eines bestimmten Formats einliest und die darin enthaltenen Werte auf der Benutzeroberfläche anzeigt. Um sicherzustellen, dass das Auslesen in meinem Programm fehlerfrei ist, habe ich bereits Dateien aus verschiedenen Quellen verwendet und getestet. (Es ist erstaunlich, wie große Unterschiede auftreten können, selbst wenn der Stan…
-
Aber musst du denn die 820441 alle mit einem mal laden? Sind alles einzelne "items", also ja. Und falls ja kann man ja nach so und so viele Zeilen aussteigen Mach ich jetzt auch, siehe Code in Post 1. Wenn das Item länger als 100 Zeichen ist, nehme ich das nicht mit.
-
Ich möchte mich an den Standard halten und der sagt nichts zum trennen. Wobei ich mit TrimChars() vorangestellte Steuerzeichen aus dem String entferne, damit man ein vernünftiges Leseerlebnis hat. Seien wir ehrlich – 820441 sind einfach zu viel. Wer will das lesen in einer kleinen Listbox.
-
@ErfinderDesRades ich hab post#1 noch nicht recht verstanden: Bedeutet das, dass du in einer uTube-Video-DownLoad-Datei von 55MB 880KB klartext drin enthalten war?Alles MetaDaten zum gezeigten Video?Und um aus den 55MB die 880KB Klartext auszulesen benötigt dein Proggi 70s und bläht sich auf 640MB Arbeitsspeicher auf? Sehr gut verstanden Vielleicht hast du ja nur die bekannte "Todsünde" begangen, dass du denselben String in einer Schleife immer weiter verlängerst. Sowas würde zum genannten Fehlv…
-
j wird außerdem um eine Boxgröße erhöht: j += CInt(boxSize1) - 1 Ansonsten ziemlich ineffektiv ist es, da vermutlich ziemlich oft einen MemoryStream zu bilden aus dem gesamten Data. Dieser Stream nimmt zwar das Bytearray Data als Grundlage, liest aber nur die Größe von processedData ein, beginnend ab j+4. Deswegen verstehe ich deine Aussage nicht. VB.NET-Quellcode (6 Zeilen)
-
@EdR: Mit Array.Copy läuft es ein paar Sekunden schneller. Arbeitsspeichernutzung ist immer noch über 400 MB. VB.NET-Quellcode (2 Zeilen) @Haudruferzappeltnoch Ein Stream müsste ja reichen oder? Nein, ich habe viele Funktionen, die kleine Portionen aus der Datei entnehmen. Das Ganze läuft objektorientiert und nach einer bestimmten Reihenfolge.
-
Ok, ich denke, hier kommen wir nicht weiter. Um das Thema zu beenden: Ich werde den 820KB-String nicht in der Oberfläche anzeigen. Viele Grüße Bartosz
-
Hallo, ich habe nun neue Erkenntnisse. Ich habe mir ein Testprojekt erstellt, in dem ich eine Datei schreibe, die 818126 Bytes groß ist – bestehend aus vb-paradise.de/index.php/Attachment/54415/ Der Inhalt von data beträgt 818110 Zeichen, einfach random Zahlen von 32 bis 127 zu einem Char gemacht. Das Ganze sieht nun so aus: vb-paradise.de/index.php/Attachment/54414/ Diese Datei ist im Anhang. Ich habe dann ein weiteres Testprojekt erstellt, das diese Datei einliest. Ich habe dazu meine Get_User…
-
Ich gede dir grundsätzlich Recht. Allerdings sind in meiner Testtextdatei im data-Part keine Steuerzeichen enthalten.
-
Hallo ErfinderDesRades, im heutigen Testprojekt gibt es einen String mit einer Länge von 818110 Zeichen (s. Textdatei im Anhang aus Post Nr. 19). Den Code hänge ich als zip an. Ich verstehe, was du möchtest, allerdings kann ich dir mit dem Binding nicht ganz folgen. Danke für deine Hilfe.
-
Aber das ist so vorgekommen. In der Originaldatei gibt es neben vielen kleinen Strings (2× 920 Zeichen, 1× 80 Zeichen) diesen Riesenstring.
-
Zitat: „mit Länge 17.“ Hast du den Teil auskommentiert? Das dient zum Schutz vor Riesen-Strings. Das muss auskommentiert werden. VB.NET-Quellcode (4 Zeilen)
-
Ich bedanke mich bei euch!
-
Vielen lieben Dank für deine Ausarbeitung. ArraySegment ist neu für mich. Danke dafür. Mir fällt auch auf, dass man nicht mehr auf Indizes (Data(i)) angewiesen ist und damit eine Datei, die größer als 2GB ist, lesen kann. Man bräuchte dann nur eine Implementierung für alle Boxen, also nicht nur udta. Aber darum geht es hier nicht. Ich setze den Thread auf erledigt.