Delphi. Учимся на примерах | страница 18



>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;

> N4: TMenuItem;

> N5: TMenuItem;

> N6: TMenuItem;

> N7: TMenuItem;

> Open1: TOpenDialog;

> Save1: TSaveDialog;

> procedure FormCreate(Sender: TObject);

> procedure N2Click(Sender: TObject);

> procedure N3Click(Sender: TObject);

> procedure N5Click(Sender: TObject);

> procedure N7Click(Sender: TObject);

>private

> { Private declarations }

>public

> { Public declarations }

>end;


>var

> Form1: TForm1;


>implementation

>{$R *.dfm}


>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;


>procedure TForm1.N2Click (Sender: TObject);

>begin

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

> Open1.InitialDir:= GetCurrentDir;

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

> if Open1.Execute then begin

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

>  Image1.Picture.LoadFromFile(Open1.FileName);