if not Open1.Execute then ShowMessage('Файл не выбран!')
else begin
//очищаем переменные, которые содержат имя файла
temp:= '';
FName:= '';
//получаем имя файла
for i: = Length(Open1.FileName) downto 1 do
begin
if Open1.FileName[i] = '\' then break;
temp:= temp+ Open1.FileName[i];
end;
for i:=length(temp) downto 1 do
fname:= fname + temp[i];
ftp.Upload(Open1.FileName, FName); //загружаем
файл
end;
end;
Здесь мы сначала просим пользователя выбрать файл, который он хочет передать на сервер. Затем узнаем имя выбранного файла и загружаем его на сервер с таким же именем.
В общем, наш ftp-клиент уже полностью работоспособен и выполняет все необходимые функции. Единственное, что осталось сделать, — реализовать извещение пользователя о протекании всех операций и обо всех ошибках. Для этого следует создать несколько обработчиков событий компонента ftp.
Событие в случае возникновения ошибки при проверке имени и пароля — OnAuthеntiсatiоnFailed:
Теперь программа полностью готова к использованию. Если у вас нет собственного Web-сайта, то для тестирования FTP-клиента можете зарегистрировать сайт на бесплатном хостинге.
Полный исходный код модуля
Полный код программного модуля FTP-клиента представлен в листинге 18.1.