Форум: "Сети";
Текущий архив: 2007.10.07;
Скачать: [xml.tar.bz2];
Внизработа с 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.05 c