AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi gibt es eine Funktion/Komponente die ein FileCRCSumme macht?

gibt es eine Funktion/Komponente die ein FileCRCSumme macht?

Ein Thema von LingNeu · begonnen am 12. Apr 2007 · letzter Beitrag vom 13. Apr 2007
Antwort Antwort
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#1

gibt es eine Funktion/Komponente die ein FileCRCSumme macht?

  Alt 12. Apr 2007, 16:36
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;
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: gibt es eine Funktion/Komponente die ein FileCRCSumme ma

  Alt 12. Apr 2007, 16:57
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
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: gibt es eine Funktion/Komponente die ein FileCRCSumme ma

  Alt 12. Apr 2007, 20:10
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;
Klaus
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: gibt es eine Funktion/Komponente die ein FileCRCSumme ma

  Alt 13. Apr 2007, 06:57
Hallo Klaus01,
da danke ich Dir trotzdem herzlich, weil ich jetzt wieder was dazugelernt habe!
ciao
LingNeu
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz