unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, ExtCtrls, Spin;
type
TForm1 =
class(TForm)
BtnPrepare: TButton;
BtnDelete1: TButton;
BtnCode: TBitBtn;
BtnDelete2: TButton;
BtnDecode: TBitBtn;
BtnClose: TBitBtn;
SpinEdit1: TSpinEdit;
PUe1: TPanel;
ComboBox1: TComboBox;
EKlar: TMemo;
EGeheim: TMemo;
Eergebnis: TMemo;
Label1: TLabel;
procedure ComboBox1Change(Sender: TObject);
procedure BtnDelete1Click(Sender: TObject);
procedure BtnDelete2Click(Sender: TObject);
procedure BtnPrepareClick(Sender: TObject);
procedure BtnCodeClick(Sender: TObject);
procedure BtnDecodeClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
quelltext:
string;
Klartext:
string;
Geheimtext:
string;
implementation
{$R *.dfm}
procedure TForm1.BtnDelete1Click(Sender: TObject);
begin
EKlar.text:='
';
end;
procedure TForm1.BtnDelete2Click(Sender: TObject);
begin
EGeheim.Text:='
';
end;
procedure TForm1.BtnPrepareClick(Sender: TObject);
var i: integer;
c: char;
begin
klartext:=EKlar.text;
quelltext:='
';
for i:=1
to length(klartext)
do
begin
c:=klartext[i];
case c
of
'
A' .. '
Z' : quelltext := quelltext + c;
'
a' .. '
z' : quelltext := quelltext + upcase(c);
'
ß' : quelltext := quelltext + '
SS';
'
ä' : quelltext := quelltext + '
AE';
'
ö' : quelltext := quelltext + '
OE';
'
ü' : quelltext := quelltext + '
UE';
'
Ä' : quelltext := quelltext + '
AE';
'
Ö' : quelltext := quelltext + '
OE';
'
Ü' : quelltext := quelltext + '
UE';
end;
end;
EKlar.text:=quelltext;
end;
procedure TForm1.BtnCodeClick(Sender: TObject);
var i,
ASCII, k:Integer;
c:char;
begin
Geheimtext:='
';
for i:=1
to length(Quelltext)
do
case combobox1.ItemIndex
of
0:
begin
c:=Quelltext[i];
ASCII:=ord(c);
Geheimtext:=Geheimtext + IntToStr(
ASCII);
end;
1:
begin
ASCII:=ord(quelltext[i]);
k:=spinedit1.value;
ASCII:=
ASCII-k;
if ASCII<65
then ASCII:=
ASCII+26;
geheimtext:=geheimtext+chr(
ASCII);
end;
2:
begin
end;
end;
EGeheim.Text:=Geheimtext;
end;
procedure TForm1.BtnDecodeClick(Sender: TObject);
var paar:
string;
ascii, i, k:integer;
zeichen:char;
begin
geheimtext:=EGeheim.text;
klartext:='
';
case ComboBox1.ItemIndex
of
0:
begin
for i:=1
to length(geheimtext)
div 2
do
begin
paar:= geheimtext[2*i-1] + geheimtext[2*i];
ascii:= StrToInt(paar);
klartext:=klartext + chr(
ascii);
end;
end;
1:
begin
for i:=1
to length(geheimtext)
do
begin
zeichen:=geheimtext[i];
ASCII:=ord(zeichen);
k:=spinedit1.value;
ASCII:=
ASCII+k;
if ASCII>90
then ASCII:=
ASCII-26;
klartext:=klartext + chr (
ASCII);
end;
end;
end;
EKlar.text:=klartext;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if Combobox1.itemindex=1
then
begin
spinedit1.visible:=true;
label1.Visible:=true;
end;
if Combobox1.ItemIndex=0
then
begin
spinedit1.Visible:=false;
label1.Visible:=false;
end;
end;
end.