Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - "ketten" erzeugen
The-FoX - Do 21.08.03 02:59
Titel: "ketten" erzeugen
Hi.
Wie kann ich z.B. automatisch die Zahlen 1 - 20000 erzeugen und denen jeweils a für 1, b für 2 usw. zuweisen? Ich habe das Gefühl das es irgendwas mit arry zu tun hat, komm aber nicht drauf.
thx im vorraus!
derDoc - Do 21.08.03 07:52
Wie wäre folgender Vorschlag:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var i: Integer; Zahlen: array [0..19999] of Integer; begin for i := 0 to 19999 do begin Zahlen[i] := i+1; end; end; |
The-FoX - Mo 25.08.03 04:53
ok, thx!
Aya - Mo 25.08.03 05:14
Hi,
| derDoc hat folgendes geschrieben: |
Wie wäre folgender Vorschlag:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| var i: Integer; Zahlen: array [0..19999] of Integer; begin for i := 0 to 19999 do begin Zahlen[i] := i+1; end; end; | |
Schaut verwirrt... was soll das bringen ausser einem ungeheuren, total überflüssigem Speicherverbrauch??? ;)
Au'revoir,
Aya~
@FoX: Aber ich verstehe deine frage nich so richtig... erklär mal genauer was du erreichen willst.
DeCodeGuru - Mo 25.08.03 08:16
@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.
Taurin - Mo 25.08.03 17:11
Ähhh..... Was haltet ihr davon????
Delphi-Quelltext
1: 2: 3: 4:
| function MakeTheChar(a :Cardinal) :char; begin result := chr(((a-1) mod 26) + ord('A')); end; |
derDoc - Mo 25.08.03 19:06
Wenn ich die Frage am Anfang richtig verstanden habe will er a = 1, b = 2, ...
Frage an den Autor der ersten Frage:
Wie soll es nach z weitergehen? Wieder a oder aa?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!