Ponera att jag har 6 st textrutor, 3st kommandoknappar Du kan lägga textrutorna i en indexerad array. Exempel: Hej igen Ivar "Hur generar man stryktipsrader?" Ett förslag. Stone skulle detta kunna funka: Eh.. hoppsan - där ser man... Hej Hej Tänkte bara berätta att det inte såg så bra ut när jag testade ditt exempel Sven. det såg ut så här:Tipspromenad
vilka är märkta 1, x, 2 jag vill kunna använda kommandokapparna
för att klicka fram mina svar i resp. textruta.
Att ändra till 1, x eller 2 i textruta 1 är inga problem,
men för att svara på fråga 2 då får jag problem.
Vill alltså få textmarkören att automatiskt gå till textruta 2 os.v.
efter att svarat på fråga 1.
Anväder kod:
Private Sub cmd1_Click()
Text1.Text = "1"
End Sub
Privat Sub cmdX_Click()
Text1.Text = "X"
End Sub
Private Sub cmd2_Click()
Text1.Text = "2"
End Sub
o.s.v. Sv: Tipspromenad
dim id as integer
Private Sub cmd1_Click()
txtA(id).Text = "1"
id = id + 1
End Sub
och så vidare. Nu kommer alltså nästa textruta att anropas vid nästa tryck på knappen. Du måste lägga in en kontroll när svaren är klara.
/IvarSv: Tipspromenad
Hoppas det kommer i rätt forum.
Ett JÄTTE, JÄTTE STORT TACK.
Kan inte tänka mig att det bara är idag du är snäll.
Utan din hjälp har jag blivit hårlös.
Tänk så bra allt fungerar när man kan,
kan man inte fungerar ingenting.
De två extra knapparna, enkelt och bra.
Snart kan jag ta mig an mitt stora projekt,
nämligen ett stryktipsprogram.
En fråga. Hur generar man stryktipsrader?
Än engång ett STORT TACK.
Mvh
stone
Sv: Tipspromenad
Den frågan får nog bollas över till någon annan. Jag kan ingenting om stryktips.
Lycka till,
IvarSv: Tipspromenad
Slumpa fram 12 tal mellan 1 och 3.
Låt 1 vara 1
2 2 och 3 x eller hur du nu vill göra det.
/EmmaSv: Tipspromenad
Option Explicit
Private Sub Command1_Click()
Dim Y As Integer
Dim Nr As Byte
Dim I As Integer
Dim J As Integer
For I = 1 To 100
Label1.Caption = ""
For Y = 1 To 13
Nr = (Rnd * 2)
If Nr = 0 Then
Label1.Caption = Label1.Caption & "X"
Else
Label1.Caption = Label1.Caption & Nr
End If
Label1.Caption = Label1.Caption & vbCrLf
Next Y
Wait (0.1)
Next I
End Sub
Public Sub Wait(Seconds)
Timer1.Enabled = True
Me.Timer1.Interval = 1000 * Seconds
While Me.Timer1.Interval > 0
DoEvents
Wend
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
Timer1.Interval = 0
End Sub
'Du behöver
'En label
'En Commandbutton
'En Timer
Du kan ju testa och sedan meddela om det funkade.
Till Emma aka DQ:
Det är 13 rader i ett stryktips.
//PetterSv: Tipspromenad
Nu vet alla hur mycket jag spelar -> inget alls...
/Emma =)Sv: Tipspromenad
Kommentar. Med Petters förslag kommer det alltid
att bli samma rader varje gång man kör prorammet.
mvh
SvenSv: Tipspromenad
Roade mig med att skriva min principlösning
En Command1 och en List1
Option Explicit
Private Sub Form_Load()
Command1.Caption = "Slumpa Rad"
Randomize
End Sub
Private Sub Command1_Click()
Dim Etta As String, Tvaa As String, Kryss As String, i As Long
Dim slumpNr As Long
Etta = "1": Tvaa = " 2": Kryss = " X"
List1.Clear
For i = 1 To 13
slumpNr = Int(Rnd * 3) + 1
Select Case slumpNr
Case Is = 1
List1.AddItem Etta
Case Is = 2
List1.AddItem Tvaa
Case Is = 3
List1.AddItem Kryss
End Select
Next 'i
End Sub
mvh
SvenSv: Tipspromenad
1
2
X
och så ska det väl inte vara?
ska det inte vara så här:
1
X
2
Skrev om din källkod så det blev bättre. Så här ser den ut nu:
Option Explicit
Private Sub Form_Load()
Command1.Caption = "Slumpa Rad"
Randomize
End Sub
Private Sub Command1_Click()
Dim Etta As String, Tvaa As String, Kryss As String, i As Long
Dim slumpNr As Long
Dim Rad As Long
Etta = "1": Tvaa = " 2": Kryss = " X"
List1.Clear
For i = 1 To 13
slumpNr = Int(Rnd * 3) + 1
If i < 10 Then
Select Case slumpNr
Case Is = 1
List1.AddItem i & "." & vbTab & Etta
Case Is = 2
List1.AddItem i & "." & vbTab & Tvaa
Case Is = 3
List1.AddItem i & "." & vbTab & Kryss
End Select
Else
Select Case slumpNr
Case Is = 1
List1.AddItem i & "." & vbTab & Etta
Case Is = 2
List1.AddItem i & "." & vbTab & Tvaa
Case Is = 3
List1.AddItem i & "." & vbTab & Kryss
End Select
End If
Next 'i
End Sub
//Petter