Сергей Парижский - Delphi. Учимся на примерах
- Название:Delphi. Учимся на примерах
- Автор:
- Жанр:
- Издательство:МК-Пресс
- Год:2005
- Город:Киев
- ISBN:ISBN 966-8806-02-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Сергей Парижский - Delphi. Учимся на примерах краткое содержание
Данная книга — продолжение предыдущей книги автора, "Delphi. Только практика". Также как и в "Delphi. Только практика", в данном издании подробно рассмотрены программы для сетей, различные шуточные программы, простые игрушки, некоторые полезные приложения, разработка приложений в стиле Windows XP. В частности, здесь можно найти такие примеры как бесплатная отправка SMS, FTP-клиент, простое шифрование, CGI-сценарии и многое другое. Описаны методы работы с системным реестром Windows и INI-файлами, а также некоторые важные аспекты программирования на системном уровне с применением функций Windows API. Для облегчения понимания программ каждый пример содержит комментарии сложных строк кода.
Книга ориентирована как на тех, кто уже имеет опыт создания приложений в Delphi, так и на начинающих программистов. Для начинающих пользователей Delphi в конце книги добавлено приложение с описанием синтаксиса языка программирования Object Pascal.
Delphi. Учимся на примерах - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
type
TForm1 = class(TForm)
ftp: TNMFTP;
ftpserver: TEdit;
Label1: TLabel;
Label2: TLabel;
name: TEdit;
Label3: TLabel;
pass: TEdit;
Label4: TLabel;
port: TEdit;
Button1: TButton;
Button2: TButton;
status1: TMemo;
Button3: TButton;
Open1: TOpenDialog;
Button4: TButton;
del: TEdit;
Button5: TButton;
cd: TEdit;
cmd: TEdit;
Button6: TButton;
md: TEdit;
Button7: TButton;
rd: TEdit;
Button8: TButton;
download: TEdit;
Button9: TButton;
Save1: TSaveDialog;
procedure Button1Click(Sender: TObject);
procedure ftpStatus(Sender: TComponent; Status: String);
procedure ftpError(Sender: TComponent; Errno: Word; Errmsg : String);
procedure ftpDisconnect(Sender: TObject);
procedure ftpConnect(Sender: TObject);
procedure ftpConnectionFailed(Sender: TObject);
procedure ftpInvalidHost(var Handled: Boolean);
procedure ftpSuccess(Trans_Type: TCmdType);
procedure ftpTransactionStart(Sender: TObject);
procedure ftpTransactionStop(Sender: TObject);
procedure ftpAuthenticationFailed(var Handled: Boolean);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
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.ftpStatus(Sender: TComponent; Status: String);
begin
status1.Lines.Add(Status);
end;
procedure TForml.ftpError(Sender: TComponent; Errno: Word; Errmsg: String);
begin
status1.Lines.Add('Ошибка: ' + errmsg);
end;
procedure TForm1.ftpDisconnect(Sender: TObject);
begin
status1.Lines.Add('Отключено');
end;
procedure TForm1.ftpConnect(Sender:tobject);
begin
status1.Lines.Add('Подключено');
//локальный ip-адрес
status1Lines.Add('IP клиента: ' + ftp.LocalIP);
//удаленный ip-адрес
status1Lines.Add('IPсервера: ' + ftp.RemoteIP);
end;
procedure TForm1.ftpConnectionFailed(Sender: TObject);
begin
status1.Lines.Add('He удалось подключиться к серверу');
end;
procedure TForm1.ftpInvalidHost(var Handled: Boolean);
begin
status1.Lines.Add('Ошибка при подключении к серверу');
end;
procedure TForm1.ftpSuccess(Trans_Type: TCmdType);
begin
status1.Lines.Add('Успешно');
end;
procedure TForm1.ftpTransactionStart(Sender: TObject);
begin
status1.Lines.Add('Начало передачи данных');
end;
procedure TForm1.ftpTransactionStop(Sender: TObject);
begin
statusl.Lines.Add('Конец передачи данных');
end;
procedure TForm1.ftpAuthenticationFailed(var Handled: Boolean);
begin
status1.Lines.Add('Неверное имя или пароль');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if ftp.Connected then//если соединен
ftp.Disconnect;//отключиться от сервера
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;
procedure TForm1.FormDestroy(Sender: TObject) ;
begin
if ftp.Connected then ftp.Disconnect;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
ftp.ChangeDir(cd.Text); //изменяем каталог
end;
procedure TForm1.Button4Click(Sender : TObject);
begin
ftp.Delete(del.text); //удалить файл
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
ftp.DoCommand(cmd.Text); //выполнение команды
end;
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;
end.
⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter_18.
Глава 19
Написание CGI-приложений
Постановка задачи
Разработать CGI-сценарий на Delphi. В качестве примера, при активации через форму сценарий будет выводить определенную фразу.
Разработка проекта
К удивлению некоторых программистов, в Delphi можно разрабатывать CGI-сценарии. Для примера, разработаем сценарий, при обращении к которому будет создаваться HTML-страница с текстом "Это мой первый CGI-сценарий".
Поскольку это будет не обычная выполняемая программа, то стандартный проект, который по умолчанию предлагает нам Delphi, не подходит. Выполните команду меню File→New→Other, в результате чего откроется диалоговое окно New Items(рис. 19.1).
Рис. 19.1. Диалоговое окно New Items
Выберите тип программы Console Applicationи нажмите кнопку OK. В появившемся окне сотрите весь текст и введите следующий код:
program cgi_test;//название сценария
{$APPTYPE CONSOLE}
{$Е cgi}//расширение приложения будет .cgi
begin
//способ отображения – text/html
WriteLn('Content-Type: text/html');
WriteLn;
WriteLn;
WriteLn(''); //начало страницы
WriteLn('
');
//заголовок
WriteLn('');
//кодировка и тип содержимого
WriteLn('<���МЕТА http-equiv="Content-Type" ' +
'content="text/html; charset=UTF-8">');
WriteLn('');
WriteLn('
');
WriteLn('
Это мой первый CGI-сценарий'
+'</Н1>');//выводим текст большими жирными буквами
WriteLn('
');
WriteLn('
');
end.
Откомпилируйте приложение и присвойте ему имя cgi_test.cgi. Этот CGI-сценарий при обращении к нему создает страницу с заголовком "Первый cgi-сценарий на Delphi" и большим текстом на странице: "Это мой первый CGI-сценарий".
Читать дальшеИнтервал:
Закладка: