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

Вниз

работа с IdFTP   Найти похожие ветки 

 
inex   (2007-02-09 10:50) [0]

Добрый день!
Помогите, пожалуйста, разобраться с проблемкой.
Нужно скопировать файл с фтп-сервера. Для этого использую компонент IdFTP:

IdFTP1.Connect;
IdFTP1.Get("file.txt","file.txt",true);
IdFTP1.Disconnect;


Если фтп-сервер недоступен то  IdFTP1.Connect никакую ошибку не выдает, а как можно узнать о том удался коннект или нет?
И еще подскажите пожалуйста, как можно узнать о существовании файла на фтп-сервере?


 
Плохиш ©   (2007-02-09 11:18) [1]


> Если фтп-сервер недоступен то  IdFTP1.Connect никакую ошибку
> не выдает

Странно, а у меня говорит, что время ожидания истекло.

> как можно узнать о том удался коннект или нет?

У компонента имеется соответствующее свойство.

> И еще подскажите пожалуйста, как можно узнать о существовании
> файла на фтп-сервере?

Надо выполнить метод List.


 
inex   (2007-02-09 11:24) [2]


> Странно, а у меня говорит, что время ожидания истекло.


Насколько я знаю IdFTP1.Connect ничего не возвращает. В каком виде он тебе это говорит.


 
Сергей М. ©   (2007-02-09 11:42) [3]


> В каком виде он тебе это говорит.


В том же самом виде, в котором, к примеру, Strings.LoadFromFile говорит о несуществующем файле, который ты пытаешься загрузить


 
Плохиш ©   (2007-02-09 11:45) [4]


> inex   (09.02.07 11:24) [2]
>
> > Странно, а у меня говорит, что время ожидания истекло.
>
>
>
> Насколько я знаю IdFTP1.Connect ничего не возвращает. В
> каком виде он тебе это говорит.

В виде исключения.


 
inex   (2007-02-09 12:09) [5]

Дело в том что мне нужно оброботать две исключительных ситуации:

1. отсутствие коннекта с фтп-сервером
2. отсутствие файла на фтп-сервере

Я делал так:

try
IdFTP1.Connect;
IdFTP1.Get("file.txt","file.txt",true);
IdFTP1.Disconnect;
except
showmessage("error");

при первом вызове данных операторов, если одно из исключений присутствует, программа отрабатывает нормально (выдает сообщение об ошибке). Но вот если фтп доступен и файл есть то при повторном запуске данных операторов приложение все-равно выдает ошибку.
Может я что-то не так сделал или нужно еще что-то добавить?


 
Плохиш ©   (2007-02-09 12:12) [6]


> Но вот если фтп доступен и файл есть то при повторном запуске
> данных операторов приложение все-равно выдает ошибку.

"Такие интересные и понятные намёки" (c) котёнок Гав.

Кстати я сегодня кофе не пью, желания нет, так что жди пока у меня желание на кофе появиться, может заодно и погадаю...


 
Сергей М. ©   (2007-02-09 12:55) [7]

try
 IdFTP1.Connect;
 try
   IdFTP1.Get("file.txt","file.txt",true);
 finally
   IdFTP1.Disconnect;
 end;
except
 on e:exception do
  showmessage(e.ClassName + " " + e.Message);
end;


 
umbra ©   (2007-02-09 13:38) [8]

try
IdFTP1.Connect;
IdFTP1.Get("file.txt","file.txt",true);
IdFTP1.Disconnect;
except
 on EIdConnectTimeout do
    begin
       IdFTP1.Disconnect;
       raise;
    end;
  on E: EIdReplyRFCError do
   begin
       IdFTP1.Disconnect;
       if (E.ErrorCode = 450) or (E.ErrorCode = 550 )then
         ShowMessage("Невозможно скачать файл!");
    end;
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.032 c
2-1189551849
Змей
2007-09-12 03:04
2007.10.07
Baloon Hint


1-1185182649
nejest
2007-07-23 13:24
2007.10.07
Не работает метод с параметром в виде переменной при вызове извне


4-1175864460
tytus
2007-04-06 17:01
2007.10.07
как получить доступ к кнопкам на панели задач?


2-1189590604
Emelinn
2007-09-12 13:50
2007.10.07
Cоединение с MS SQL server


2-1189582237
Wood
2007-09-12 11:30
2007.10.07
TColorDialog.