[gelöst] Große Textdatei durchsuchen "SetTextBuf" geht nicht

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Namos

[gelöst] Große Textdatei durchsuchen "SetTextBuf" geht nicht

Beitrag von Namos »

Hallo, um eine große Textdatei (ca. 100-200 MB) schnell zu durchsuchen und nicht so viel Speicher zu verbrauchen, mache ich das Zeilenweise (einen besseren Vorschlag habe ich noch nicht gefunden). SetTextBuf könnte den Vorgang beschleunigen (hatte ich irgendwo gelesen), aber der Compiler bringt immer folgenden Fehler: Wrong number of parameters specified for call to "SetTextBuf". Ich denke aber die Parameter sind richtig. Hier ist der Code:

Code: Alles auswählen

procedure TForm1.Button4Click(Sender: TObject);
const
  BufSize = 1024 * 1024;
var
  Zeile, Dateiname, TxtStr: String;
  Textdatei: Text;
  Buffer : array [0..BufSize] of Byte;
begin
  Dateiname:= 'Txt1.txt';
  TxtStr:= '';
 
  AssignFile(Textdatei,Dateiname);
  SetTextBuf(Textdatei, Buffer); //Fehler?
  Reset(Textdatei);
  while not eof(Textdatei) do
  begin
    Readln(Textdatei,Zeile);
    //mach was mit Zeile
  end;
  CloseFile(Textdatei);
 
  //Ausgabe
end;  
Zuletzt geändert von Namos am Mi 8. Mai 2013, 09:53, insgesamt 1-mal geändert.

Benutzeravatar
theo
Beiträge: 10899
Registriert: Mo 11. Sep 2006, 19:01

Re: Große Textdatei durchsuchen "SetTextBuf" geht nicht

Beitrag von theo »

Code: Alles auswählen

System.SetTextBuf(TextDatei,Buffer);

Namos

Re: Große Textdatei durchsuchen "SetTextBuf" geht nicht

Beitrag von Namos »

Danke genau so gehts !

Antworten