@derDoc: Damit ist das Problem aber nicht gelöst.
@TheFoX: Was ist denn, wenn die Zahl größer als die Zahl wird, der ein "z" zugeordnet wurde? Soll dann wieder bei a angefangen werden?
Schau dir mal folgenden Code an:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.Button1Click(Sender: TObject); var i: Integer; j: Byte; begin j := 64; for i := 0 to 19999 do begin Inc(j); ListBox1.Items.Add(IntToStr(i + 1) + ' : ' + Chr(j)); if j = 90 then j := 64; end; end; |
Der schreibt dir Zahlen von 1 bis 20000 mit dem "dazugehörigen" Buchstaben in eine Listbox. Daraus jetzt einen Code zu machen, der das alles in ein Array schreibt ist nicht schwer. Wenn du aber Probleme bekommst, frag.
//EDIT
Ok, hatte gerade Lust, mal den Code zu tippen. Habe hier aber eine etwas unnötige Konstruktion gemacht. Man könnte auf den Typ "arrayitem" verzichten, da man anhand der Position im Array die Zahl herausbekommt. Nun gut, hier aber mal der Code: (Habe ihn nicht auf korrekte "Füllung des Arrays" geprüft)
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:
| procedure TForm1.Button1Click(Sender: TObject);
type arrayitem = record zahl: Integer; buchstabe: Char; end;
var i: Integer; j: Byte; zahlundbuchstabe: array [0..19999] of arrayitem; begin j := 64; for i := 0 to 19999 do begin Inc(j); zahlundbuchstabe[i].zahl := i + 1; zahlundbuchstabe[i].buchstabe := Chr(j); if j = 90 then j := 64; end; end; |
//Edit2
Habe bei der Prüfung des Codes gemerkt, dass ein Problem entstanden ist. Daher habe ich den Code, den ich oben gepostet habe korrigiert. Diser sollte daher funktionieren.