Scotch hat folgendes geschrieben: |
Hallo,
ich muss mehrere große PostScript Dateien (ca. 40 MB pro Datei) nach dem Eintrag von z.B
<< /MediaType () /MediaWeight 80 /MediaColor (red) >> setpagedevice
durchsuchen und die Häufigkeit dieser Zeile zählen.
Meine Frage ist, ob ich dies großen Dateien in ein Memo laden und dann mit einer Suchfunktion durchsuche.
Oder ob es da eine elektivere Möglichkeit gibt.
Wenn ja würde ich mich über ein Beispiel freuen.
Gruß Ingo |
Hallo,
es ist selbstverständlich viel effektiver, nur eine Zeile in den Speicher zu laden und zu untersuchen, etwa so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| function CountTextInFile (var F : Text; TxtString : ShortString) : integer; var newline : ShortString; begin Result := 0; while not EOF (F) do begin readln (F,newline); if Pos (TxtString,newline) > 0 then Result := Result + 1; end; end; |
Die Datei muss geöffnet sein, oder du fügst Öffnen und Schliessen dazu und übergibst den Pfad.
Allerdings darfst du dich nicht wundern, wenn die überwiegende Mehrheit hier im Forum das komplette Einlesen der Datei in TStringList oder TMemo befürwortet, Effektivität ist einfach nicht cool.
Gruss Reinhard