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; //название шрифта