/ Forside/ Teknologi / Udvikling / VB/Basic / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Et VB 2008 EE Spg
Fra : Surf
Vist : 954 gange
40 point
Dato : 03-03-09 03:20

Jeg har en Visual Basic 2008 Express Edition spg

Altså ved at trykke på en knap siger textbox1 fx 1 eller 2 eller 3, det har jeg fået gjorde

Men så skal textbox2 enten siger 1 eller 2 eller 3 og det skal være helt tilfældig med de tal der

hvordan gøre jeg lige det

lige nu er koden sådan her


Kode
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text = "1" Then
TextBox2.Text = "1"
End If
If TextBox1.Text = "1" Then
TextBox2.Text = "2"
End If
If TextBox1.Text = "1" Then
TextBox2.Text = "3"
End Sub
End Class


Men den vælger bare nr 3 hele tiden

så hvorfan klare leg lige den så den også vælger nr 1 og 2

please hjælp mig

 
 
Kommentar
Fra : ajuul


Dato : 03-03-09 08:12

Hej.
Dit problem er, at du kun tester for om Textbox1.Text=1.
Det er den i alle tre if-sætninger, så TextBox2.Text bliver først sat til 1, derefter til 2 og til sidst til 3.
Hver gang.
Du skal gøre således:
Kode
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If TextBox1.Text = "1" Then
TextBox2.Text = "1"
else if TextBox1.Text = "2" Then
TextBox2.Text = "2"
else If TextBox1.Text = "3" Then
TextBox2.Text = "3"
end if
End Sub
End Class

Du skriver, at det skal være tilfældigt, hvad TextBox2 skal være; og det er ikke tilfældet hér, da den afhænger af, hvad TextBox1 er.
Derfor skal du bruge en tilfældighedsfunktion:
Kode
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Randomize()
TextBox2.Text = CInt(Math.Floor((3) * Rnd())) + 1
End Sub
End Class


/ajuul

Kommentar
Fra : Surf


Dato : 03-03-09 08:47

La os nu sige at det skal være A og A har flere mugligheder som A eller B eller C og vælger dem helt tilfældig

hvordan skal det så gøres

Accepteret svar
Fra : ajuul

Modtaget 40 point
Dato : 03-03-09 10:02

Jeg forstår ikke, hvad du mener; men hvis det er TextBox2, der skal være A, B eller C, så kan du bruge Chr-funktionen:
Kode
Randomize()
TextBox2.Text = Chr(65 + Math.Floor((3) * Rnd()))


Var det sådan du mente?
Hvis det skal være mere generelt, kan du lave et array af værdier:
Kode
Dim arr As String() = New String() {"Hej", "du", "der"}
Randomize()
TextBox2.Text = arr(Math.Floor((3) * Rnd()))


/ajuul

Kommentar
Fra : berpox


Dato : 03-03-09 23:00

Kode
Public Class Form1
Dim i, j As Integer
Dim k, l, m As Double


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
i = Asc("a")
j = Asc("z")
k = j - i


Randomize(k)
k = CInt(Math.Floor((j - i + 1) * Rnd()))
l = CInt(Math.Floor((j - i + 1) * Rnd()))
m = CInt(Math.Floor((j - i + 1) * Rnd()))

TextBox1.Text = UCase(Chr(i + k))
TextBox2.Text = UCase(Chr(i + l))
TextBox3.Text = UCase(Chr(i + m))

If k = l And l = m Then
MsgBox("Jackpot")
End If

End Sub
End Class


Ovenstående kode putter tilfældige bogstaver fra A til Z ind i de tre tekstbokse ved tryk på knappen.

Godkendelse af svar
Fra : Surf


Dato : 03-03-09 23:25

Tak for svaret ajuul.

DIT KAN JEG SIMBLE BARE BRUGE

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177411
Tips : 31962
Nyheder : 719565
Indlæg : 6407796
Brugere : 218875

Månedens bedste
Årets bedste
Sidste års bedste