Tuskantäyteisistä yrityksistäni huolimatta en saa Visual Basic 6.0:lla aikaiseksi silmukkaa,
joka noukkisi käyttäjän syöttämät tiedot TextBoxista. Jos sen sijan vaihdan textboxin tilalle InputBoxin, niin johan systeemi toimii kuin unelma…
Miten ihmeessä saa aikaan esimerkiksi laskimen, joka kysyy käyttäjältä lukuja yhteen Textboxiin ja tulostaa aina niiden summan toiseen TextbBoxiin CommandButtonin kautta? Lopuksi pitäisi myös ilmoittaa käyttäjälle summauksien lukumäärä.
Olen testannut mm. sellaista pientä esimerkkiohjelmaa, jossa kysytään käyttäjältä Englannin pääkaupunkia ja annetaan kolme mahdollisuutta tietää oikea vastaus. Toimiva, InputBoxeilla toteutettu koodi näyttää tältä:
Private Sub Form_Load()
Dim Vastaus$
For i = 1 To 3
Vastaus$ = InputBox("Mikä on Englannin pääkaupunki?")
If Vastaus$ = "Lontoo" Then
MsgBox ("Oikein! Arvausten lukumäärä oli PERÄTI " & i)
End
Exit For
End If
Next i
MsgBox ("Väärin! Kolmella tyrimisellä olet heikoin lenkki. Hyvästi!")
End
End Sub
Kun vaihdan InputBoxin kohdalle esim. Vastaustxt.Text (kyseinen objekti on tietenkin lisättynä käyttöliittymässä), ohjelma toimii oikein vain siihen asti, jos käyttäjä tietää vastauksen heti ensimmäisellä kerralla. Jos Textboxiin kirjoittaa jotain muuta kuin Lontoo, ohjelma hyppää oitis silmukan loppuun ja heittää käyttäjälle hyvästit.
Missä menee vikaan? Mahdollisimman selkokielinen vastaus, pyydän!
joka noukkisi käyttäjän syöttämät tiedot TextBoxista. Jos sen sijan vaihdan textboxin tilalle InputBoxin, niin johan systeemi toimii kuin unelma…
Miten ihmeessä saa aikaan esimerkiksi laskimen, joka kysyy käyttäjältä lukuja yhteen Textboxiin ja tulostaa aina niiden summan toiseen TextbBoxiin CommandButtonin kautta? Lopuksi pitäisi myös ilmoittaa käyttäjälle summauksien lukumäärä.
Olen testannut mm. sellaista pientä esimerkkiohjelmaa, jossa kysytään käyttäjältä Englannin pääkaupunkia ja annetaan kolme mahdollisuutta tietää oikea vastaus. Toimiva, InputBoxeilla toteutettu koodi näyttää tältä:
Private Sub Form_Load()
Dim Vastaus$
For i = 1 To 3
Vastaus$ = InputBox("Mikä on Englannin pääkaupunki?")
If Vastaus$ = "Lontoo" Then
MsgBox ("Oikein! Arvausten lukumäärä oli PERÄTI " & i)
End
Exit For
End If
Next i
MsgBox ("Väärin! Kolmella tyrimisellä olet heikoin lenkki. Hyvästi!")
End
End Sub
Kun vaihdan InputBoxin kohdalle esim. Vastaustxt.Text (kyseinen objekti on tietenkin lisättynä käyttöliittymässä), ohjelma toimii oikein vain siihen asti, jos käyttäjä tietää vastauksen heti ensimmäisellä kerralla. Jos Textboxiin kirjoittaa jotain muuta kuin Lontoo, ohjelma hyppää oitis silmukan loppuun ja heittää käyttäjälle hyvästit.
Missä menee vikaan? Mahdollisimman selkokielinen vastaus, pyydän!
Vastaukset 3
Vanhimmat
InputBox näyttää sen dialogi-ikkunan eli vastausta voi muuttaa silmukassa.
Dim summa As Integer, k As Integer
Private Sub Form_Load()
summa = 0: k = 0
End Sub
Private Sub Command1_Click()
k = k 1
summa = summa Val(Text1)
Text2 = summa
Label1 = "Summauksia " & k
End Sub
IF lausetta kannattaa/pitää useampirivisenä käyttää muodossa
IF ...THEN
...
ELSE
...
END IF