| Autor |
Beitrag |
delphineuling
      
Beiträge: 113
XP
wat dat
|
Verfasst: Fr 24.02.06 12:04
Wie muss ich diesen Code umschreiben für Radiogroups und wohin muss ich den schreiben? In die Radiogroup oder in den Button, womit ich das ganze Programm starte, oder dahin, was von diesen Radiogroups gesteuert werden soll, in diesen Fall die Listboxen?! Moderiert von UGrohne: Topic aus Sonstiges (Delphi) verschoben am Sa 25.02.2006 um 02:35
Zuletzt bearbeitet von delphineuling am Fr 24.02.06 19:38, insgesamt 1-mal bearbeitet
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Fr 24.02.06 12:09
Diesen Code? Welcher Code? Vielleicht würde es helfen, wenn du den Code posten würdest und genau erklären würdest, was du eigentlich genau willst
AXMD
|
|
delphineuling 
      
Beiträge: 113
XP
wat dat
|
Verfasst: Fr 24.02.06 12:23
Ups vergessen!
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: 26: 27: 28: 29: 30: 31:
| mmh:= Random(100) + 1;
If RadioButton1.Checked Then If mmh > 25 Then begin end else begin end;
If RadioButton2.Checked Then If mmh > 50 Then begin end else begin end;
If RadioButton3.Checked Then If mmh > 75 Then begin end else begin end; |
Moderiert von AXMD: Code- durch Delphi-Tags ersetzt
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Fr 24.02.06 12:27
Mit dem Code bin ich genau so schlau wie zuvor. Ich verstehe noch immer nicht, was du eigentlich willst...
AXMD
|
|
Miri
      
Beiträge: 657
Delphi 3 Prof., Delphi 2005 PE
|
Verfasst: Fr 24.02.06 12:28
das gehört wohl in die procedure vom button, mit dem du das mit den listboxen machen willst...
@axmd
er will aus zwei listboxen zufällig wörter auswählen (war in nem anderen thread), und will das die jeweilige listbox auch zufällig ausgewählt wird...
dafür soll es drei stufen geben, je nach dem ob die wahrscheinlichkeit für listbox1 am höchsten, oder am niedrigsten oder gleichmäßig verteilt sein soll...
|
|
Marc.
      
Beiträge: 1876
Erhaltene Danke: 129
Win 8.1, Xubuntu 15.10
|
Verfasst: Fr 24.02.06 12:33
Miri hat folgendes geschrieben: | das gehört wohl in die procedure vom button, mit dem du das mit den listboxen machen willst...
@axmd
er will aus zwei listboxen zufällig wörter auswählen (war in nem anderen thread), und will das die jeweilige listbox auch zufällig ausgewählt wird...
dafür soll es drei stufen geben, je nach dem ob die wahrscheinlichkeit für listbox1 am höchsten, oder am niedrigsten oder gleichmäßig verteilt sein soll... |
das ist toll, wenn das, was er will, in einem anderem thread steht...
Außerdem verstehe ich noch immer nicht den Topic-Satz: "Weil mache ich diesen Code..." ... Was du wolle?
Wie wäre es denn, wenn manche user hier mal etwas mehr intellegenz unter beweiß stellen würden 
|
|
AXMD
      
Beiträge: 4006
Erhaltene Danke: 7
Windows 10 64 bit
C# (Visual Studio 2019 Express)
|
Verfasst: Fr 24.02.06 12:35
NoTVerYEvilPzYchO hat folgendes geschrieben: | das ist toll, wenn das, was er will, in einem anderem thread steht...  |
Seh ich ebenso. Daher würd ich den Autor des Topics bitten, eine komplette Problembeschreibung (ohne Verweis auf ein anderes Topic) in dieses Topic zu stellen; und bei dieser Gelegenheit auch gleich den Titel zu ändern - ob "weil" oder "wie" - der Titel ist nichtssagend.
AXMD
|
|
Miri
      
Beiträge: 657
Delphi 3 Prof., Delphi 2005 PE
|
Verfasst: Fr 24.02.06 12:35
dat passt schon... heißt ja "neue frage, neuer thread"... das mit dem werte aus der listbox auswählen war im anderen ( www.delphi-forum.de/...56380&highlight=), jetzt ging es nur noch drum, die jeweilige listbox auszuwählen, und das mit ner unterschiedlichen wahrscheinlichkeit... so falsch ist das also nicht
aber mit dem titel geb ich dir recht 
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Fr 24.02.06 12:43
Nachdem das geklärt ist, könnt Ihr ja zum Thema zurückkommen 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Miri
      
Beiträge: 657
Delphi 3 Prof., Delphi 2005 PE
|
Verfasst: Fr 24.02.06 12:46
@christian,
hab ihm doch schon gesagt, was er wissen wollte:
es gehört in die buttonclick procedure, in der das ganze gestartet werden soll... und umgeschrieben werden, muss da, wenn ichs richtig überblicke, nichts mehr...
|
|
delphineuling 
      
Beiträge: 113
XP
wat dat
|
Verfasst: Fr 24.02.06 19:32
Also mein Code bei Buttononclick sieht jetzt so aus:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.Button1Click(Sender: TObject); var mode:integer; begin randomize; mode:=random(2)+1; if mode=2 then begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss ' + listbox4.Items[random(listbox4.Items.Count)]+ ' ' + listbox2.items[random(listbox2.Items.Count)]+ ' trinken !'; end else begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss einen Kurzen ' + listbox3.items[random(listbox3.Items.Count)]+ ' trinken !'; end; end; |
Und wie muss das jetzt aussehen, wenn ich den Code den ich oben angegeben habe, da noch einfüge?Komm da voll dureinander!
Und ich hab ja auch keine Radiobuttons sondern Radiogroups und zwar für jede der zwei Listboxen.
Und danke Miri das du dich auch mal für mich einsetzt!
Moderiert von AXMD: Code- durch Delphi-Tags ersetzt
|
|
Miri
      
Beiträge: 657
Delphi 3 Prof., Delphi 2005 PE
|
Verfasst: Fr 24.02.06 21:10
Worauf genau willst du denn jetzt hinaus?!
Im großen und ganzen hattest du das von oben doch schon richtig erkannt und an den entsprechenden stellen in dem quellcode oben als kommentar reingeschrieben, an welcher stelle was von dem anderen code passieren soll...
da hast du des rätsels lösung doch schon selbst gehabt...
jedoch kann ich dem mit den radiogroups nicht folgen...
wenn ich dich richtig verstanden habe, hast du ein spielchen, was zwei verschiedene ausgänge hat.
und für diese ausgänge möchtest du drei unterschiedliche wahrscheinlichkeitsverteilungen haben:
Quelltext 1: 2: 3: 4:
| ausgang1 : ausgang2 25 : 75 50 : 50 75 : 25 |
Dann brauchst du nur 3 Radiobuttons, für jede möglichkeit einen. und dann passt das mit deinem code oben verdammt gut zusammen:
delphineuling hat folgendes geschrieben: | 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: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39:
| mmh:= Random(100) + 1; If RadioButton1.Checked Then If mmh > 25 Then begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss ' + listbox4.Items[random(listbox4.Items.Count)]+ ' ' + listbox2.items[random(listbox2.Items.Count)]+ ' trinken !'; end else begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss einen Kurzen ' + listbox3.items[random(listbox3.Items.Count)]+ ' trinken !'; end;
If RadioButton2.Checked Then If mmh > 50 Then begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss ' + listbox4.Items[random(listbox4.Items.Count)]+ ' ' + listbox2.items[random(listbox2.Items.Count)]+ ' trinken !'; end else begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss einen Kurzen ' + listbox3.items[random(listbox3.Items.Count)]+ ' trinken !'; end;
If RadioButton3.Checked Then If mmh > 75 Then begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss ' + listbox4.Items[random(listbox4.Items.Count)]+ ' ' + listbox2.items[random(listbox2.Items.Count)]+ ' trinken !'; end else begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss einen Kurzen ' + listbox3.items[random(listbox3.Items.Count)]+ ' trinken !'; end; | |
|
|
delphineuling 
      
Beiträge: 113
XP
wat dat
|
Verfasst: Sa 25.02.06 01:41
kann ich das so machen?
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Button1Click(Sender: TObject); var mode, mhh:integer; mmh:= Random(100) + 1; randomize; mode:=random(2)+1;
If RadioButton1.Checked Then If mmh > 25 Then begin if mode=2 then begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss ' + listbox4.Items[random(listbox4.Items.Count)]+ ' ' + listbox2.items[random(listbox2.Items.Count)]+ ' trinken !'; end else begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss einen Kurzen ' + listbox3.items[random(listbox3.Items.Count)]+ ' trinken !'; end; |
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Sa 25.02.06 09:36
Deine Variablen Global deklarieren und randomize nur einmal im Form Create aufrufen.
Delphi-Quelltext 1:
| If (RadioButton1.Checked =true) and (mmh > 25) and (mode=2) then ... |
|
|
Miri
      
Beiträge: 657
Delphi 3 Prof., Delphi 2005 PE
|
Verfasst: Sa 25.02.06 12:33
ja, kannst du!
oder du kannst, wie blackheart666 gesagt hat, die if-blöcke zu einem zusammenfassen, das ist weniger schreibarbeit, und vermutlich von der performance her besser, aber im endeffekt das gleiche
nur an das mit dem randomize hatte ich nicht gedacht... es reicht, wenn du den zufallsgenerator ein pro programmdurchlauf startest, das musst du nicht bei jedem button-click machen... aber sonst sollte es so passen 
|
|
delphineuling 
      
Beiträge: 113
XP
wat dat
|
Verfasst: Sa 25.02.06 17:10
Das ganze hab ich jetzt so wie unten zusammengebaut!
Wenn ich das dann ausführe Funktioniert das alles gut, aber nur mit dem ersten Radiobutton, sobald ich den Zweiten oder Dritten auswähle passiert garnichts mehr, egal wie oft ich auf den Button klicke.
( Findet ihr nicht auch das der Random Befehl garnicht so zufällig ist?)
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: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46:
| procedure TForm1.Button1Click(Sender: TObject); var mode, mmh:integer; begin mmh:= Random(100) + 1; mode:=random(2)+1;
...(andere Befehle)...
else begin
If RadioButton1.Checked Then If mmh > 25 Then begin if mode=2 then begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss ' + listbox4.Items[random(listbox4.Items.Count)]+ ' ' + listbox2.items[random(listbox2.Items.Count)]+ ' trinken !'; end else begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss einen Kurzen ' + listbox3.items[random(listbox3.Items.Count)]+ ' trinken !'; end; If RadioButton2.Checked Then If mmh > 50 Then begin if mode=2 then begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss ' + listbox4.Items[random(listbox4.Items.Count)]+ ' ' + listbox2.items[random(listbox2.Items.Count)]+ ' trinken !'; end else begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss einen Kurzen ' + listbox3.items[random(listbox3.Items.Count)]+ ' trinken !'; end; If RadioButton3.Checked Then If mmh > 75 Then begin if mode=2 then begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss ' + listbox4.Items[random(listbox4.Items.Count)]+ ' ' + listbox2.items[random(listbox2.Items.Count)]+ ' trinken !'; end else begin label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss einen Kurzen ' + listbox3.items[random(listbox3.Items.Count)]+ ' trinken !'; end; end; end; |
Ich hoffe ihr blickt da durch und wisst was ich meine!
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: Sa 25.02.06 17:22
delphineuling hat folgendes geschrieben: | ( Findet ihr nicht auch das der Random Befehl garnicht so zufällig ist?)
|
Eigentlich nicht Du hast ja auch kaum Möglichkeiten mit deiner Abfrage.
|
|
delphineuling 
      
Beiträge: 113
XP
wat dat
|
Verfasst: Sa 25.02.06 17:34
Wie ich habe kaum möglichkeiten? Ich habe 4 Listboxen mit ca. 6 Items drinn und da sollte dann nicht 3mal hintereinander genau das gleiche kommen, oder?
|
|
Miri
      
Beiträge: 657
Delphi 3 Prof., Delphi 2005 PE
|
Verfasst: Mo 27.02.06 10:24
führst du im formcreate ein mal randomize; aus?
wenn ja, dürfte das eigentlich schon recht zufällig sein...
|
|
delphineuling 
      
Beiträge: 113
XP
wat dat
|
Verfasst: Mi 01.03.06 08:49
Ja denke schon, aber da im Button steht glaub ich noch eins!?
Falsch?
|
|