Einzelnen Beitrag anzeigen

Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#3

Re: Bestimmte Bytefolge erkennen

  Alt 30. Dez 2006, 17:32
Also :

Am einfachsten machst du das mit einem Byte Array.

Delphi-Quellcode:

Var F:Tfilestream;
    b:Byte;
    Bytearr:array [0..5] of Byte;
begin
  assignfile(f,Dateiname);
  reset(f);
  while not eof(f) do begin
    f.read(b,sizeof(b)); // Lesen des nächsten Byte
    // Shift im Array
    bytearr[0] := bytearr[1];
    bytearr[1] := bytearr[2];
    bytearr[2] := bytearr[3];
    bytearr[3] := bytearr[4];
    bytearr[4] := bytearr[5];
    Bytearr[5] := b;
    // Nu Prüfst du ob deine Bitfolge in Bytearr ist.
    If (Bytearr[0] = Decimalwertvon('0D')) and
       (Bytearr[3] = Decimalwertvon('00')) and
       (Bytearr[4] = Decimalwertvon('00')) and
       (Bytearr[5] = Decimalwertvon('00')) then begin
      // Was auch immer
    end;
    If (Bytearr[0] = Decimalwertvon('0D')) and
       (Bytearr[3] = Decimalwertvon('00')) and
       (Bytearr[4] = Decimalwertvon('01')) and
       (Bytearr[5] = Decimalwertvon('5C')) then begin
      // Was auch immer
    end;
  end;
  closefile(f);
end;
Ist Blind gecoded und die Function Decimalwertvon must halt noch machen, aber das kann ja der win Taschenrechner auch schon.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat