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]