Autor |
Beitrag |
Lena00
Beiträge: 65
Erhaltene Danke: 4
|
Verfasst: Mi 29.11.17 16:48
Du meintest ja sie werden als "Zeichenkette" gelesen, vielleicht gibt es ja eine andere Möglichkeit
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 29.11.17 16:51
Zeichenkette statt Zahl ist schon das, was wir wollen. Zum einen kann die Listbox gar nix anderes ( , naja, das mit den TObjects geht schon noch, aber das hattest du ja schon, ist erstmal zu schwer), zum anderen wollen wir später ja auch noch die Spielernamen mit dazu tun.
OK, kleiner Schubs: wie ist das denn so mit rechts- und linksbündig, hilft das vielleicht was?
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Lena00
Beiträge: 65
Erhaltene Danke: 4
|
Verfasst: Mi 29.11.17 17:05
Das wirft ejtzt noch eher ein Fragezeichen auf... aber theoretisch müssten die Zahlen ja schon "linksbündig" sein, weil man sie ja "von links liest", heißt, die Anzahl der Stellen der Zahl und das "von links geordnet" gibt die Reihenfolge an
Hoffentlich etwas verständlich was ich mein
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 29.11.17 17:08
Ich versteh dich schon, sonst frag ich einfach. Und das tue ich auch gleich: sicher, dass du nicht zufällig Links und Rechts im Kopf "vertauscht" hast beim Schreiben?
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Mi 29.11.17 17:15
Hast du schonmal schriftlich Zahlen addiert? Das hilft vielleicht
_________________ most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
|
|
Lena00
Beiträge: 65
Erhaltene Danke: 4
|
Verfasst: Mi 29.11.17 17:18
Ja klar!
okay, mein Denkfehler
|
|
Lena00
Beiträge: 65
Erhaltene Danke: 4
|
Verfasst: Mi 29.11.17 17:19
Aber kein Plan wie das bei Delphi umgesetzt wird
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Mi 29.11.17 17:21
welchen Wert hat denn die Hunderterstelle von 64?
_________________ most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
|
|
Lena00
Beiträge: 65
Erhaltene Danke: 4
|
Verfasst: Mi 29.11.17 17:33
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 29.11.17 17:35
Und welcher Ziffer entspricht "nix"?
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Lena00
Beiträge: 65
Erhaltene Danke: 4
|
Verfasst: Mi 29.11.17 17:36
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 29.11.17 17:40
Na, war doch gar nicht so schwer. Wenn man also die Text-Zahlen "vorne" mit Nullen "auffüllt", dann werden die bei einem Textvergleich trotzdem korrekt sortiert.
Aber wie macht man das? Kein Rätselraten, das geht so:
Delphi-Quelltext 1:
| ListBox1.Items.Add(Format('%.04d', [Random(1000)])); |
Was passiert da? Das schreibe ich dir in den nächsten Beitrag, inzwischen probiert du das einfach mal aus.
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 29.11.17 17:46
Zerlegen wir mal die Zeile:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| ListBox1.Items.Add(Format('%.04d', [Random(1000)])); Random(1000) [Random(1000)] Format('%.04d', [Random(1000)]) |
Ausprobiert? Klappt?
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Lena00
Beiträge: 65
Erhaltene Danke: 4
|
Verfasst: Mi 29.11.17 17:53
Ausprobiert und ja es funktioniert, jetzt müssen sie noch sortiert werden und meine Zahlen müsssen aus einem Edit-Feld entnommen werden
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 29.11.17 17:55
Ähm, sortiert sollten sie doch schon sein, oder hast du die Eigenschaft .Sorted der Listbox wieder auf FALSE gestellt?
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Lena00
Beiträge: 65
Erhaltene Danke: 4
|
Verfasst: Mi 29.11.17 18:00
Im Objektinspektor ist sorted auf true gestellt
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 29.11.17 18:03
Du bist etwas spärlich mit den Rückmeldungen, ich kann deinen Bildschirm ja nicht sehen...
Werden die Zufallszahlen jetzt korrekt sortiert in der Listbox angezeigt, wenn du den Button ein paar mal angeklickt hast (klar, "falsch" rum, du willst ja absteigend haben, kommt noch)?
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|
Lena00
Beiträge: 65
Erhaltene Danke: 4
|
Verfasst: Mi 29.11.17 18:08
Nein sie werden nicht geordnet angezeigt
Bild der Box im Anhang
Einloggen, um Attachments anzusehen!
|
|
Symbroson
Beiträge: 382
Erhaltene Danke: 67
Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
|
Verfasst: Mi 29.11.17 18:11
darf ich nochmal dazwischengrätschen
Zitat: | Zahlen müsssen aus einem Edit-Feld entnommen werden |
Die Zahlen aus dem Edit-Feld zu holen sollte kein Problem sein. Du musst nur anstatt den Zufallszahlen die Zahlen aus den TextEdits in die ListBox hinzufügen.
Die zu Formatieren geht umständlich nach der eben von Narses beschriebenen Methode:
Delphi-Quelltext 1:
| ListBox.Items.Add(Format('%.04d', [strtoint(Edit.Text)]); |
oder effizient:
Delphi-Quelltext 1:
| ListBox.Items.Add(Copy('0000'+Edit.Text, length(Edit.Text)+1, 4)); |
Dabei fügen wir einfach unserer Zahl, die ja schon als Zeichenkette vorliegt, vorne vier nullen hinzu, und kopieren dann sozusagen die letzten vier stellen der neuen Zeichenkette in die ListBox.
Wir umgehen somit die Umwandlung einer Zeichenkette in einen Integerwert und die Formatierung
_________________ most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)
Zuletzt bearbeitet von Symbroson am Mi 29.11.17 18:17, insgesamt 4-mal bearbeitet
|
|
Narses
Beiträge: 10181
Erhaltene Danke: 1254
W10ent
TP3 .. D7pro .. D10.2CE
|
Verfasst: Mi 29.11.17 18:13
OK, kann es sein, dass du noch Code(-Reste) von dem vorigen Versuch drin hast (mit den TObjects), so dass die Listbox nicht wie erwartet funktioniert?
Mach mal folgendes: lösche die Listbox wieder aus dem Formular, dann kommentierst du die Zeile mit dem Zahl-Einfügen in der Button-Methode aus (einfach zwei Schrägstriche an den Anfang der Zeile machen). Jetzt versuchen zu compilieren: falls es noch Rest vom ersten Versuch gibt, sollten die jetzt als Fehler aufploppen: rauslöschen, bis sich das Programm wieder kompilieren lässt.
_________________ There are 10 types of people - those who understand binary and those who don´t.
|
|