|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Загрузчик на FTP, пара вопросов, help
Всем доброго вечера.
Вопщем имеется форма на ней IdFTP1, OpenDialog1, Edit1, Label1, Button1 и Button2 Задача передать 1 файл на ftp Вот мой код: Код:
procedure TForm1.FormCreate(Sender: TObject); begin IdFTP1.Host := '10.24.2.70'; // ip или имя FTP сервера IdFTP1.Username := 'misha'; // Имя пользователя IdFTP1.Password := 'password'; // Пароль if idFTP1.connected=false then idFTP1.Connect(True,-1); // Проверяем подключение Label1.Font.Color := clGreen; // Меняем цвет Label1 на "Зеленый" Label1.Caption := 'Подключен'; // Пишем на Label1 "Подключен" //Label1.Font.Color := clRed; // Меняем цвет Label1 на "Красный" //Label1.Caption := 'Не подключен'; // Пишем на Label1 "Не подключен" //if not IdFTP1.Connected then IdFTP1.Connect(False); end; procedure TForm1.Button2Click(Sender: TObject); begin Edit1.Clear; // Очищаем поле Edit1 OpenDialog1.Execute; Edit1.Text := OpenDialog1.filename; end; procedure TForm1.Button1Click(Sender: TObject); var Soob: string; File_name : string; begin File_name := ExtractFilename(OpenDialog1.FileName); // Получаем имя файла IdFTP1.Put(Edit1.Text, File_name); Soob := 'Файл '+ File_name +' успешно добавлен на '+ idftp1.Host; MessageDlg(Soob, mtinformation, [mbOk], 0); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin if IdFTP1.Connected then IdFTP1.Disconnect; // Закрываем соединение end; Вопрос состоит в том как при запуске программы узнать доступен ли FTP и вывести это в Label1 - разобрался тока с тем чтобы выводил доступен. если ftp не доступен то прога виснет. На php все было бы примерно так.. PHP код:
ps; Строга не судите в delphi всего третий день |
#2
|
|||
|
|||
Посмотри - а неит ли там свойства у IdFTP - Timeout.
Высталяешь там какое-нить разумное значение и пытаешься подключиться. Если все ОК, то прога идет дальше, если не смогли -получишь эксепшн - обработаешь его, типа: Код:
Try IdFTP1.Connect; Label1.Caption := 'Conected!'; Except Label1.Caption := 'FTP unavalable!'; Exit; End; |
#3
|
|||
|
|||
lmikle, спасибо, разобрался кое как
Теперь интересует еще пара вопросов. 1. Как остановить заливку файла - вначале IdFTP1.Disconnect; после конектимся обратно проверяем есть ли там файл с таким названием, если есть то удаляем его. - (Разабрался) 2. Как показать индикатор типа скока закачено уже, а скока осталось в % и в Мб, у мня реализована полоска через ProgressBar1 но хочется подругому. Хелп ме.. Последний раз редактировалось mishqa35, 25.01.2010 в 05:13. |
#4
|
|||
|
|||
Админы закройте темку.
|