Veröffentlicht 12. Januar 200619 j Hallo ihr Lieben Ich hab folgendes Problem: Ich habe Labelfelder mit einer Hintergrundfarbe versehen über einen Zufallsgenerator. Ich weiß aber nicht,wie ich die 6 felder für einen Würfel halten kann ( nur die anderen Würfel sollen weiter gewürfelt werden).!?!:confused: Muss ich meine Zählschleife an anderer Stelle starten? :confused: Wie hebe ich den Rnd-Befehl wieder auf,bzw stoppe einen bestimmten Würfel? Hatte die Idee, diese mit Optionbuttons zu halten, konnte aber die Optionbuttion in dem Frame nicht ansprechen (hab die Idee mit den Buttons wegen meiner Ansprech-Probs erstmal auf Eis gelegt *snief*) ...das ist ein Ausschnitt meines codes::mod: Private Sub btnWuerfeln_Click() 'Deklaration' Dim Zaehler As Integer lblZahl1 = Int((6 * Rnd) + 1) lblZahl2 = Int((6 * Rnd) + 1) lblZahl3 = Int((6 * Rnd) + 1) lblZahl4 = Int((6 * Rnd) + 1) lblZahl5 = Int((6 * Rnd) + 1) lblZahl6 = Int((6 * Rnd) + 1) For Zaehler = 1 To 3 'so sieht dann die Würfel- 1 aus' If Me.lblZahl1.Caption = 1 Then Me.lbl1Wuerfel1.BackColor = &H0& Me.lbl1Wuerfel2.BackColor = &H8000000F Me.lbl1Wuerfel3.BackColor = &H8000000F Me.lbl1Wuerfel4.BackColor = &H8000000F Me.lbl1Wuerfel5.BackColor = &H8000000F Me.lbl1Wuerfel6.BackColor = &H8000000F und so geht das dann für die 2,3...usw.. Bitte dringends um HÜLFÄÄÄÄÄÄÄÄÄ!!!
12. Januar 200619 j Naja, ich kann zwar kein VB, aber ich würde es so lösen: Ein Array mit 6 Plätzen. Auf jedem Platz ist ein Array mit 2 Plätzen gespeichert, in dem wiederum ja ein Button und eine zugehörige Checkbox liegen. Wenn man würfelt wird das Array durchlaufen, geprüft ob die Checkbox aktiviert ist: Wenn ja wird der nächste Würfel geprüft, ansonsten wird der Würfel neu gesetzt.
12. Januar 200619 j Naja, ich kann zwar kein VB, aber ich würde es so lösen: Ein Array mit 6 Plätzen. Auf jedem Platz ist ein Array mit 2 Plätzen gespeichert, in dem wiederum ja ein Button und eine zugehörige Checkbox liegen. Wenn man würfelt wird das Array durchlaufen, geprüft ob die Checkbox aktiviert ist: Wenn ja wird der nächste Würfel geprüft, ansonsten wird der Würfel neu gesetzt. mhhhhhh an Checkboxen kombiniert mit optionsbuttons hab ich noch garnicht gedacht....*nacdenk*
13. Januar 200619 j ich hab jetzt folgendes gecodet: If Me.cboZahlHalten1.Value = False Then Me.lbl1Wuerfel1 = Enabled Me.lbl1Wuerfel2 = Enabled Me.lbl1Wuerfel3 = Enabled Me.lbl1Wuerfel4 = Enabled Me.lbl1Wuerfel5 = Enabled Me.lbl1Wuerfel6 = Enabled Else End If Aber die 6 Labelfelder erhalten weiterhin einen Wert..och menno Wer kann mir helfen?
17. Januar 200619 j In Delphi würde ich es so machen. Endweder mit zur Entwurfszeit implementierten Objekten. Dann musst du aber sechs mal den gleichen Code schreiben // Für das erste Label randomize; if checkbox1.Checked then begin j:=random(6); if J=0 then J:=1; case J of 1: label1.Color:= clblack; 2: label1.Color:= clwhite; 3: label1.Color:= clred; 4: label1.Color:= clgreen; 5: label1.Color:= clyellow; 6: label1.Color:= clskyblue; end; label1.caption:= inttostr(j); end; Oder mit zur Laufzeit erstellten Objekten. Dann gilt der gleiche Code für alle Objekte randomize; For i:=0 to 5 do begin if checkboxes[i].checked then begin //dynamische checkboxen j:=random(6); if J=0 then J:=1; case J of 1: labels[i].Color:= clblack; //dynamsiche Labels 2: labels[i].Color:= clwhite; 3: labels[i].Color:= clred; 4: labels[i].Color:= clgreen; 5: labels[i].Color:= clyellow; 6: labels[i].Color:= clskyblue; end; labels[i].caption:= inttostr(j); end; end; [/PHP] Der Code ist nicht getestet. MVG need-some-blood
18. Januar 200619 j In Delphi würde ich es so machen. Endweder mit zur Entwurfszeit implementierten Objekten. Dann musst du aber sechs mal den gleichen Code schreiben // Für das erste Label randomize; if checkbox1.Checked then begin j:=random(6); if J=0 then J:=1; case J of 1: label1.Color:= clblack; 2: label1.Color:= clwhite; 3: label1.Color:= clred; 4: label1.Color:= clgreen; 5: label1.Color:= clyellow; 6: label1.Color:= clskyblue; end; label1.caption:= inttostr(j); end; Oder mit zur Laufzeit erstellten Objekten. Dann gilt der gleiche Code für alle Objekte randomize; For i:=0 to 5 do begin if checkboxes[i].checked then begin //dynamische checkboxen j:=random(6); if J=0 then J:=1; case J of 1: labels[i].Color:= clblack; //dynamsiche Labels 2: labels[i].Color:= clwhite; 3: labels[i].Color:= clred; 4: labels[i].Color:= clgreen; 5: labels[i].Color:= clyellow; 6: labels[i].Color:= clskyblue; end; labels[i].caption:= inttostr(j); end; end; [/PHP] Der Code ist nicht getestet. MVG need-some-blood Danke need-some-blood, aber von delphi hab ich nun wirklich garkeinen Schimmer.... Ich werd weiterprobieren und darauf hoffen, daß mir jemand einen Tipp geben kann, der mir weiterhilft ... In der VBA-Hilfe hab ich nichts finden können, vielleicht musds ich ja nur wissen WONACH ich suchen muss ... *finger weiter wund progge*
19. Januar 200619 j um das nochmal festzuhalten: das hier ist ein VBA problem und ist damit im falschen forum... zum thema: crashyy, kannst du das ganze nicht auch in VB6 machen? da wäre alles viel einfacher weil man mehrere objekte haben kann aber die dann über nen index anspricht, damit kann man das coding auf 1/6 reduzieren ansonsten wie schon gesagt das label bei halten deaktivieren und beim neuwürfeln erst abfragen ob das jeweilige label aktiv ist...
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.