Hi!
So geht es:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25:
| procedure TForm1.Button1Click(Sender: TObject); VAR i,k : Integer; temp : String; begin memo1.lines.clear;
for i:=0 to 999 do begin k:=i; temp := '';
repeat temp := Chr(k mod 26 + 65) + temp; k := k div 26; until k = 0;
while Length(temp) < 4 do temp := 'A' + temp;
Memo1.Lines.Add(IntToStr(i) + ' : '+temp); end; end; |
So, kurz noch zur Erklärung anhand unseres Dezimalsystems. Nehmen wir an, ich möchte aus der Zahl 135 die Ziffern herausbekommen.
Dann ist 135 mod 10 = 5, also die letzte Ziffer.
135 div 10 ergibt 13.
13 mod 10 ergibt 3, also die vorletzte Ziffer.
13 div 10 ergibt 1.
1 mod 10 ergibt 1, also die erste Ziffer.
Und so funktioniert es hier auch, nur das hier die Basis 26 verwendet wird und aufgrund des Zeichensatzes eine Verschiebung um 65 hinzukommt.
Mfg
Peter
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".