Einzelnen Beitrag anzeigen

elevance

Registriert seit: 26. Mai 2005
8 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: große Textdateien in Stringlist laden

  Alt 20. Apr 2007, 15:02
Delphi-Quellcode:
var
  I: Integer;
  term:String;
  found:Boolean;
begin
  visibleChars := ['0'..'9','_','-', 'A'..'Z', 'a'..'z'];
  s := '';
  OpenDialog1.Execute;
  AssignFile(stdIn, opendialog1.FileName);
  Reset(stdIn);
  AssignFile(output, ExtractFilePath(ParamStr(0))+'temp.txt');
  Rewrite(output);
  while not Eof(stdIn) do
  begin
    Read(stdIn, c);
    if c in visibleChars then
      s := s + c
    else
    if Length(s) >= MIN_LENGTH then
    begin
      Write(s);
      s := '';
    end;
  end;
  CloseFile(output);
  CloseFile(stdIn);
  memo1.Lines.LoadFromFile(ExtractFilePath(ParamStr(0))+'temp.txt');
  for I := 1 to length(edit.text) do
  begin
    if edit.text[i] in visibleChars then
      term:=term+edit.text[i];
  end;
  found:=false;
  for I := 0 to memo1.Lines.Count-1 do
  begin
    if pos(term,memo1.Lines[i])>0 then
    found:=true;
  end;
  showmessage(BoolToStr(found));
end;
funktioniert das memo benutze ich nur während der Testphase, liege ich richtig dass eine Stringlist schneller wäre? Und noch zwei andere Fragen:
- lässt sich der Vorgang etwas beschleunigen bzw. wie lässt sich die Gesamtgröße der Quelldatei berechnen um einen Fortschritt in Prozent zu berechnen.
- und wie füge ich den Filterausdruck zB "#32" ein? Wie man zB eine Klammer einfügt habe ich verstanden, aber bei #32 gibt es einen Umwandlungsfehler.
  Mit Zitat antworten Zitat