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



Прежде всего объявите глобальную переменную xr_num типа string :

>var

> Form1: TForm1;

> xr_num: string;

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

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

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

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

>procedure TForm1.N2Click(Sender: TObject);

>begin

> SaveDialog1.InitialDir:= GetCurrentDir;

> if not SaveDialog1.Execute then ShowMessage('File not saved!')

> else //сохраняем в файл

>  Memo1.Lines.SaveToFile(SaveDialog1.FileName);

>end;

Открываем диалоговое окно сохранения файла. После того как пользователь выбрал место сохранения файла, извлекаем текст из Memo и сохраняем его в выбранной папке.

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

>procedure TForm1.N4Click(Sender: TObject);

>begin

> Close;//закрыть программу

>end;

Обработчик события OnClick для пункта Правка→Число XOR:

>procedure TForm1.XoR1Click(Sender: TObject);

>begin

> if not InputQuery('XOR', 'Введите число xor:', xr_num)

> then Exit;

>end;

Здесь мы отображает окно для выбора числа xor. Указанное пользователем число будет занесено в переменную xr_num.

Обработчик события OnClick для пункта Правка→Зашифровать/Расшифровать:

>procedure TForm1.N5Click (Sender: TObject);

>var

> xr: string; //зашифрованный текст

> i: integer; //счетчик цикла begin

> for i:=1 to Length(Memo1.Text) do

> begin //перебираем каждый символ в тексте

>  //выполняем указанное пользователем смещение

>  xr:= xr + Chr(Ord(Memo1.Text[i]) xor StrToInt(xr_num));

> end;

> //заменяем оригинальный текст на зашифрованный

> Memo1.Text := xr;

>end;

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

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

>procedure TForm1.N8Click(Sender: TObject);

>begin

> Memo1.lines.Clear; //очистка Memo

>end;

Очищаем поле Memo от содержащегося в нем текста.

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

>procedure TForm1.N9Click(Sender: TObject);

>begin