Zuerst wird man sich darüber klar, was man eigentlich machen will z.B.:
http://www.lands.de/mathe/verschl.htm
Dann bestimmt man welche Parameter nötig sind, welche Rückgabewerte man erwartet und trennt die Funktion von der Oberfläche:
Delphi-Quellcode:
procedure TForm1.BtVerschClick(Sender: TObject);
begin
EdAusgabe.Text := FunktionsNameDerBeschreibtWasGetanWird(
EdEingabe.Text,
StrToInt(EdMatrixK1.Text),
StrToInt(EdMatrixK2.Text),
StrToInt(EdMatrixK3.Text),
StrToInt(EdMatrixK4.Text));
end;
function FunktionsNameDerBeschreibtWasGetanWird(AValue: string; MatrixK1, MatrixK2, MatrixK3, MatrixK4: Integer): string;
var
MSource: array of array[0..1] of Integer; // 2 Zeilen, beliebige Anzahl Spalten
n, nMax, x, y: Integer;
begin
{Anzahl Spalten der Ausgangsmatrix bestimmen}
nMax := Length(AValue);
SetLength(MSource, (nMax + 1) div 2);
{Ausgangsmatrix füllen}
n := 1;
for x := 0 to High(MSource) do
begin
for y := 0 to 1 do
begin
if n <= nMax then
MSource[x,y] := Ord(AValue[n])
else
MSource[x,y] := 30;
Inc(n);
end;
end;
{...}
end;