LibKing » Книги » comp-programming » Сергей Парижский - Delphi. Учимся на примерах

Сергей Парижский - Delphi. Учимся на примерах

Тут можно читать онлайн Сергей Парижский - Delphi. Учимся на примерах - бесплатно полную версию книги (целиком). Жанр: comp-programming, издательство "МК-Пресс", год 2005. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Сергей Парижский - Delphi. Учимся на примерах
  • Название:
    Delphi. Учимся на примерах
  • Автор:
  • Жанр:
  • Издательство:
    "МК-Пресс"
  • Год:
    2005
  • ISBN:
    ISBN 966-8806-02-6
  • Рейтинг:
    4/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Сергей Парижский - Delphi. Учимся на примерах краткое содержание

Delphi. Учимся на примерах - описание и краткое содержание, автор Сергей Парижский, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Данная книга — продолжение предыдущей книги автора, "Delphi. Только практика". Также как и в "Delphi. Только практика", в данном издании подробно рассмотрены программы для сетей, различные шуточные программы, простые игрушки, некоторые полезные приложения, разработка приложений в стиле Windows XP. В частности, здесь можно найти такие примеры как бесплатная отправка SMS, FTP-клиент, простое шифрование, CGI-сценарии и многое другое. Описаны методы работы с системным реестром Windows и INI-файлами, а также некоторые важные аспекты программирования на системном уровне с применением функций Windows API. Для облегчения понимания программ каждый пример содержит комментарии сложных строк кода.

Книга ориентирована как на тех, кто уже имеет опыт создания приложений в Delphi, так и на начинающих программистов. Для начинающих пользователей Delphi в конце книги добавлено приложение с описанием синтаксиса языка программирования Object Pascal.

Delphi. Учимся на примерах - читать онлайн бесплатно полную версию (весь текст целиком)

Delphi. Учимся на примерах - читать книгу онлайн бесплатно, автор Сергей Парижский
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

Рис. 18.1. Форма FTP-клиента

Разработка программного кода

Обработаем нажатия кнопок соединения и отключения от сервера. Обработчик события OnClick для кнопки Подключиться:

procedure TForm1.Button1Click(sender: TObject);

begin

ftp.Host:= ftpserver.Text;//ftp-сервер

ftp.UserID:= name.Text;//логин

ftp.Password:= pass.Text;// пароль

ftp.Port:= StrToInt(port.Text); //порт для подключения

//соединяемся с сервером

if not ftp. Connected then ftp.Connect;

end;

Здесь мы считываем все данные, которые необходимы для соединения с сервером. После этого мы пытаемся соединиться с сервером. Об успешности этой операции можно будет узнать в поле состояния.

Обработаем нажатие кнопки Отключиться:

procedure TForm1.Button2Click(Sender: TObject);

begin

if ftp. Connected then//если соединен

ftp.Disconnect;//отключиться от сервера

end;

Если при нажатии кнопки Отключитьсяустановлено соединение с сервером, то мы разрываем его.

Теперь обработаем нажатие кнопок, которые служат для работы с сервером. Обработчик события OnClick для кнопки Удалить:

procedure TForm1.Button4Click(Sender : TObject);

begin

ftp.Delete(del.text);//удалить файл

end;

Здесь мы удаляем файл, имя которого пользователь ввел в поле рядом с кнопкой.

Обработаем нажатие кнопки Изменить каталог:

procedure TForm1.Button5Click(Sender: TObject);

begin

ftp.ChangeDir(cd.Text);//изменяем каталог

end;

Устанавливаем текущим тот каталог, который указан в поле cd.

Обработаем нажатие кнопки Выполнить команду:

procedure TForm1.Button6Click(Sender: TObject);

begin

ftp.DoCommand(cmd.Text);//выполнение команды

end;

При работе с сервером мы предоставляем пользователю возможность работать не только с помощью команд, предусмотренных в интерфейсе, но и выполнять на сервере любые произвольные команды. Для этого у нас есть поле cmd, в котором пользователь вводит команду, и кнопка Выполнить команду, по нажатию которой введенная команда выполняется.

