![]() |
gibt es eine Funktion/Komponente die ein FileCRCSumme macht?
Hallo Delphifreunde,
habe im Board schon nach sowas wie Prüfsumme und CRC gesucht. Leider funktionieren die Sachen nicht bei meinem D7. Die TorryFunktion bringt auch Fehlermeldungen. Da ich noch nicht so fit bin, kann ich mit der Fehlermeldung nichts anfangen. Hat jemand eine Idee, wie ich es schaffe, eine CRC-Nummer von einer Datei unter D7 zu bekommen Wäre mehr als dankbar für jeden Hinweis. Vielen Dank LingNeu
Delphi-Quellcode:
//Torry-Code
//Fehlermeldung bei Close(F) - zuviele Parameter function TForm1.GetCheckSum(FileName: string): DWORD; var F: file of DWORD; P: Pointer; Fsize: DWORD; Buffer: array [0..500] of DWORD; begin FileMode := 0; AssignFile(F, FileName); Reset(F); Seek(F, FileSize(F) div 2); Fsize := FileSize(F) - 1 - FilePos(F); if Fsize > 500 then Fsize := 500; BlockRead(F, Buffer, Fsize); Close(F); P := @Buffer; asm xor eax, eax xor ecx, ecx mov edi , p @again: add eax, [edi + 4*ecx] inc ecx cmp ecx, fsize jl @again mov @result, eax end; end; |
Re: gibt es eine Funktion/Komponente die ein FileCRCSumme ma
Hallo Delphifreunde,
jetzt bin ich doch noch fündig geworden unter Torry-Net Es funktioniert einwandfrei unter D7 Vielen Dank für Eure Mühen LingNeu |
Re: gibt es eine Funktion/Komponente die ein FileCRCSumme ma
Auch wenn es nicht mehr notwendig ist:
Delphi-Quellcode:
//Torry-Code
//ohne Fehlermeldung bei Close(F) - zuviele Parameter function TForm1.GetCheckSum(FileName: string): DWORD; var F: file of DWORD; P: Pointer; Fsize: DWORD; Buffer: array [0..500] of DWORD; begin FileMode := 0; AssignFile(F, FileName); Reset(F); Seek(F, FileSize(F) div 2); Fsize := FileSize(F) - 1 - FilePos(F); if Fsize > 500 then Fsize := 500; BlockRead(F, Buffer, Fsize); FileClose(F); // <------ P := @Buffer; asm xor eax, eax xor ecx, ecx mov edi , p @again: add eax, [edi + 4*ecx] inc ecx cmp ecx, fsize jl @again mov @result, eax end; end; |
Re: gibt es eine Funktion/Komponente die ein FileCRCSumme ma
Hallo Klaus01,
da danke ich Dir trotzdem herzlich, weil ich jetzt wieder was dazugelernt habe! ciao LingNeu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz