Hört sich doch schon besser an

Ich finde es nur nicht gut wenn jemand sagt: Schreibt mir den Quellcode. Probier es doch so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| function vigenere(x,y: integer; grbuchst: boolean): char; var anfang, ende: char;
function betw(x,a,b: integer): integer; begin if x<a then result:=b-(a-x) else if x>b then result := a+(x-b) else result := x; end;
begin if grbuchst then begin anfang := 'A'; ende := 'Z'; end else begin anfang := 'a'; ende := 'z'; end; result := Chr(betw(Ord(anfang)+(x-1)+(y-1), Ord(anfang), Ord(ende))); end; |
Aufrufen kannst du das dann mit
Stringgrid1.Cells[x,y] := vigenere(x-1,y-1,true);
Falls du denkst: Eigentlich unsinnig, im aufruf -1 und in der Funktion +1, dann denk daran, das dein Stringgrid von 0 ausgeht und das vigenere quadrat an sich unter 1 die reihe versteht, die mit B anfängt (BCDEFGHI...XYZA)
Jedenfalls nach meinem Kryptographie Buch (Geheime Botschaften - Simon Singh)
Der Parameter grbuchst gibt an ob grossbuchstaben zurückggegeben werden sollen. die funktion betw ist eigentlich nur zur besseren übersicht.
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.