Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.05;
Скачать: CL | DM;

Вниз

TCP клиент Indy в Delphi 2005   Найти похожие ветки 

 
Stealth   (2005-11-17 17:48) [0]

Здрасте всем!

Вот в чем загвоздка...
Нужно получить списо каталогов и файлов и при этом каталоги запихнуть в один листбокс а файлы в другой!
после IdFTP.List не происходит заполнения IdFTP.DirectoryListing.Items.... (нужен для того, что бы считать ItemType и если он равен ditDirectory то понятно, что это каталог)
Вопрос - почему???
В примере к инди 9 - все работает...
А вот в примере к инди 10 - они предлагают:
Сначала получить список всех файлов и каталогов от сервера, потом для того, что бы определить файл это или каталог запрашивать от сервака размер каждого файла, и если сервак выдает -1 - то это каталог, а если >= 0 то
файл...

По моему это очень криво... и что самое главное - ДОЛГО!!!!

Помогите разобраться!

Заранее спасибо!


 
Stealth   (2005-11-17 19:43) [1]

ПРОСТИТЕ!!!
Тему не правильно написал!!!
Я не про TCP клиента... А про FTP клиента


 
ItMan ©   (2005-11-22 03:20) [2]

Там вроде глюк есть. Зависит от вывода листа сервером. Смотри исходники Indy. Я часа 2 гемороился, затем ушел от indy.


 
Stealth   (2005-11-22 19:59) [3]

К ItMan ©:
А что теперь используешь?


 
Eraser ©   (2005-11-23 01:19) [4]


> Stealth   (17.11.05 19:43) [1]

С FTP в Indy перемудрили, индивский фтп удобно использовать, так сказать, для внутреннего использования, при этом использовать custom режимы парсинга директорий и т.д.
Для работы в инете лучше использовать стандартные API для работы с FTP.


 
Stealth   (2005-11-23 10:35) [5]

> Eraser ©

А где можно пайти хоть какую описалку на англ или рус? а еще лучше пример (али примеры)?


 
Eraser ©   (2005-11-23 14:14) [6]


> Stealth   (23.11.05 10:35) [5]

см. MSDN по ключевому слову WinInet.


 
Stealth   (2005-11-23 21:35) [7]

> Eraser ©

Вот сразу по ходу вопросик...
Пишу:

procedure TForm1.Button1Click(Sender: TObject);
begin
 hInternet := InternetOpen(PChar("1"),INTERNET_OPEN_TYPE_DIRECT,Nil,Nil,INTERNET_FLAG_ASYNC);
 If hInternet <> nil then begin
   hFTP := InternetConnect(hInternet,PAnsiChar(HostEdit.Text),StrToInt(PortEdit.Text),PAnsiChar(UserNameEdit.Text),PAnsiChar(UserPa sswordEdit.Text),INTERNET_SERVICE_FTP,INTERNET_FLAG_PASSIVE,0);
   If hFTP <> nil then begin
     ShowMessage("Connected to FTP Server");
     If InitFolderEdit.Text <> "" then begin
       If FtpSetCurrentDirectory(hFTP,PAnsiChar(InitFolderEdit.Text)) then ShowMessage("Set FTP Directory to "+InitFolderEdit.Text)
       else ShowMessage("CAN""T SET FTP Directory to "+InitFolderEdit.Text);
     end;
   end else ShowMessage("Cant connect to FTP Server!");
 end else ShowMessage("Cant connect to Internet!")
end;

И при попытке открытия каталога функцией FtpSetCurrentDirectory(hFTP,PAnsiChar(InitFolderEdit.Text)) существующего на ftp сервере функция возвращает 0 (False), хотя должна была бы вернуть 1 (True). И с не существующим каталогом то же самое - опять false.

Подобное возникает и при вызове InternetFindNextFile(hFind,@FindData) всегда возвращается True, даже если все файлы уже прочитаны.

Что можете подсказать???


 
Eraser ©   (2005-11-23 22:23) [8]


> Stealth   (23.11.05 21:35) [7]

Тут я не советчик, т.к. не разу данными ф-и не пользовался.



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

Текущий архив: 2006.03.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
1-1138966198
Kostik
2006-02-03 14:29
2006.03.05
Как поместить TEdit в TStatusPanel компонента TStatusBar ?


15-1139735545
V-kras
2006-02-12 12:12
2006.03.05
Подскажите литературу


2-1140423841
pupapumQ
2006-02-20 11:24
2006.03.05
Программа в пуск


2-1140372718
{XXX}
2006-02-19 21:11
2006.03.05
Сохраниение страниц в формате Html


2-1140372864
sashaka
2006-02-19 21:14
2006.03.05
Как узнать дату?