So, hier mal meine Lösung:
Delphi-Quellcode:
FileExistsList:= TStringList.Create;
for i:= 0 to aList.Count-1 do
try
begin
IdFTP.List(FileExistsList, ExtractFilename(aList.Strings[i]), false);
If FileExistsList.Count < 1 then
IdFTP.Put(aList.Strings[i], ExtractFilename(aList.Strings[i])) else
begin
newFilename:= ansiReplaceText(ExtractFilename(aList.Strings[i]),
ExtractFileExt(ExtractFilename(aList.Strings[i])), '')
+'1'+ExtractFileExt(ExtractFilename(aList.Strings[i]));
IdFTP.Put(aList.Strings[i], newFilename);
end;
FileExistsList.Clear;
end;
except
...
Die Methode(hier nur ein Ausschnitt) soll alle in aList enthaltenen Dateien(in der Liste steht nat. nur der Pfad) auf den
FTP-Server kopieren. Bevor sie das mit idFTP.put() macht, guckt sie per idFTP.List() auf dem Server nach, ob eine Datei mit dem Namen vorliegt. Wenn ja, schreibt sie den Namen der Datei in die FileExstists-Liste.
Ich brauche in jedem Schleifendurchgang also nur gucken, ob in dieser Liste was drinsteht. Ist das der Fall wird die hochzuladene Datei unter anderem Namen abgespeichert, hier in diesem Beispiel wird an den Namen nur ne 1 gehängt.
Vielleicht kanns ja mal wer gebrauchen...
Gruß
Gambit