|
Текстовый редактор "Блокнот" с функцией шифрования - дешифрования классическими криптографическими методами |
nd;end;procedure TForm1. N10Click (Sender: TObject);beginForm1. Close;end;procedure TForm1. N12Click (Sender: TObject);beginm1. PasteFromClipboard; // вставкаend;procedure TForm1. N14Click (Sender: TObject);beginm1. CopyToClipboard; // копированиеm2. CopyToClipboard;end;procedure TForm1. N13Click (Sender: TObject);beginm1. CutToClipboard; // Вырезаниеend;procedure TForm1. N15Click (Sender: TObject);beginm1. SelText: =''; // Удалениеm2. SelText: ='';m3. SelText: ='';end;procedure TForm1. N18Click (Sender: TObject);var i: integer;beginfor i: =0 to m2. Lines. Count-1 dom2. Lines [i]: ='';m1. SetFocus;MessageDlg ('Выберите метод щифрования! ', mtConfirmation, [mbOk], 0);end;procedure TForm1. Button1Click (Sender: TObject);beginform4. Showmodal;end;procedure TForm1. B1Click (Sender: TObject);label 1,2,3,4,5,6,7;varSL: TStringList;Al,a3,A,st,R,b,c,c2: string; D, MyChr: char;dl, i,j,m,g,n,l,h,Summa,NewCode,k,p,x: integer;A1: ARRAY [1. .34,1. .34] of integer;a2: array [1. .8] of integer;mas: array [1. .11,1. .11] of char;mas1: array [1. .11] of char;t: STRing [8] ; c1: STRing [8] ;beginif form4. radiogroup1. ItemIndex=-1 thenMessageDlg ('Выберите метод щифрования! ', mtConfirmation, [mbOk], 0);if form4. RadioGroup1. ItemIndex=0 thenbeginM2. Clear; m3. Clear;Al: ='';m: =StrToInt (Edit1. Text);SL: = TStringList. Create;SL. Clear;for i: = 0 to m1. Lines. Count-1 dobeginA: = m1. Lines [i] ;For j: =32 to 255 doAl: =Al + Chr (j);R: ='';for j: = 1 to Length (A) dobeginMyChr: =A [j] ;n: =Pos (MyChr, Al);If n = 0Then R: =R + MyChrElseBeginSumma: =n + m;If Summa < 225 // Если предполагаемый номер символа попадает в алфавитThen NewCode: =SummaElse NewCode: = 32 - 1 + (Summa - 255);R: =R+ Al [NewCode] ;End;end;SL. Add (R);end;m2. Clear;m2. Lines: = SL;SL. Free;end;if form4. RadioGroup1. ItemIndex=1 thenbeginM2. Clear; m3. Clear;c: =''; a: =''; b: ='';A: = m1. Text;b: =edit1. Text;1: n: =length (b);dl: =length (a);if n>dl thendelete (b,dl+1,n) elsebeginc: =copy (b,1,n);insert (c,b,n+1); goto 1;end;for i: =1 to dl dobeginp: =ord (a [i]) +strtoint (b [i]);m2. Text: =m2. text+chr (p);end;end;if form4. RadioGroup1. ItemIndex=2 thenbeginM2. Clear; m3. Clear;st: =''; c: =''; a: =''; b: ='';A: = m1. Text;randomize;for i: =1 to 4 dost: =st+chr (i+random (215) +40);edit1. Text: =st;4: n: =length (st);dl: =length (a);if n>dl thendelete (st,dl+1,n) elsebeginc: =copy (st,1,n);insert (c,st,n+1); goto 4;end;for i: =1 to dl dobegink: =ord (a [i]) xor ord (st [i]);m2. Text: =m2. text+chr (k);end;end;if form4. RadioGroup1. ItemIndex=3 thenBEGINM2. Clear; m3. Clear;A: =''; B: =''; c: ='';A: =EDIT1. Text;b: =edit2. Text;c: =m1. Text;n: = length (a);k: = length (b);if n<>k thenbeginMessageDlg ('Число цифр в ключах должны совпадать! ', mtConfirmation, [mbOk], 0);edit1. Clear; edit2. Clear; GOTO 7;end;5: for j: =2 to k+1 domas [1,j]: =a [j-1] ;for j: =2 to n+1 domas [j,1]: =b [j-1] ;for i: =2 to k+1 dofor j: =2 to n+1 dobeginif c<>'' thenbeginmas [i,j]: =c [1] ;delete (c,1,1) endelsemas [i,j]: =' ';end;for i: =n+1 downto 2 dofor j: =n+1 downto 2 doif ord (mas [1, i]) >ord (mas [1,j]) thenfor h: =1 to n+1 dobeginmas1 [h]: =mas [h, i] ;mas [h, i]: =mas [h,j] ;mas [h,j]: =mas1 [h] ;end;for i: =n+1 downto 2 dofor j: =n+1 downto 2 doif ord (mas [i,1]) >ord (mas [j,1]) thenfor h: =1 to n+1 dobeginmas1 [h]: =mas [i,h] ;mas [i,h]: =mas [j,h] ;mas [j,h]: =mas1 [h] ;end;for i: =2 to n+1 dofor j: =2 to n+1 dom2. Text: =m2. Text+mas [i,j] ;if c<>'' then goto 5;7: end;if form4. RadioGroup1. ItemIndex=4 thenbeginM2. Clear; m3. Clear;c: =''; a: =''; b: ='';A: = M1. Text;b: =edit1. Text;for i: =0 to m1. Lines. Count-1 dobegina3: ='';a3: =m1. Lines [i] ;for j: =1 to length (a3) dobeginif ord (a3 [j]) = 184 thenbeginMessageDlg ('Можно вводить только прописные буквы! ', mtConfirmation, [mbOk], 0);m1. Clear;M2. Clear;GOTO 6;end;if (ord (a3 [j]) >= 224) and (ord (a3 [j]) <= 255) thenbeginMessageDlg ('Можно вводить только прописные буквы! ', mtConfirmation, [mbOk], 0);m1. Clear;M2. Clear;M3. Clear;GOTO 6;end;end;end;2: n: =length (b);dl: =length (a);if length (b) >dl thendelete (b,length (a) +1,length (b)) elsebeginc: =copy (b,1,n);insert (c,b,n+1); goto 2;end;for I: =1 to 34 dofor j: =1 to 34 dobegink: = j-i+1;if k=0 then a1 [i,j]: =34 elseif k>0 then a1 [i,j]: =k elsea1 [i,j]: =34+k;end;for i: =1 to length (a) dobeginif a [i] <>'' thenbeginif a [i] =' ' then l: =34 ELSEif a [i] ='Ё' THEN l: =7 ELSEBEGINn: =ord (a [i]) - 191;if (n>=1) and (n<7) then l: =n elseif (n>=7) and (n<34) then l: =n+1;END;end;if b [i] <>'' thenbeginif b [i] =' ' then M: =34 ELSEif b [i] ='Ё' THEN m: =7 ELSEBEGINn: =ord (b [i]) - 191;if (n>=1) and (n<7) then m: =n elseif (n>=7) and (n<34) then m: =n+1;END;end;g: =a1 [M,L] ;if g=7 then d: ='Ё' elseif g=34 then d: =' ' elsebeginif (g>=1) and (g<7) thend: =chr (g+191);if (g>=8) and (g<34) thend: =chr (g-1+191);end;m2. Text: =m2. Text+d;end;6: end;end;procedure TForm1. N19Click (Sender: TObject);beginform4. RadioGroup1. ItemIndex: =0;b1. SetFocus; M2. Clear; M3. Clear;edit2. Visible: =false;label2. Visible: =false;end;procedure TForm1. FormActivate (Sender: TObject);beginm1. SetFocus;end;procedure TForm1. B2Click (Sender: TObject);label 1,2,3,4,5,6,7;var SL: TStringList;Al,A,st,R,b,c,c2: string; D, MyChr: char;dl, i,j,m,g,h,n,l,S,NewCode,k,p,x: integer;A1: ARRAY [1. .34,1. .34] of integer;a2: array [1. .8] of integer; t: STRing [8] ;mas: array [1. .11,1. .11] of char;mas2: array [1. .11,1. .11] of char;mas1: array [1. .11] of char; c1: STRing [8] ;beginif form4. RadioGroup1. ItemIndex=0 thenbeginAl: ='';m: =StrToInt (Edit1. Text);SL: = TStringList. Create;SL. Clear;for i: = 0 to m2. Lines. Count-1 dobeginA: = m2. Lines [i] ;For j: =32 to 255 doAl: =Al + Chr (j);R: ='';for j: = 1 to Length (A) dobeginMyChr: =A [j] ;n: =Pos (MyChr, Al);If n = 0Then R: =R + MyChrElseBeginS: =n - m;If S > 0 // Если предполагаемый номер символа попадает в алфавитThen NewCode: =SElse NewCode: = 224 + S;R: =R+ Al [NewCode] ;End;end;SL. Add (R);end;m3. Clear;m3. Lines: = SL;SL. Free;end;if form4. RadioGroup1. ItemIndex=1 thenbeginM3. Clear;c: =''; a: =''; b: ='';A: = m2. Text;b: =edit1. Text;1: n: =length (b);dl: =length (a);if n>dl thendelete (b,dl+1,n) elsebeginc: =copy (b,1,n);insert (c,b,n+1); goto 1;end;for i: =1 to dl dobeginp: =ord (a [i]) - strtoint (b [i]);m3. Text: =m3. text+chr (p);end;end;if form4. RadioGroup1. ItemIndex=2 thenbeginM3. Clear;st: =''; c: =''; a: =''; b: ='';A: = m2. Text;st: =edit1. Text;4: n: =length (st);dl: =length (a);if n>dl thendelete (st,dl+1,n) elsebeginc: =copy (st,1,n);insert (c,st,n+1); goto 4;end;for i: =1 to dl dobegink: =ord (a [i]) xor ord (st [i]);m3. Text: =m3. text+chr (k);end;end;if form4. RadioGroup1. ItemIndex=3 thenBEGINM3. Clear;A: =''; B: =''; c: ='';A: =EDIT1. Text;b: =edit2. Text;c: =m2. Text;n: = length (a);k: = length (b);if n<>k thenbeginMessageDlg ('Число цифр в ключах должны совпадать! ', mtConfirmation, [mbOk], 0);edit1. Clear; edit2. Clear;end;5: for j: =2 to k+1 domas [1,j]: =a [j-1] ;for j: =2 to n+1 domas [j,1]: =b [j-1] ;for i: =n+1 downto 2 dofor j: =n+1 downto 2 doif ord (mas [1, i]) >ord (mas [1,j]) thenbegind: =mas [1, i] ;mas [1, i]: =mas [1,j] ;mas [1,j]: =d;end;for i: =n+1 downto 2 dofor j: =n+1 downto 2 doif ord (mas [i,1]) >ord (mas [j,1]) thenbegind: =mas [i,1] ;mas [i,1]: =mas [j,1] ;mas [j,1]: =d;end;for i: =2 to k+1 dofor j: =2 to n+1 dobeginif c<>'' thenbeginmas [i,j]: =c [1] ;delete (c,1,1) endelsemas [i,j]: =' ';end;m3. Text: =m1. Text;{for i: =2 to n+1 dobeging: =pos (mas [i,1],b); edit3. Text: =edit3. Text+inttostr (g);for h: =1 to n+1 dobeginmas1 [h]: =mas [i,h] ;mas2 [g,h]: =mas1 [h] ;end;end;for j: =2 to n+1 dobeging: =pos (mas [1,j],a);for h: =1 to n+1 dobeginmas1 [h]: =mas2 [h,j] ;mas [h,g]: =mas1 [h] ;end;end;for i: =2 to n+1 dofor j: =2 to n+1 dom3. Text: =m3. Text+mas [i,j] ;if c<>'' then goto 5; }end;if form4. RadioGroup1. ItemIndex=4 thenbeginM3. Clear;c: =''; a: =''; b: ='';A: = M2. Text;b: =edit1. Text;2: n: =length (b);dl: =length (a);if length (b) >dl thendelete (b,length (a) +1,length (b)) elsebeginc: =copy (b,1,n);insert (c,b,n+1); goto 2;end;for I: =1 to 34 dofor j: =1 to 34 dobegink: = j-i+1;if k=0 then a1 [i,j]: =34 elseif k>0 then a1 [i,j]: =k elsea1 [i,j]: =34+k;end;for i: =1 to length (A) doBEGINif b [i] <>'' thenbeginif b [i] =' ' then M: =34 ELSEif b [i] ='Ё' THEN m: =7 ELSEBEGINn: =ord (b [i]) - 191;if (n>=1) and (n<7) then m: =n elseif (n>=7) and (n<34) then m: =n+1;END;end;if a [i] ='Ё' then g: =7 elseif a [i] =' ' then g: =34 elsebeginx: =ord (a [i]) - 191;if (x>=1) and (x<7) theng: =x elseif (X>=7) and (X<34) then g: =x+1;end;for j: =1 to 34 doif a1 [m,j] =g thenBEGINl: =j;if l=7 then d: ='Ё' elseif l=34 then d: =' ' elsebeginif (l>=1) and (l<7) thend: =chr (l+191);if (l>=8) and (l<34) thend: =chr (l-1+191);END;end;m3. Text: =m3. Text+d;end;end;end;procedure TForm1. N20Click (Sender: TObject);beginform4. RadioGroup1. ItemIndex: =1;b1. SetFocus; M2. Clear; M3. Clear;edit2. Visible: =false;label2. Visible: =false;end;procedure TForm1. Button2Click (Sender: TObject);beginm1. Clear;m2. Clear;m3. Clear;edit1. Clear;edit2. Clear;end;procedure TForm1. N21Click (Sender: TObject);beginform4. RadioGroup1. ItemIndex: =2;b1. SetFocus; M2. Clear; M3. Clear; edit2. Visible: =false;label2. Visible: =false;end;procedure TForm1. N22Click (Sender: TObject);beginM2. Clear; M3. Clear;form4. RadioGroup1. ItemIndex: =3;if form4. radiogroup1. ItemIndex=3 thenbeginedit2. Visible: =true;label2. Visible: =true;endelsebeginedit2. Visible: =false;label2. Visible: =false;end;b1. SetFocus; m3. Clear;end;procedure TForm1. N9Click (Sender: TObject);beginform4. RadioGroup1. ItemIndex: =4; edit2. Visible: =false;label2. Visible: =false;b1. SetFocus; M2. Clear; M3. Clear;end;procedure TForm1. N11Click (Sender: TObject);beginm2. Undo;end;end.unit Unit4;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls;typeTForm4 = class (TForm)RadioGroup1: TRadioGroup;Button1: TButton;procedure Button1Click (Sender: TObject);procedure FormActivate (Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm4: TForm4;implementationuses Unit1;{$R *. dfm}procedure TForm4. Button1Click (Sender: TObject);beginif radiogroup1. ItemIndex=-1 thenMessageDlg ('Выберите метод щифрования! ', mtConfirmation, [mbOk], 0)elsebeginform1. Show;if radiogroup1. ItemIndex=3 thenbeginFORM1. M2. Clear; form1. M3. Clear;form1. edit2. Visible: =true;form1. label2. Visible: =true;endelsebeginform1. edit2. Visible: =false;form1. label2. Visible: =false;end;if radiogroup1. ItemIndex=0 thenbeginform1. M2. Clear; form1. M3. Clear; end;if radiogroup1. ItemIndex=1 thenbeginform1. M2. Clear; form1. M3. Clear; end;if radiogroup1. ItemIndex=2 thenbeginform1. M2. Clear; form1. M3. Clear; end;if radiogroup1. ItemIndex=4 thenbeginform1. M2. Clear; form1. M3. Clear; end;form4. Close;end;end;procedure TForm4. FormActivate (Sender: TObject);beginRadiogroup1. ItemIndex: =-1;end;end.
Страницы: 1, 2
|
|
|
© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент. |
|
|