Advertisement
Skygen

6d

Nov 23rd, 2014
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.34 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7.   Dialogs, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Memo1: TMemo;
  12.     Memo2: TMemo;
  13.     Button1: TButton;
  14.     Memo3: TMemo;
  15.     Button2: TButton;
  16.     procedure Button1Click(Sender: TObject);
  17.     procedure Button2Click(Sender: TObject);
  18.     procedure FormCreate(Sender: TObject);
  19.   private
  20.     { Private declarations }
  21.   public
  22.     { Public declarations }
  23.   end;
  24.  
  25. var
  26.   Form1: TForm1;
  27.  
  28. implementation
  29.  
  30. {$R *.dfm}
  31.  
  32. function cEcezar(s:string;key:byte):string;
  33. var i:integer; c,d:char;
  34. begin
  35.   for i:=1 to length(s) do
  36.   begin
  37.     c:=s[i];
  38.     if not (c in [#10, #13]) then
  39.       d:=chr((ord(c)+ key)mod 255)
  40.     else d := c;
  41.     Result:=Result+d;
  42.   end;
  43. end;
  44.  
  45.  
  46. function CaesarDecipher(toDecode: string;n:integer): string;
  47. var i, T: integer;
  48. begin
  49.   for i := 1 to length(toDecode) do begin
  50.     T := (Ord(toDecode[ i ]) - n);
  51.     if T < 0 then Inc(T, 256);
  52.     toDecode[ i ] := Chr(T);
  53.   end;
  54.   CaesarDecipher := toDecode;
  55. end;
  56.  
  57.  
  58. procedure TForm1.Button1Click(Sender: TObject);
  59. begin
  60. Memo2.Text := cEcezar(Memo1.Text, 3);
  61. end;
  62.  
  63. procedure TForm1.Button2Click(Sender: TObject);
  64. begin
  65. Memo3.Text := CaesarDecipher(memo2.text,3);
  66. end;
  67.  
  68. procedure TForm1.FormCreate(Sender: TObject);
  69. begin
  70.  
  71. end;
  72.  
  73. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement