Hallo!
Und zwar habe ich ein Problem beim Erstellen eines Programmes! In diesem Programm soll man ein Text eingeben können, der dann in eine StringGrid-Komponente geschrieben wird (also jeder einzelne Buchstabe in eine StrinGridZelle). Danach soll nach Klick auf einen Button diese einzelnen Buchstaben in den StringGrid-Zellen spaltenweise aus der StringGrid-Komponente ausgelesen werden und somit verschlüsselt ausgegeben werden, z.B.:
D I E S E
N A C H R I
C H T I S
T S T R E
N G G E H
E I M ! ! !
--> verschlüsselt: DNCTNEIAH GIECTS MSH TG!ERIRE! ISEH!
meine StringGrid-Komponente hat 6 Spalten und 6 Zeilen
Quelltext:
Delphi-Quellcode:
procedure Tform1.ButtonOK Click(Sender:Tobject);
var s:string; i:integer;
begin
s:=EingabeEdit.Text+’************************************’;
for i:=1 to 6 do
begin
SG.Cells[i,1]:=s[i];
SG.Cells[i,2]:=s[i+6];
SG.Cells[i,3]:=s[i+12];
SG.Cells[i,4]:=s[i+18];
SG.Cells[i,5]:=s[i+24];
SG.Cells[i,6]:=s[i+30];
end;
end;
procedure Tform1.ButtonVerschluesseln Click(Sender:Tobject);
var s:string; i:integer; textneu:string;
begin
textneu:=’’;
for i:=1 to 6 do
begin
textneu:=textneu+SG.Cells{i,1];
textneu:=textneu+SG.Cells{i,2];
textneu:=textneu+SG.Cells{i,3];
textneu:=textneu+SG.Cells{i,4];
textneu:=textneu+SG.Cells{i,5];
textneu:=textneu+SG.Cells{i,6];
end;
AusgabeEdit.Text:=textneu;
end;
Das Programm funktioniert zwar, aber ich suche nach einer besseren Möglichkeit, wie ich das Problem lösen kann, wenn der Text weniger als 36 Zeichen hat und leere StringGrid-Zellen vorhanden sind! Wenn der Text kürzer als 36 Zeichen ist, dann soll in diesen leeren StringGrid-Zellen ein * stehen! bisher habe ich einfach an den eingegebenen Text * angehängt! Jedoch suche ich nach einer besseren Lösung! Mit einer if-Anweisung oder so!
Hat vielleicht jemand eine Idee und kann mir helfen???
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]