Обработаем нажатие кнопки Создать каталог:

procedure TForm1.Button7Click(Sender: TObject);

begin

ftp.MakeDirectory(md.Text);//создать каталог

end;

Обработаем нажатие кнопки Удалить каталог:

procedure TForm1.Button8Click(Sender: TObject);

begin

ftp.RemoveDir(rd.Text);//удалить каталог

end;

Обработаем нажатие кнопки Скачать файл:

procedure TForm1.Button9Click(Sender: TObject);

begin

//открытие диалогового окна сохранения файла

if Save1.Execute

then//скачиваем указанный файл

ftp.Download(download.Text, save1.FileName)

else ShowMessage('File not saved!'); {если пользователь отказался сохранять файл}

end;

Сначала мы предлагаем пользователю указать имя и путь размещения полученного файла. Затем мы загружаем файл и размещаем его по указанному пути.

Наконец, обработаем нажатие кнопки Загрузить файл на сервер:

procedure TForm1.Button3Click(Sender: TObject);

var

i: integer;

FName, temp: string;//для получения имени файла

begin

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:

procedure TForm1.ftpAuthenticationFailed(var Handled: Boolean);

begin

status1.Lines.Add('Неверное имя или пароль');

end;

Событие при подключении — OnConnect:

procedure TForm1.ftpConnect(Sender:tobject);

begin

status1.Lines.Add('Подключено');

//локальный ip-адрес

status1Lines.Add('IP клиента: ' + ftp.LocalIP);

//удаленный ip-адрес

status1Lines.Add('IPсервера: ' + ftp.RemoteIP);

end;

Событие в случае возникновения ошибки при подключении — OnConnectionFailed:

procedure TForm1.ftpConnectionFailed(Sender: TObject);

begin

status1.Lines.Add('He удалось подключиться к серверу');

end;

Событие при отключении от сервера — OnDisconnect:

procedure TForm1.ftpDisconnect(Sender: TObject);

begin

status1.Lines.Add('Отключено');

end;

Событие в случае возникновения некоторой ошибки — OnError:

procedure TForml.ftpError(Sender: TComponent; Errno: Word; Errmsg: String);

begin

status1.Lines.Add('Ошибка: ' + errmsg);

end;

Событие в случае возникновения ошибки при подключении к серверу — OnInvaIidHost:

procedure TForm1.ftpInvalidHost(var Handled: Boolean);

begin

status1.Lines.Add('Ошибка при подключении к серверу');

end;

Событие при изменении состояния — OnStatus:

procedure TForm1.ftpStatus(Sender: TComponent; Status: String);

begin

status1.Lines.Add(Status);

end;

Событие при успешном выполнении операции — OnSuccess:

procedure TForm1.ftpSuccess(Trans_Type: TCmdType);

begin

status1.Lines.Add('Успешно');

end;

Событие начала передачи данных — OnTransactionStart:

procedure TForm1.ftpTransactionStart(Sender: TObject);

begin

status1.Lines.Add('Начало передачи данных');

end;

Событие завершения передачи данных — OnTransactionStop :

procedure TForm1.ftpTransactionStop(Sender: TObject);

begin

statusl.Lines.Add('Конец передачи данных');

end;

Теперь программа полностью готова к использованию. Если у вас нет собственного Web-сайта, то для тестирования FTP-клиента можете зарегистрировать сайт на бесплатном хостинге.

Полный исходный код модуля

Полный код программного модуля FTP-клиента представлен в листинге 18.1.

Листинг 18.1. Программный модуль FTP-клиента

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, NMFtp, StdCtrls, Psock;

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Сергей Парижский читать все книги автора по порядку

Сергей Парижский - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Delphi. Учимся на примерах отзывы


Отзывы читателей о книге Delphi. Учимся на примерах, автор: Сергей Парижский. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img