Autor Beitrag
delphineuling
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

XP
wat dat
BeitragVerfasst: 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 user profile iconUGrohne: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: 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 :roll:

AXMD
delphineuling Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

XP
wat dat
BeitragVerfasst: Fr 24.02.06 12:23 
Ups vergessen!
ausblenden volle Höhe 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:
24:
25:
26:
27:
28:
29:
30:
31:
mmh:= Random(100) + 1;  

 
If RadioButton1.Checked Then //RadioButton oft  
If mmh > 25 Then   
begin  
//tue alles mit Listbox1    
end    
else begin    
  //tue alles mit Listbox2   
end;  

 
If RadioButton2.Checked Then //RadioButton normal  
If mmh > 50 Then   
begin  
//tue alles mit Listbox1    
end    
else begin    
  //tue alles mit Listbox2   
end;  

 
If RadioButton3.Checked Then //RadioButton selten  
If mmh > 75 Then   
begin  
//tue alles mit Listbox1    
end    
else begin    
  //tue alles mit Listbox2   
end;


Moderiert von user profile iconAXMD: Code- durch Delphi-Tags ersetzt
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Fr 24.02.06 12:33 
user profile iconMiri 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... :motz:

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 :roll:
AXMD
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 4006
Erhaltene Danke: 7

Windows 10 64 bit
C# (Visual Studio 2019 Express)
BeitragVerfasst: Fr 24.02.06 12:35 
user profile iconNoTVerYEvilPzYchO hat folgendes geschrieben:
das ist toll, wenn das, was er will, in einem anderem thread steht... :motz:


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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: 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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

XP
wat dat
BeitragVerfasst: Fr 24.02.06 19:32 
Also mein Code bei Buttononclick sieht jetzt so aus:
ausblenden 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 user profile iconAXMD: Code- durch Delphi-Tags ersetzt
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: 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:

ausblenden 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:

user profile icondelphineuling hat folgendes geschrieben:
ausblenden volle Höhe 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:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
mmh:= Random(100) + 1;  
 
If RadioButton1.Checked Then //ausgang1 zu 75%  
  If mmh > 25 Then   
    begin  
      //ausgang1   
      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    
    //ausgang2 
  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 //ausgang1 zu 50%
  If mmh > 50 Then   
    begin  
      //ausgang1   
      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    
    //ausgang2 
  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 //ausgang1 zu 25%  
  If mmh > 75 Then   
    begin  
      //ausgang1   
      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    
    //ausgang2 
  label17.Caption:='Wer muss Trinken? ' + listbox1.Items[random(listbox1.items.count)]+' muss einen Kurzen ' + listbox3.items[random(listbox3.Items.Count)]+ ' trinken !';
    end;
delphineuling Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

XP
wat dat
BeitragVerfasst: Sa 25.02.06 01:41 
kann ich das so machen?
ausblenden 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 //ausgang1 zu 75%
  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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 25.02.06 09:36 
Deine Variablen Global deklarieren und randomize nur einmal im Form Create aufrufen.
ausblenden Delphi-Quelltext
1:
If (RadioButton1.Checked =true) and (mmh > 25) and (mode=2) then ...					
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

XP
wat dat
BeitragVerfasst: 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?)

ausblenden volle Höhe 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:
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 //ausgang1 zu 75%
  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 //ausgang1 zu 50%
  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 //ausgang1 zu 25%
  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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Sa 25.02.06 17:22 
user profile icondelphineuling 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

XP
wat dat
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

XP
wat dat
BeitragVerfasst: Mi 01.03.06 08:49 
Ja denke schon, aber da im Button steht glaub ich noch eins!?
Falsch?