Huhu bin neu hier
Wir programmieren zur Zeit in der Schule ein Programm mit welchem man verschiedene Chiffren auf Texte anwenden kann.
Grad bin ich dabei eine Matrix Verschlüsselung zu programmieren (Ein Text wird Zeilenweise in ein Array eingelesen und spaltenweise wieder ausgebeben).
Delphi-Quellcode:
procedure matrix_ver;
const max=100;
var s1,s2:string;
i,k,j :integer;
var Matrix : array[1..max,1..max]of char;
begin
s1:=Chiffre.Original_Text.Text; //Initialisieung der Variablen
s2:='';
x:=trunc(sqrt(length(s1)))+1;
k:=0;
for j := 1 to 100 do
for i := 1 to 100 do Matrix[i,j]:='#';
for j := 1 to x do // Einlesen des Textes ins Array
for i := 1 to x do
begin
k:=k+1;
Matrix[i,j]:=s1[k];
Chiffre.StringGrid1.Cells[i,j]:=s1[k]; // Test ob richtig Eingelesen
end;
for j := 1 to x do // Umgekehrtes Auslesen des Arrays
for i := 1 to x do
s2:=s2 + Matrix[j,i];
Chiffre.Verschluesselt_Text.Text:=s2; // Ausgabe in ein Memo
end;
Mein Problem liegt darin, dass beim Auslesen der Text nicht vollständig "umgewandelt" wird. Selbst mein Inf. Lehrer weiss nicht weiter. Ich hab schon das Programm schrittweise ausgeführt und dabei bemerkt, dass der Text in s2 vollständig ist jedoch nicht vollständig im Memo ausgegeben wird.
Hoffe jemand kann mir helfen
Anbei ist noch Screenshot