Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Как проверить наличие файла на FTP   Найти похожие ветки 

 
Michael   (2008-08-19 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 ©   (2008-08-19 13:09) [1]

WinInet + FtpFindFist + F1


 
Michael   (2008-08-19 14:17) [2]

Насколько я понимаю, использование
function FtpFindFirstFile(hConnect: HINTERNET; lpszSearchFile: PChar;
 var lpFindFileData: TWin32FindData; dwFlags: DWORD;
 dwContext: DWORD): HINTERNET;

невозможно без хэндла соединения. То есть, используя для соединения Indy, воспользоваться данной функцией нельзя?


 
Dennis I. Komarov ©   (2008-08-19 14:44) [3]

Инди живет отдельной жизнью...
http://www.rsdn.ru/article/inet/inetapi.xml


 
clickmaker ©   (2008-08-19 15:09) [4]

list filename.ext
или nlst filename.ext


 
Michael   (2008-08-19 15:13) [5]


> Инди живет отдельной жизнью...

"Это печально"(С)

Спасибо за ссылку, буду ртфм-ить.)))


 
Dennis I. Komarov ©   (2008-08-19 15:19) [6]

> "Это печально"(С)

ни чуть...


 
Michael   (2008-08-19 15:26) [7]


> list filename.ext
> или nlst filename.ext

Имеются ввиду процедуры компонета TIdFTP?


 
clickmaker ©   (2008-08-19 15:32) [8]

> [7] Michael   (19.08.08 15:26)

можно и так
IdFtp.List("somefile.txt", false);
FileExists := (Length(FIdFtp.ListResult.Text) > 0);


 
Michael   (2008-08-19 15:40) [9]


> IdFtp.List("somefile.txt", false);

У этой процедуры первым параметром идет список строк (TStrings)...


 
clickmaker ©   (2008-08-19 15:45) [10]

> [9] Michael   (19.08.08 15:40)

да? Indy какой версии?
В любом случае можно сказать что-то типа SendCmd и проверить возвращаемое значение (LastCmdResult)


 
Michael   (2008-08-19 15:49) [11]


> clickmaker ©

Indy 9. В этом случае код принципиально отличаться не будет от приведенного в 1-м посте. Вобщем-то, работает, просто я удивлен, что у Инди нет стандартного метода проверки наличия файла. Хотелось бы писать "правильный" код ))



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.07 c
15-1265198569
Андрей Прокопенко
2010-02-03 15:02
2010.08.27
"Немыслимое что-то..."


3-1240340701
VoznikVopros
2009-04-21 23:05
2010.08.27
Как произвести "выделение" в DBLookupListBox1 согласно № эл. в БД


2-1272548272
Ardent
2010-04-29 17:37
2010.08.27
StringGrid красим ячейки мышкой


2-1275197810
Радость
2010-05-30 09:36
2010.08.27
Инструмент нужен


2-1274330451
viktooor
2010-05-20 08:40
2010.08.27
Организация печати Grid с помощью PrintGridEh





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский