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

Тут можно читать бесплатно Сергей Парижский - Delphi. Учимся на примерах. Жанр: Компьютеры и Интернет / Программирование, год -. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте «WorldBooks (МирКниг)» или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Сергей Парижский - Delphi. Учимся на примерах

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

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

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

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

Разработанный нами хранитель экрана в действии показан на рис. 5.2. В данном случае был случайным образом выбран желтый цвет заполнения и происходит медленное насыщение этим цветом. Можно разглядеть папки, которые видны сквозь полупрозрачную форму.

Рис. 5.2. Хранитель экрана в действии

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

Полный исходный код модуля программы Хранитель экрана представлен в листинге 5.1.

Листинг 5.1. Модуль программы Хранитель экрана

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls;

type TForm1 = class(TForm)

 Timer1: TTimer;

 Timer2: TTimer;

 procedure FormCreate(Sender: TObject);

 procedure FormKeyPress(Sender: TObject; var Key: Char);

 procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

 procedure Timer1Timer(Sender: TObject);

 procedure Timer2Timer(Sender: TObject);

private

 { Private declarations }

 procedure color_check();

public

 { Public declarations }

end;

var

 Form1: TForm1;

 mouse: TPoint;

implementation

{$R *.dfm}

procedure TForm1.color_check();

var

 ran: integer; //случайное число, соответствующее

 //определенному цвету

begin

 Randomize; //включаем генератор случайных чисел

 ran: = Random(6) + 1; //выбираем случайное число от 1 до 6

 //Назначаем форме цвет, соответствующий выбранному числу

 case ran of

 1: Form1.Color:= clBlack;

 2: Form1.Color:= clWhite;

 3: Form1.Color:= clBlue;

 4: Form1.Color:= clGray;

 5: Form1.Color:= clYellow;

 6: Form1.Color:= clGreen;

 end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

 GetCursorPos(mouse); //получаем координаты курсора мыши

 ShowCursor(False); //прячем курсор

end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key:Char)

begin

 Halt; //завершение работы программы

end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);

begin

 if (X <> mouse.X) or (Y <> mouse.Y) then Halt;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

 if Form1.AlphaBlendValue > 250

 then //проверяем: не полностью ли мы закрасили форму

 begin

  Timer1.Enabled:= False; //выключаем насыщение формы

  Timer2.Enabled:= True; //включаем обратный процесс

 end;

 //постепенное насыщение формы

 Form1.AlphaBlendValue:= Form1.AlphaBlendValue + 1;

end;

procedure TForm1.Timer2Timer(Sender: TObject);

begin

 if Form1.AlphaBlendValue < 5

 then //если форма уже полностью прозрачная

 begin

  color_check(); //выбираем случайный цвет для формы

  Timer2.Enabled:= False; //выключаем второй таймер

  Timer1.Enabled := True; //включаем первый таймер

 end;

 //Уменьшаем прозрачность на 1

 Form1.AlphaBlendValue:= Form1.AlphaBlendValue – 1;

end;

end.

⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter05.

Глава 6

Программа просмотра рисунков

Постановка задачи

Разработать программу для просмотра рисунков. Программа должна отображать рисунок, загруженный с помощью стандартного диалогового окна обзора. Кроме того, любой рисунок должен быть связан с данной программой и открываться ею по двойному щелчку мышью или нажатию клавиши <Enter> в Проводнике или любом другом файл-менеджере.

Разработка формы

Создайте новый проект Delphi. Разместите на форме компонент Image категории Additional, который будет служить для отображения рисунка. Для того чтобы при любых размерах окна рисунок всегда заполнял всю форму, следует изменить значение свойства Align на alClient.

Для вызова диалоговых окон открытия и сохранения рисунка воспользуемся компонентами OpenDialog и SaveDialog категории Dialogs. Присвоим свойству Name этих компонентов значения Open1 и Save1 соответственно. Для обоих компонентов присвойте свойству Filter значение Все файлы|*.*.

Для доступа к функциям программы будем использовать команды меню. Разместите на форме компонент MainMenu категории Standard. Для того чтобы создать пункты меню, следует дважды щелкнуть мышью на компоненте MainMenu1, в результате чего откроется редактор меню, изображенный на рис. 6.1.

Для того чтобы добавить новый пункт, следует щелкнуть мышью в этом окне на пустом элементе меню и изменить в инспекторе объектов значение свойства Caption. Вначале создаются пункты меню, а затем аналогичным образом — подпункты (команды). Для создания разделителей свойству Caption следует присвоить значение - (дефис).

Рис. 6.1. Редактор меню

Создайте меню, соответствующее рис. 6.2.

Рис. 6.2. Меню для программы просмотра рисунков

Вид готовой формы представлен на рис. 6.3.

Рис. 6.3. Форма программы просмотра рисунков

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

Теперь создадим обработчики события OnClick для пунктов меню. Для команды Файл→Открыть:

procedure TForm1.N2Click(Sender: TObject);

begin

 //начинаем обзор с текущей папки

 Open1.InitialDir:= GetCurrentDir;

 //открываем диалоговое окно выбора файла

 if Open1.Execute then begin

  //загружаем выбранный рисунок

  Image1.Picture.LoadFromFile(Open1.FileName);

  Image1.Show; //отображаем рисунок на форме

 end

 else //Если рисунок не был выбран

  ShowMessage('Вы не выбрали рисунок!');

 Image1.Show;

end;

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

Обработчик события OnClick для пункта меню Файл→Сохранить:

procedure TForm1.N3Click(Sender: TObject);

begin

 if Save1.Execute then //сохранение рисунка

  Image1.Picture.SaveToFile(Save1.FileName)

 else ShowMessage('Рисунок не был сохранен!');

end;

Здесь мы открываем диалоговое окно сохранения рисунка, и, если пользователь выбрал место сохранения файла, извлекаем этот путь (свойство Save1.FileName) и сохраняем отображаемый в данный момент рисунок.

Обработчик события OnClick для пункта меню Файл→Выход:

procedure TForm1.N5Click(Sender: TObject);

begin

 Halt; //завершение работы программы

end;

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

procedure TForm1.N7Click(Sender: TObject);

begin

 Image1.Hide; //прячем рисунок

end;

Единственное, чего не достает этой программе, — это возможность открывать с ее помощью рисунки в файл-менеджерах. Реализуем эту возможность, добавив следующий код в обработчик события OnCreate главной фoрмы.

procedure TForm1.FormCreate(Sender: TObject);

var

 Str:String; //путь к файлу, который поступил как параметр

 i:Integer;

begin

 if (ParamCount > 0)

 then //если на вход программы поступил параметр

 begin

  //составляем путь к файлу по символам

  Str:= ParamStr(1);

  for i:= 2 to ParamCount do Str:= Str + ' ' + ParamStr(i);

  Image1.Picture.LoadFromFile(str); //загружаем рисунок

  Image1.Show; //показываем рисунок

 end;

end;

При создании формы выполняется проверка: запускается ли программа с параметрами. Если на вход поступили параметры, то определяем путь к рисунку и отображаем его на форме. Программа просмотра рисунков в действии представлена на рис. 6.4.

Рис. 6.4. Программа просмотра рисунков в действии

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

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

Листинг 6.1. Модуль программы просмотра рисунков

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, ExtCtrls;

type TForm1 = class(TForm)

 Image1: TImage;

 MainMenu1: TMainMenu;

 N1: TMenuItem;

 N2: TMenuItem;

 N3: TMenuItem;

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.