Also -
Die Textdatei ist eine echte Textdatei, keine Datenbank, kein RDBMS...
Die alte/neue Methode war "InputListe.LoadFromFile()". Aus der Textdatei wird nur gelesen, nix geschrieben, nix geändert.
Beispiel:
26:00097498:ElqVDS+YMuVgzdjLQouYOQjTDwo= (= Kodierung für Icon, Kodierung für Anzeige, Text)
Normale Suche für Klartext, Dummystring ist nur getauscht gegen die Rückgabe der Entschlüsselung.
Delphi-Quellcode:
if trim(ComboBox_Suchen.text) <> '' then begin
if trim(ComboBox_Suchen.text) = Sprachnummer(341) then // Alle ( 12 MB File!)
InputListe.LoadFromFile( Suche_Dir + 'VOLLTS.txt'); // 341 = Alle Kapitel
if trim(ComboBox_Suchen.text) <> Sprachnummer(341) then
InputListe.LoadFromFile( Suche_Dir + 'VS_' + trim(ComboBox_Suchen.text) + '.txt');
...
S_1 := trim(Ansilowercase(Search_1.text));
S_2 := trim(Ansilowercase(Search_2.text));
for i := 0 to InputListe.count -1 do begin
Dummystring := Ansilowercase(Entschluesseln(CodeB, copy(InputListe.strings[i], 13,
Length(InputListe.strings[i]) - 12)));
...
// folgt der Vergleich und was damit zu tun ist
Habe zwar auch Luckies Versionen getestet (auch mit Klartext)
http:
//www.delphipraxis.net/topic65395_datei+im+speicher+zeilenweise+lesen.htm l&highlight=zeilenweise
allerdings ist die Performance ziemlich gleich, da war mir die
VCL bequemer.
So - und jetzt frag ich mich, wie kann man 25 MB Daten entschlüsseln und checken könnte, ohne daß man zwischendurch Kaffee kochen gehen kann?!?
Okay?
Wenn die Programme das machen, wie's wir machen, wären sie unbrauchbar...