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. ?