Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- simple,simple2: array of Char;
- ///---------------------------------------------------------------------------
- function get_num(inn :char; arr: array of Char):integer;
- var
- i :integer;
- begin
- for i:=0 to length(arr)-1 do
- if (arr[i]=inn) then
- result:=i;
- end;
- ///---------------------------------------------------------------------------
- procedure change(crypt:boolean);
- var
- i:integer;
- temp: Char;
- begin
- if crypt then //шифровка
- begin
- for i:=0 to length(simple)-1 do
- begin
- simple2[strtoint(form1.edit2.text[i+1])-1]:=simple[i];
- end;
- end
- else
- begin
- for i:=0 to length(simple)-1 do
- begin
- simple2[i]:=simple[strtoint(form1.edit2.text[i+1])-1];
- end;
- end;
- end;
- function getres():string;
- var
- i:integer;
- res:string;
- begin
- for i:=0 to length(simple2)-1 do
- begin
- res:=res+simple2[i];
- end;
- result:=res;
- end;
- function add(str:string; key:integer):string; //дополнить до
- var
- i,len:integer;
- res: string;
- begin
- if (length(str) mod key =0)then
- Result:=str
- else
- begin
- len:=key-(length(str) mod key);
- for i:=1 to len do
- begin
- //res:=res+'Z';
- res:=res+eng[RandomRange(0, 24)];
- end;
- result:=str+res;
- end;
- end;
- function csimple(str:string; lkey:integer; crypt:boolean):string;
- var
- i,j: integer;
- res: string;
- begin
- j:=0;
- for i:=1 to length(str) do
- begin
- simple[j]:=str[i];
- inc(j);
- if j>=lkey then
- begin
- j:=0;
- change(crypt);
- res:=res+getres();
- end;
- end;
- result:=res;
- end;
- ///---------------------------------------------------------------------------
- procedure TForm1.Button3Click(Sender: TObject);//зашифровать
- begin
- setlength(simple,spinedit2.value);
- setlength(simple2,spinedit2.value);
- memo5.Text:=AnsiUpperCase(memo5.Text);
- memo5.Text:=add(memo5.Text,spinedit2.value);
- memo4.Text:=csimple(memo5.text,spinedit2.value,true);
- end;
- procedure TForm1.Button4Click(Sender: TObject);//расшифровать
- begin
- memo6.Text:=csimple(memo4.text,spinedit2.value,false);
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement