Thema: Delphi Datei durchsuchen

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.153 Beiträge
 
Delphi 12 Athens
 
#5

Re: Datei durchsuchen

  Alt 5. Mär 2009, 09:16
hmmm , komm in HexCodeList z.B. die #0 als Zeichen vor?
bzw, wie sieht denn der Inhalt von HexCodeList aus?
[add]achsi, du wandelst die eingelesenen Daten in einen HexString um ... da mußt du aber aufpassen, daß die Suchposition auch der Startposition einen Zeichens entspricht

Daten 12AB
Suchwort 2A
wäre ja sint enthalten, aber nicht nicht in der Datei drin
[/add]


deine PChar-Functionen brechen dort ab.

Den vohin oben nacheditieren Vorschlag:
(zwar jetzt nur für einen String, aber das sollte sich ändern lassen ... und beim Löschen des Puffers den die Länge des längsten String verwenden)
Delphi-Quellcode:
Const BufferSize = 65536;

Var F: TFileStream;
  P, L: Int64;
  Buffer: AnsiString;
  i: Integer;

Begin
  F := TFileStream.Create(FileName, fmOpenRead);
  L := F.Size;
  Buffer := '';
  While P + Length(Buffer) < L do Begin
    i := Length(Buffer);
    SetLength(Buffer, i + BufferSize);
    SetLength(Buffer, i + F.Read(Buffer[i + 1], BufferSize));
    If Pos(SerarchData, Buffer) > 0 Then
      Found;
    Delete(Buffer, 1, Length(Buffer) - Length(SearchData) + 1);
  End;
  F.Free;
End;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat