Einzelnen Beitrag anzeigen

Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

CRC im Eigenbau...

  Alt 15. Apr 2009, 17:19
Hi,

ich habe mal 'ne Ferage zum CRC einer Datei. Meises Wissens ist es ja recht einfach einen CRC bzw. besser gesage eine Checksumme einer
Datei zu erstellen. Das einfachste dürfte nun mal sein eine Quersumme der in der/ einer Datei enthaltenen Bytes zu erstellen.

zB so:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  fs: TFileStream;
  c: integer;
  crc: int64;
  crc2: int64;
  count: integer;
begin
  fs := TFileStream.Create(ParamStr(0), fmOpenRead {or ...} );
  try
    c := 0;
    crc := 0;
    crc2 := 0;
    count := 0;

    fs.Position := 0;

    // "- sizeof(cardinal)" als Platzhalter
    while fs.Position <> fs.Size - sizeof(crc2) do
    begin
      fs.Read(c, 1);
      crc := crc + c + count; // count => zb. indexen der Nullwerte
    end;

    fs.Position := fs.Size - sizeof(crc2);
    fs.Read(crc2, sizeof(crc2));

  finally
    FreeAndNil(fs);
  end;

  if crc <> crc2 then Application.Terminate; // ...
end;

end.
Meine Frage dazu, wie könnte man das beschleunigen und wozu sind die CRC-Tabellen in Prüfalgor. ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat