Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#13

Re: In Binärdatei suchen

  Alt 13. Jan 2007, 15:38
Hallo Ares,

versuche es mal mit dieser Änderung:

Delphi-Quellcode:
// chunk := Max(BUFSIZE, s.Size - s.Position);
chunk := Min(BUFSIZE, s.Size - s.Position); // Min() statt Max()
SetLength(buffer, chunk);
s.Read(buffer[1], chunk);
Ein kleiner Fehler, der aber sehr schnell passiert. Man möchte eine maximale Puffergröße angeben, muß aber dazu die Funktion Min() benutzen. Die Fallunterscheidung habe ich entfernt - sie wird meiner Meinung nach nicht mehr benötigt.

Noch ein Hinweis: wenn der Suchstring mehrere Bytes enthält, befindet er sich eventuell nur zum Teil in einem Puffer und wird dann im nächsten fortgesetzt. Diesen Sonderfall mußt du bei der Untersuchung des Pufferinhalts berücksichtigen. Wie man so etwas prinzipiell angehen kann, findest du in diesem Thread.

Gruß Hawkeye
  Mit Zitat antworten Zitat