var
Form1: TForm1;
eingabeT, ausgabeT :
string;
//Eingabetext, Ausgabetext
implementation
{$R *.dfm}
function CharToBin(AChar : char):
string;
var
I: Integer;
begin
SetLength(result, 8);
for I := 1
to 8
do
begin
if (Byte(AChar)
shr (8-i))
and 1 = 0
then
result[i] := '
0'
else
result[i] := '
1';
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenTextFileDialog1.Execute
then
Memo1.Lines.LoadFromFile(OpenTextFileDialog1.FileName);
end;
procedure TForm1.Button2Click(Sender: TObject);
//Leerzeichen entfernen
begin
Memo1.Text:=StringReplace(Memo1.Text,'
','
',[rfReplaceAll]);
end;
procedure TForm1.Button3Click(Sender: TObject);
//Eingabetext umwandeln
var I, eingabeL : integer;
//eingabeL = Länge des Eingabetextes
begin
Memo2.Clear;
eingabeT:=Memo1.Text;
eingabeL:=Length(Memo1.Text);
ausgabeT:='
';
for I := 1
to eingabeL
do
begin
ausgabeT:= ausgabeT + CharToBin(eingabeT[I]);
end;
ausgabeT:= ausgabeT + '
00000100';
//Abbruchbedingung anhängen
while length(ausgabeT)
mod 3 <> 0
do //Prüfen, ob durch 3 teilbar
ausgabeT:= ausgabeT + '
0';
Memo2.Lines.Add(ausgabeT);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if SaveTextFileDialog1.Execute
then
Memo2.Lines.SaveToFile(SaveTextFileDialog1.FileName+'
.txt');
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute
then
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
procedure TForm1.Button7Click(Sender: TObject);
//Text im Bild verstecken
var Kx,Ky : integer;
// Kx/Ky = Koordinate x/y
farbe : longint;
R,G,B : byte;
begin
for Ky := 0
to Image1.Picture.Height - 1
do
begin
for Kx := 0
to Image1.Picture.Width - 1
do
begin
if ausgabeT <> '
'
then
begin
farbe:= colortorgb(Image1.Canvas.Pixels[Kx,Ky]);
R:= GetRValue(farbe);
G:= GetGValue(farbe);
B:= GetBValue(farbe);
R:= R
shr 1
shl 1;
R:= R + StrToInt(ausgabeT[1]);
G:= G
shr 1
shl 1;
G:= G + StrToInt(ausgabeT[2]);
B:= B
shr 1
shl 1;
B:= B + StrToInt(ausgabeT[3]);
Image1.Canvas.Pixels[Kx,Ky]:=
RGB(R,G,B);
Delete(ausgabeT,1,3);
end
else
exit;
end;
end;
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
if SavePictureDialog1.Execute
then
Image1.Picture.SaveToFile(SavePictureDialog1.FileName+'
.bmp');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Clear;
Memo2.Clear;
end;
end.