Hi Luckie.
Ich hab mal versucht Deinen Code einzubauen.
Irgendwie stimmts vorn und hinten nicht:
Delphi-Quellcode:
function TMainForm.DownloadFile(const SrcFilename, DestFilename: String):String;
begin
IdFTP1.TransferType := ftBinary;
BytesToTransfer := IdFTP1.Size(SrcFilename);
if FileExists(SrcFilename) then begin
case MessageDlg('Datei existiert bereits. Willst Du mit dem Download weitermachen?',
mtConfirmation, mbYesNoCancel, 0) of
mrYes: begin
BytesToTransfer := BytesToTransfer - FileSizeByName(SrcFilename);
IdFTP1.get(SrcFilename, DestFilename, false, true);
end;
mrNo: begin
IdFTP1.get(SrcFilename, DestFilename, true);
end;
mrCancel: begin
exit;
end;
end;
end
else begin
IdFTP1.get(SrcFilename, DestFilename, false);
end;
end;
procedure TMainForm.DirectoryListBoxDblClick(Sender: TObject);
var
Name, Line : String;
i: integer;
begin
Name := IdFTP1.DirectoryListing.Items[DirectoryListBox.ItemIndex].FileName;
for i := 0 to Listbox1.Items.Count - 1 do
begin
if DirectoryListBox.Selected[i] then
DownloadFile(Name, Edit4.text+'\'+Name);
end;
end;
Ich hoffe, das wenigstens die Funktion richtig ist. Der Downloadbefehl passt noch nicht.
Ich muss in diese Zeile den Integer einbauen:
Name := IdFTP1.DirectoryListing.Items[DirectoryListBox.ItemIndex].FileName;
Ich bekomme jetzt immer folgende Fehlermeldungen:
Listindex out of bounds (20) bzw dass die Datei schon existiert, wenn ich sie nochmal runterlade. Ergo greift die Funktion irgendwie noch nicht richtig ...
Ich hatte auch ne Schleife hinbekommen, aber diese funktionierte nicht. Es wurde nichts herruntergeladen und sie hörte nicht auf. Da ich noch ein Schleifen-Noob bin muss ich mir die Schleifen genauer ansehen ...