Einzelnen Beitrag anzeigen

sharkx

Registriert seit: 25. Feb 2003
Ort: St. Ingbert
211 Beiträge
 
Delphi 7 Enterprise
 
#1

DFCRC32 --> problem bei der procedur ansprechung

  Alt 26. Apr 2003, 16:20
Hallo :>

Ich benutze folgende Procedur um dateien zu vergleichen (CRC32 -> Sfv file)

Delphi-Quellcode:
function DFCheckSFV(Directory, SFVFileName: string; CallBackPerFile: DFCheckSFVFile): boolean;
var
  vSL: TStringList;
  Cnt: integer;
  FileName: string;
begin
  Result := false;
  if Directory[Length(Directory)] <> '\then
    Directory := Directory + '\';

  vSL := TStringList.Create;
  try
    vSL.LoadFromFile(SFVFileName);
    for Cnt := 0 to vSL.Count - 1 do
      vSL[Cnt] := Trim(vSL[Cnt]);
    for Cnt := 0 to vSL.Count - 1 do
    begin
      if vSL[Cnt][1] <> ';then
      begin
        FileName := Trim(Copy(vSL[Cnt], 1, Length(vSL[Cnt]) - 8));
        if Copy(vSL[Cnt], Length(vSL[Cnt]) - 7, 8) <> DFCalcCRC32(Directory + FileName) then
        begin
          if assigned(CallBackPerFile) then
            CallBackPerFile(Directory + FileName, false)
          else
            exit;
        end
        else
          if assigned(CallBackPerFile) then
            CallBackPerFile(Directory + FileName, true);
      end;
    end;
  finally
    vSL.Free;
  end;
  Result := true;
end;

Leider kapiere ich nicht wie ich diese procedur aufrufe?!

Aus der Dazugehörigen hilfe:

Zitat:
{
Vergleicht die in einer SFV-Datei befindlichen Prüfsummen von Dateien mit den Dateien in einem bestimmten
Verzeichnis.
Parameter:
Directory: Pfad zum Verzeichnis der zu prüfenden Dateien (es können nur Dateien in einem Verzeichnis
geprüft werden, da in der SFV-Datei die Dateinamen ohne Pfad stehen)
SFVFileName: Name der SFV-Datei
CallBackPerFile: nil oder eine Callback-Funktion mit der folgenden Signatur:
DFCheckSFVFile = procedure(FileName: string; OK: boolean);
Für jede Datei wird der Dateiname und das Ergebnis der Prüfung übergeben
Rückgabe: Ergebnis des gesamten Checks der SFV-Datei
}
function DFCheckSFV(Directory, SFVFileName: string; CallBackPerFile: DFCheckSFVFile): boolean;
so müsste doch das Aufrufen der Procedur wie folgt aussehen?!:

Delphi-Quellcode:
procedure TForm1.Start1Click(Sender: TObject);
begin
  DFCheckSFVFile(OpenDialog1.File: string; OK: boolean);

Da ich auch noch sehr sehr wenig mit Treads und der gleichem gemacht habe, wäre es sehr nett wenn einer mir die genaue Funktion von denen Variablen, Functionen und ähnlichem was in dieser DFCheckSFVFile(...) steht, erklärt.

Nach etlichen google versuchen, sowie das recherchieren in verschienden Foren hat mir leider nicht das Ergebniss gegeben was ich mir erhofft hatte.


Vielen dank im vorraus :>

[edit=Daniel B]Delphi-Tags ergänzt. MfG Daniel B.[/edit]
  Mit Zitat antworten Zitat