Hallo folgendes Problem:
Ich hab mithilfe der IdFTP (
Indy 10) Komponente einen kleinen Client gebaut, allerdings stehe ich momentan noch vor einem Problem. Und zwar hier mein bisheriger Code:
Delphi-Quellcode:
var
vI: Integer;
vItem: TListItem;
vStrList: TStringList;
begin
vStrList := TStringList.Create;
IdFTP1.Connect();
IdFTP1.List(vStrList,'',false);
for vI := 0 to vStrList.Count -1 do begin
vItem := listView1.Items.Add;
vItem.Caption := vStrList[vI];
end;
Label1.Caption := IntToStr(IdFTP1.DirectoryListing.Count);
end;
Geht soweit auch alles, ich möchte aber die Details zu den Ordnern / Files auch haben.
Deshalb hab ich bei der Methode List den letzten Parameter auf true gestellt (ADetails), damit auch die Details erscheinen.
Wenn ich den Code so lasse, dann stehen im Ordner / Filenamen auch die anderen Details wie Größe / Owner. Naja deshalb hab ich ihn ein wenig umgebaut, wie er meiner Meinung nach funktionieren sollte.
Delphi-Quellcode:
var
vI: Integer;
vItem: TListItem;
vStrList: TStringList;
begin
vStrList := TStringList.Create;
IdFTP1.Connect();
IdFTP1.List(vStrList,'',true);
for vI := 0 to IdFTP1.DirectoryListing.Count -1 do begin
vItem := listView1.Items.Add;
vItem.Caption := IdFTP1.DirectoryListing.Items[vI].FileName;
end;
Label1.Caption := IntToStr(IdFTP1.DirectoryListing.Count);
end;
Das komische is, dass DirectoryListing.Count, also die letzte Zeile 0 ausgibt, obwohl DirectoryListing ja gefüllt werden müsste. Hab sicherheitshalber auch in der
Indy Hilfe nachgeschaut, da steht sobald auf DirectoryListing zugegriffen wird, wird die Struktur gefüllt. Scheint aber nicht so, irgendwo is da noch ein Hund begraben und ich find ihn ned
Achja wegen SuFu: Gibt zwar einige Threads zu dem Thema, allerdings keinen, der mir zu meinem Problem ne Antwort gibt. Ich weiß nicht mehr weiter. Ich weiß dass ich früher, als ich mit Delphi angefangen hab auch schon mal vor demselben Problem gestanden bin, wobei ich da dann irgendwo im INet eine Demo gefunden hatte, wo ne ListView zur Anzeige der Daten genommen wurde. Nur die find ich jetzt natürlich auch nicht mehr...