Доброе время суток, уважаемые кодеры.
при написании курсового проекта столкнулся с такой проблемой: нужно написать программу для шифровки/дешифровки текстов. было указано что писать в Pascale, но так как к нему лет пять я даже не подходил. думал и Delphi прокеатит, написал прогу, работвате все отлично, отправил и вот беда... сказали переделать в Pascal
ПОМОГИТЕ кто сможет, вот исходник в делфях
Код:
unit shifrovanie;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;
type
TForm1 = class(TForm)
Memo1: TMemo;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
XoR1: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
FontDialog1: TFontDialog;
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure XoR1Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
xr_num: string;
rez: TModalResult;
filname: string;
implementation
{$R *.dfm}
procedure TForm1.N4Click(Sender: TObject);
begin
//начнеем обзор с текущей папки
OpenDialog1.InitialDir:=GetCurrentDir;
filname:=OpenDialog1.FileName;
if not OpenDialog1.Execute then
MessageDlg('Файл не выбран!', mtInformation, [mbOK],0)
else //загрузим выбранный файл в Memo1
begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
SaveDialog1.InitialDir:=GetCurrentDir;
if not SaveDialog1.Execute then
MessageDlg('Файл не выбран!', mtInformation, [mbOK],0)
else //сохраняем в файл
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Close; //закрываем программу
end;
procedure TForm1.XoR1Click(Sender: TObject);
begin
if not InputQuery('XOR','Введите число xor:', xr_num) then Exit; //диалог ввода числа xor
end;
procedure TForm1.N8Click(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.N10Click(Sender: TObject);
begin
Memo1.Lines.Clear; //очистка Memo1
end;
procedure TForm1.N11Click(Sender: TObject);
begin
if N11.Checked then //если флажок установлен
begin
N11.Checked:=False; //сбрасываем флажок
Memo1.ScrollBars:=ssBoth; //добовляем горизонтальную полосу прокрутки
end
else //если флажок не установлен
begin
N11.Checked:=True; //устанавливаем флажок
Memo1.ScrollBars:=ssVertical; //убираем горизонтальную полосу прокрутки
end;
end;
procedure TForm1.N12Click(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;
{если на вход программы поступили параметры, то отображаем
содержимое соотвествующего файла в поле Memo1}
if Str<>'' then
Memo1.Lines.LoadFromFile(str);
end;
end.
Буду очень признателен если поможите