unit Mainunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, Vegunit, StdCtrls;
type
TFcryptdecrypt =
class(TForm)
sg1: TStringGrid;
bCrypt: TButton;
Bdecrypt: TButton;
Label1: TLabel;
Label2: TLabel;
Editkey: TEdit;
Label3: TLabel;
Editergebniss: TEdit;
Memogeheim: TMemo;
Label4: TLabel;
procedure FormActivate(Sender: TObject);
procedure bCryptClick(Sender: TObject);
procedure BdecryptClick(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Fcryptdecrypt: TFcryptdecrypt;
veg: TVegenere;
textvar:
string;
implementation
{$R *.dfm}
procedure TFcryptdecrypt.FormActivate(Sender: TObject);
begin
veg:= tvegenere.create;
// Objekt erstellen womit du verschlüsseln/entschlüsseln kannst
veg.ShowQuad(sg1);
// Vigenere-Quadrat im StringGrid anzeigen
end;
procedure TFcryptdecrypt.bCryptClick(Sender: TObject);
var
str:
string;
i: integer;
begin
// String initialisieren und mit allen Zeichen des Memos füllen (dabei werden Zeilenumbrüche in 'str' vermieden, das ist wohl der Sinn)
str:='
';
for i:=0
to memogeheim.Lines.Count-1
do
str:= str+memogeheim.Lines[i];
veg.Setklar(str);
// Dem Objekt den Klartext mitteilen
veg.Setkey(editkey.text);
// Schlüssel setzen
veg.EnCrypt;
// Verschlüsseln
editergebniss.Text:= veg.Getcode;
// Verschlüsselten Text anzeigen
end;
procedure TFcryptdecrypt.BdecryptClick(Sender: TObject);
var
str:
string;
i: integer;
begin
// Das selbe wie oben
str:='
';
for i:=0
to memogeheim.Lines.Count-1
do
str:= str+memogeheim.Lines[i];
veg.Setcode(str);
// Verschlüsselten Text setzen
veg.Setkey(editkey.text);
// Schlüssel setzen
veg.Decrypt;
// Entschlüsseln
editergebniss.Text:= veg.Getklar;
// Entschlüsselten Text anzeigen
end;
end.