Autor Beitrag
Scotch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101


Delphi 6 Prof
BeitragVerfasst: So 07.10.07 13:06 
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
Reinhard Kern
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 591
Erhaltene Danke: 14



BeitragVerfasst: So 07.10.07 15:47 
user profile iconScotch 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:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
function CountTextInFile (var F : Text; TxtString : ShortString) : integer; { untested! }
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
Scotch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 101


Delphi 6 Prof
BeitragVerfasst: So 07.10.07 16:21 
Hallo Reinhard,
danke für die schnelle Antwort.
Der Mensch geht halt den Weg des geringeren Widerstandes. :lol:
Ich werde dein Beispiel mal ausprobieren.
Den Inhalt muss ich mir auch nicht unbedingt ansehen, ich muss nur eine Analyse der PS Datei machen
und mir das Ergebnis ausgeben lassen.
Gruß Ingo