VisualBasic Daten zwischenspeichern\vorhalten

schmidmi

Lt. Commander
Registriert
Feb. 2007
Beiträge
1.823
Ich möchte eine wirklich riesige Textdatei in mein Programm einlesen, diese nach bestimmten Kriterien zerlegen und während der Laufzeit des Programms diese irgendwie vorhalten.
Zucächst interessieren mich von der Datei nur die Zeilen die mit Wert beginnen.
Dann sind die einzelnen Positionen durch bestimmte Schlagwörter getrennt.

Ich habe schon alle Zeilen in ein Array eingelesen und dann nur die die mit Wert beginnen in ein anderes Array übernommen.
Dann suche ich nach den Schlüsselwörtern und merke mir deren Position.
Anschließend erstelle ich ein 2-dimensionales Array das genausoviele Spalten hat wie es Positionen gibt und soviele Zeilen wie die längste Position.
Nun habe ich allerdings Positionen mit 20 Zeilen und andere mit etwa 1700 Zeilen.
Ich möchte nach Auswahl der Position durch einen RadioButton nun den Inhalt der entsprechenden Spalte des Arrays in einer Listbox ausgeben.

Das Ganze funktioniert auch soweit, dauert aber ewig weil ständig riesige Arrays durchsucht werden müssen.
Ich glaube es ist einfach der falsche Weg.

Wie kann ich es besser machen?
 
Nimm ein (Generic)Hashtable, das sollte bedeutend schneller sein
 
@Blitzmerker: So ungefähr mache ich es zur Zeit auch. Das ist aber zu langsam weil ich die Datei erst einlese und dann mehrfach bearbeite.

@olampl: Das muss ich mir erstmal ansehen. Damit habe ich noch nichts gemacht.
 
Code:
dim a as String
dim x () as string
'a = Dateiinhalt
X = split (a,"Trennzeichen")

Das müsste schneller sein. Wenn nicht musst du zu C++ greifen. Ist deine Datei den noch von VB lesbar (von der Größe her)?
mfg Verata
 
Zuletzt bearbeitet:

Ähnliche Themen

T
Antworten
0
Aufrufe
1.037
toilette
T
Zurück
Oben