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

Шрифт
Интервал

стр.

:

>procedure TForm1.N9Click(Sender: TObject);

>begin

> if N9.Checked then //если флажок установлен

begin

>  N9.Checked:= False; //сбрасываем флажок

>  //Отображаем горизонтальную полосу прокрутки

Memo1.ScrollBars:= ssBoth;

> end

> else begin //если флажок не установлен

>  N9.Checked:= True; //устанавливаем флажок

>  //убираем горизонтальную полосу прокрутки

>  Memo1.ScrollBars:= ssVertical;

>  end;

>end;

По этой команде меню мы проверяем, какое состояние сейчас у пункта Формат→Перенос по словам. Если флажок установлен, то мы сбрасываем его и отображаем горизонтальную полосу прокрутки. В противном случае, устанавливаем флажок и убираем горизонтальную полосу прокрутки.

Обработчик события OnClick для пункта Формат→Шрифт:

>procedure TForm1.N10Click(Sender: TObject);

>begin

> //Определяем все настройки шрифта и отображаем их

> //в диалоговом окне

> FontDialog1.Font.Color:= Memo1.Font.Color; //цвет шрифта

> FontDialog1.Font.Style:= Memo1.Font.Style; //стиль

> FontDialog1.Font.Size:= Memo1.Font.Size; //размер

> FontDialog1.Font.Charset:= Memo1.Font.Charset; //кодировка

> FontDialog1.Font.Name:= Memo1.Font.Name; //название шрифта

> if FontDialog1.Execute then

> begin // применяем все выбранные настройки

>  Memo1.Font.Color:= FontDialog1.Font.Color;

>  Memo1.Font.Style:= FontDialog1.Font.Style;

>  Memo1.Font.Size:= FontDialog1.Font.Size;

>  Memo1.Font.Charset:= FontDialog1.Font.Charset;

>  Memo1.Font.Name:= FontDialog1.Font.Name;

> end;

>end;

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

Теперь осталось только реализовать автоматическую загрузку файлов, связанных с нашим блокнотом в файл-менеджерах. Для этого создадим обработчик события OnCreate главной формы:

>procedure TForm1.FormCreate(Sender: TObject);

>var

> Str: String; //путь к параметру

> i: Integer;

>begin

> xr_num:= '2'; //по умолчанию смещение = 2

> if (ParamCount > 0) then begin

>  Str:= ParamStr(1); //Формируем путь к аргументу

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

> end;

> {Если на вход программы поступили параметры, то отображаем содержимое соответствующего файла в поле Memo}

> if Str <> '' then Memo1.Lines.LoadFromFile(str);

>end;

Здесь мы задаем начальное значение для смещения и проверяем, поступили ли на вход программы какие-либо параметры. Если да, то узнаем путь к файлу и отображаем его содержимое в поле Memo. Пример шифрования со смещением 10 представлен на рис. 7.3.

Рис. 7.3. Пример шифрования со смещением 10

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

Полный исходный код модуля программы Блокнот-шифровальщик представлен в листинге 7.1.

Листинг 7.1. Модуль программы Блокнот-шифровальщик

>unit Unit1


>interface


>uses

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


>type TForm1 = class(TForm)

> Memo1: TMemo;

> menu1: TMainMenu;

> File1: TMenuItem;

> Edit1: TMenuItem;

> N1: TMenuItem;

> N2: TMenuItem;

> N3: TMenuItem;

> N4: TMenuItem;

> N5: TMenuItem;

> N7: TMenuItem;

> N8: TMenuItem;

> OpenDialog1: TOpenDialog;

> SaveDialog1: TSaveDialog;

> FontDialog1: TFontDialog;

> N6: TMenuItem;

> N9: TMenuItem;

> N10: TMenuItem;

> XoR1: TMenuItem;

> procedure N1Click(Sender: TObject);

> procedure N2Click(Sender: TObject)

> procedure N4Click(Sender: TObject)

> procedure N8Click(Sender: TObject)

> procedure N5Click(Sender: TObject)

> procedure N9Click(Sender: TObject);

> procedure N10Click(Sender: TObject);

> procedure FormCreate(Sender: TObject);

> procedure XoR1Click(Sender: TObject);

>private

> { Private declarations }

>public

> { Public declarations }

>end;


>var

> Form1: TForm1;

> xr_num: string;


>implementation

>{$R *.dfm}


>procedure TForm1.N1Click(Sender: TObject);

>begin

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

> OpenDialog1.InitialDir:= GetCurrentDir;

> if not OpenDialog1.Execute then ShowMessage('File not selected!')

> else //загружаем выбранный файл в Memo

>  Memo1.Lines.LoadFromFile(OpenDialog1.FileName);

>end;


>procedure TForm1.N2Click(Sender: TObject);

>begin

> SaveDialog1.InitialDir:= GetCurrentDir;


стр.

Похожие книги