Hallo :>
Ich habe Folgendes Problem:
ich lade in eine ListView den Inhalt einer Datei. In dieser Datei stehen Dateinamen und deren CRC32 Wert. Nun Prüfe ich wenn die Datei geladen wird, ob die Dateien die in dieser sogenannten SFV file stehen auch in diesem DIR gibt, so adde ich diese mit der FileSize in das ListView.
ist die File aber nicht da, schreib ich in das ListView als SubItem 'not found'
Nun Sollen auch alle gefundenen Files auch gleichzeitig die CheckBox aktiviert werden. jedoch scheitert da mein Source (ohne jegliche Fehlermeldung) ...
Delphi-Quellcode:
procedure TForm1.Open1Click(Sender: TObject);
var
sfvfile: TStrings;
filen: string;
i: integer;
item: TListitem;
begin
if opendialog1.Execute then
begin
// ListView Clearen und Status auf 0 setzen
ListView1.Items.Clear;
ClearStatus;
// SFV File auslesen
sfvfile := TStringList.Create;
sfvfile.LoadFromFile(opendialog1.FileName);
for i := 0 to sfvfile.Count - 1 do
begin
// Kommentare überspringen
if (Pos(';', sfvfile.Strings[i]) = 1) or (Pos(' ', sfvfile.Strings[i]) = 1) then
continue;
filen := Copy(sfvfile.Strings[i], 1,Pos(' ', sfvfile.Strings[i]) - 1);
// Existiert Datei -> Subitem[size] - Dateigroesse -> Checke Listeneintrag
if fileexists(filen) then
begin
item := Listview1.Items.Add;
item.SubItems.Add(filen);
item.SubItems.Add(IntToStr(GetFileSize(filen)));
filen := sfvfile.Strings[i];
Delete(filen, 1,Pos(' ', sfvfile.Strings[i]));
filen := Trim(filen);
item.SubItems.Add(filen);
item.SubItems.Add(''); // do not remove !!!
ListView1.Items.Item[item.index].Checked := fileexists(filen);
end
// Existiert datei NICHT -> Subitem[size] - not found
else
begin
if length(filen) = 0 then continue;
item := Listview1.Items.Add;
item.SubItems.Add(filen);
item.SubItems.Add('not found');
item.SubItems.Add(''); // do not remove !!!
item.SubItems.Add(''); // do not remove !!!
end;
end;
// SFV File freigeben | Start Button enablen | Alle Not Found Files zählen
sfvfile.Free;
Start1.Enabled := True;
Label3.Caption := IntToStr(NotFound(ListView1)) + ' Not Found';
end;
end;
[edit=Daniel B]Delphi-Tags ergänzt. MFG Daniel B.[/edit]