Hallo Leute.
Ist echt schwer einen passenden Titel zu finden
Also ich hab ein Programm, welches die Daten aus einer Liste auslesen soll.
Die Liste sieht so aus:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| L(PNAME,16) ENAME L(ANAME,33) ADAP DATUM UHRZEIT GWERT
BEHRENS. IRIS Begriffe dt. Varianten -999 16.11.2004 16:47:50 4.6667 BEHRENS. IRIS Begriffe dt. Varianten -999 22.11.2004 08:52:46 13.1667 BEHRENS. IRIS Begriffe dt. Varianten -999 23.11.2004 08:42:49 14.8333 BEHRENS. IRIS Begriffe dt. Varianten -999 09.12.2004 08:32:12 8.2500 BEHRENS. IRIS Begriffe dt. Varianten -999 13.12.2004 08:23:55 9.8333 BEHRENS. IRIS Begriffe dt. Varianten -999 14.12.2004 08:25:34 9.8333 BEHRENS. IRIS Bildarchiv b. Mauer free recall -999 25.11.2004 09:09:33 92.8571 BEHRENS. IRIS Bildarchiv b. Mauer free recall -999 26.11.2004 09:04:27 92.8571 BEHRENS. IRIS Bildarchiv b. Mauer free recall -999 29.11.2004 09:08:43 100.0000 BEHRENS. IRIS Bildarchiv b. Mauer free recall -999 30.11.2004 09:15:35 100.0000 |
Nun hab ich diese Liste in eine ListView reingeladen, was ja soweit auch noch super klappte.
Hier auch nochmal ein Dankeschön an das Forum, welches mir hierbei sehr geholfen hat.
Nun möchte ich allerdings hinter dem GWERT noch eine weitere Spalte machen mit dem Ergebnistext, da erscheint dann entweder "Fehler in Prozent" oder "Richtige in Prozent" oder "Pluspunkte pro Aufgabe" usw.
Dazu ist zu sagen, das die Liste aus einem anderen Programm kommt, wo insgesamt über 400 Aufgaben enthalten sind.
Nun habe ich das Problem so gelöst, dass ich ein Array erzeugt habe, was über 400 Bereiche hat (array [1..482, 1..4] of string)
erstellt habe und dort für jede Aufgabe den Ergebnistext und weitere Informationen gespeichert habe.
Wenn ich nun die Liste anzeigen möchte, dann durchsucht er bei jeder Zeile der Datei auch einmal das komplette Array.
Und wenn nun diese Datei über 200 Einträge hat, dann würde er 200 mal ein Array aufrufen, welches über 400 Einträge hat, die er durchsuchen muss.
Mein Problem: Seit ich das nun habe, stürzt das Programm mir unregelmäßig ab. Manchmal funktionierte es und manchmal nicht. Jetzt klappt es gar nicht mehr.
Meine Frage: Habt ihr eine Idee, wie man dieses durchsuchen optimieren kann?
Einige Infos noch dazu:
- Diese über 400 Aufgaben unterteilen sich noch einmal in verschiedene Bereiche (Mathe, Deutsch usw.)
- Nicht jede Aufgabe hat einen anderen Ergebnistext (Viele haben den Text Pluspunkte pro Aufgabe, andere wieder einen anderen)
- Zur Zeit läuft meine Suchabfrage so ab:
Delphi-Quelltext
1: 2: 3: 4: 5:
| for Counting = 0 to High(AAufgaben) do begin if x = AAufgaben[Counting, 2] then ergebnis := AAufgaben[counting, 3]; end; |
In X ist der name der Aufgabe enthalten
AAufgaben ist das Array
AAufgaben[Counting, 2] im 2 ist auch die Aufgabe enthalten
AAufgaben[Counting, 3] hier ist der Ergebnistext enthalten.
Ich hoffe ihr könnt mir ein paar Denkanstöße geben, wie ich das optimieren kann!
Vielen dank schonmal im Vorraus
Those who understand binary code and those who don't understand.