![]() |
Delphi-Version: 7
Listbox Zahlen erhöhen
Hi ich möchte ne Listbox in der Zahlen stehen, die sich erhöhen also 1 --> 2 ---> 3 (von Würfelsimulation (Zahlen von 2-12))
Danke für Hilfe! |
AW: Listbox Zahlen erhöhen
Und was genau ist dein Problem dabei? Was hast du schon versucht und was ging nicht?
|
AW: Listbox Zahlen erhöhen
Zitat:
Hört sich aber eher an nach Ich bin jetzt hier, also macht mal für mich. |
AW: Listbox Zahlen erhöhen
Sorry, hatte gerade keine Zeit gehabt...
Die Sache ist die... Ich hab ein Programm in dem 2 "Würfel" gewürfelt werden und die Augenzahlen dann addiert werden (also nur Zahlen von 2 bis 12). Jetzt möchte ich die Zahlen [hab eine Variable summe : Array[2..12] of Integer;] in eine Listbox schreiben. Das ist auch kein Problem. Bei meinem Info-Lehrer habe ich gesehen dass die Zahlen (in der Listbox) nicht aus dem nichts auftauchen, sondern sich erhöhen also z.B: Für 7: 1 --> 2 --> 3 --> 4 --> 5 ... oder so. Da ich ein Array habe weis ich jetzt nicht wie man das macht dass sich die Zahlen erhöhen... Meine Idee war, die Items aus der Listbox immer wieder zu löschen und neu reinzuschreiben um die Zahlen zu erhöhen. Hier die Prozedur um zu würfeln:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i,k,w1,w2 : integer; summe : array[2..12] of Integer; begin randomize; button1.enabled := false; k := strtoint(edit1.Text); nabled := false; listbox1.Clear; for i := 2 to 12 do summe[i] := 0; for i := 1 to k do begin listbox1.Clear; w1 := Random(6)+1; w2 := Random(6)+1; inc(summe[w1+w2]); sleep(50); end; for i := 2 to 12 do begin listbox1.Items.Add(floattostr(summe[i])); end; button1.Enabled := true; end; |
AW: Listbox Zahlen erhöhen
Ich Verstehe leider nicht worauf genau Du hinaus willst obwohl Du es ja anscheinend beschrieben hast, aber IntToStr() würde ich anstelle von FloatToStr() einsetzen.
|
AW: Listbox Zahlen erhöhen
Ok, danke für den Tipp.
Normalerweise steht in der Listbox ja nichts, und auf einmal, wenn k-mal gewürfelt wurde, werden alle Zahlen hineingeschrieben. aber ich möchte es so machen dass wenn z.B. eine 2 gewürfelt wurde, die Anzahl der Zweien um 1 steigt und das auch so in der Listbox angezeigt wird. Ich hoffe ich kann es irgendwie verständlich machen. |
AW: Listbox Zahlen erhöhen
1) randomize; nur einmalig in FormCreate aufrufen und nicht bei jedem ButtonClick
2) lass das mit dem Array sein 3) die Würfelfunktion würde ich nach dem KISS-Prinzip schreiben
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var Wuerfel1, Wuerfel2: 1 .. 6; Summe: 2 .. 12; // Das hier ist kein Array! Falls es hier Fehler beim Kompilieren gibt, schreib einfach Byte hin. begin Wuerfel1 := Random(6) + 1; Wuerfel2 := Random(6) + 1; Summe := Wuerfel1 + Wuerfel2; end; |
AW: Listbox Zahlen erhöhen
Ist die Listbox denn so etwas wie ein Zähler, wo gezählt werden soll wie oft eine Zahl gewürfelt wurde?
Falls ja, dann würd ich entweder 2 Arrays anlegen (für jeden Würfel = 1..6) oder ein gemeinsames Array fürs Ergebniss aus Würfel 1+2. In beiden Fällen würde es ausreichen die Listbox Items direkt zu bearbeiten und nicht jedesmal alles neu erstellen lassen, das vermindert ein Flickern, oder BeginUpdate/EndUpdate für die Listbox einsetzen. Ps: Die Listbox selbst kann auch dein Array sein, du musst dann halt nur mit Festen Index Werten umgehen, also Wissen das Index=0 deinem Würfelwert von 2 entspricht zum Beispiel. Also Listbox erstmal mit 10 leeren strings füllen, danach deine Würfelei, danach Listbox Item Text erneuern. |
AW: Listbox Zahlen erhöhen
Ja, also da soll die Anzahl der Zweien, Dreien, ..., Zwölfen angezeigt werden (später noch grafisch dargestellt)
aber wie schaffe ich es dass sich die Zahlen in der Listbox (wie in meinem letzten Beitrag beschrieben) erhöhen. Also in der Listbox: wenn eine 7 gewürfelt wurde: Anzahl: 0 --> 1 --> 2 ---> 3 (so soll es dargestellt werden, damit man sehen kann wie die Anzahl steigt. |
AW: Listbox Zahlen erhöhen
Angenommen Würfel A = 5 und Würfel B = 6, was soll in deiner Anzeige bei dieser Paarung Angezeigt werden?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz