-
Michael (19.08.08 11:12) [0]Извиняюсь за окровенный оффтоп, но поиск результата не дал.
Ответ по ссылке http://www.delphikingdom.ru/asp/answer.asp?IDAnswer=22877
С использованием FileAge почему-то не работает.
Задачу решил, однако, как мне кажется, не совсем оптимально - перебираю все файлы и сравниваю имя с искомым.
Примерно так:
for iCnt := 0 to IdFTP1.DirectoryListing.Count-1 do
if IdFTP1.DirectoryListing.Items[iCnt].FileName = target_file_name then ...
Не подскажете, существует ли более правильное решение, например - аналог SysUtil -кого FileExists?
Спасибо. -
Dennis I. Komarov © (19.08.08 13:09) [1]WinInet + FtpFindFist + F1
-
Michael (19.08.08 14:17) [2]Насколько я понимаю, использование
function FtpFindFirstFile(hConnect: HINTERNET; lpszSearchFile: PChar;
var lpFindFileData: TWin32FindData; dwFlags: DWORD;
dwContext: DWORD): HINTERNET;
невозможно без хэндла соединения. То есть, используя для соединения Indy, воспользоваться данной функцией нельзя? -
Dennis I. Komarov © (19.08.08 14:44) [3]Инди живет отдельной жизнью...
http://www.rsdn.ru/article/inet/inetapi.xml -
clickmaker © (19.08.08 15:09) [4]list filename.ext
или nlst filename.ext -
Michael (19.08.08 15:13) [5]
> Инди живет отдельной жизнью...
"Это печально"(С)
Спасибо за ссылку, буду ртфм-ить.))) -
Dennis I. Komarov © (19.08.08 15:19) [6]> "Это печально"(С)
ни чуть... -
Michael (19.08.08 15:26) [7]
> list filename.ext
> или nlst filename.ext
Имеются ввиду процедуры компонета TIdFTP? -
clickmaker © (19.08.08 15:32) [8]> [7] Michael (19.08.08 15:26)
можно и так
IdFtp.List('somefile.txt', false);
FileExists := (Length(FIdFtp.ListResult.Text) > 0); -
Michael (19.08.08 15:40) [9]
> IdFtp.List('somefile.txt', false);
У этой процедуры первым параметром идет список строк (TStrings)... -
clickmaker © (19.08.08 15:45) [10]> [9] Michael (19.08.08 15:40)
да? Indy какой версии?
В любом случае можно сказать что-то типа SendCmd и проверить возвращаемое значение (LastCmdResult) -
Michael (19.08.08 15:49) [11]
> clickmaker ©
Indy 9. В этом случае код принципиально отличаться не будет от приведенного в 1-м посте. Вобщем-то, работает, просто я удивлен, что у Инди нет стандартного метода проверки наличия файла. Хотелось бы писать "правильный" код ))