Чтение онлайн

ЖАНРЫ

Delphi. Учимся на примерах

Парижский Сергей Михайлович

Шрифт:

Прежде всего объявите глобальную переменную 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

 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;

Поделиться с друзьями: