> if not SaveDialog1.Execute then ShowMessage('File not saved!')
> else //сохраняем в файл
> Memo1.Lines.SaveToFile(SaveDialog1.FileName);
>end;
>procedure TForm1.N4Click(Sender: TObject);
>begin
> Close; //выход из программы
>end;
>procedure TForm1.N8Click(Sender: TObject);
>begin
> Memo1.lines.Clear; //очистка Memo
>end;
>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;
>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;
>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;
>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;
>end.
⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter_07.