kleines Update:
Das muss nat. auch bei weiteren Versuchen funzen. Beispiel: man hat das File test.txt, welches auf dem Server schon existiert. Dann würde meine erste Version oben beim ersten mal test1.txt draus machen. Gut, versucht aber jemand noch einmal test.txt hochzuladen, würde test1.txt wieder überschrieben was ja nicht sein soll. Es müsste dann test2.txt entstehen. Deswegen folgende Änderung:
Delphi-Quellcode:
FileExistsList:= TStringList.Create;
for i:= 0 to aList.Count-1 do
try
if checkPicture(aList, i) then
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
repeat
j:= j+1;
FileExistsList.Clear;
newFilename:= ansiReplaceText(ExtractFilename(aList.Strings[i]),
ExtractFileExt(ExtractFilename(aList.Strings[i])), '')
+IntToStr(j)+ExtractFileExt(ExtractFilename(aList.Strings[i]));
IdFTP.List(FileExistsList, newFilename, false);
until FileExistsList.Count < 1;
IdFTP.Put(aList.Strings[i], newFilename);
end;
end;
except
...