if not OpenDialog1.Execute then ShowMessage('File not selected!')
else
Memo1.Lines.LoadFromFile(OpenDialog1.FileName)
end;
Здесь мы открываем стандартное диалоговое окно обзора и просим пользователя выбрать текстовый или любой другой файл. После того как пользователь выбрал файл, загружаем его в нашу программу.
Обработчик события OnClick для пункта Файл→Сохранить
:procedure TForm1.N2Click(Sender: TObject);
begin
SaveDialog1
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;
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;
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;