Miten saisi että "jos textboxin teksti on väliltä 0-100"?
Tarkista, onko luku toisaalta nolla tai suurempi, toisaalta sata tai pienempi.
If luku >= 0 And luku <= 100 Then
Etäs jos on monta lukua esim. näin.
If luku >= 0 And luku <= 100 And luku2 >= 0 And luku2 <= 100 Then Msgbox "jee" End If
Näin en saanut toimimaan.
Kyllä tuon koodin pitäisi toimia.
Ovatko muuttujat luku ja luku2 varmasti oikealla lukuvälillä?
Minä oikeestaan tein sen näin...
If MaskedTextBox1.Text >= 0 And MaskedTextBox1.Text <= 100 And MaskedTextBox2.Text >= 0 And MaskedTextBox2.Text <= 100 And MaskedTextBox3.Text >= 0 And MaskedTextBox3.Text <= 100 And MaskedTextBox4.Text >= 0 And MaskedTextBox4.Text <= 100 And MaskedTextBox5.Text >= 0 And MaskedTextBox5.Text <= 100 And MaskedTextBox6.Text >= 0 And MaskedTextBox6.Text <= 100 And MaskedTextBox9.Text >= 0 And MaskedTextBox9.Text <= 100 And MaskedTextBox10.Text >= 0 And MaskedTextBox10.Text <= 100 And MaskedTextBox11.Text >= 0 And MaskedTextBox11.Text <= 100 And MaskedTextBox12.Text >= 0 And MaskedTextBox12.Text <= 100 And MaskedTextBox13.Text >= 0 And MaskedTextBox13.Text <= 100 And MaskedTextBox14.Text >= 0 And MaskedTextBox14.Text <= 100 And MaskedTextBox18.Text >= 0 And MaskedTextBox18.Text <= 100 And MaskedTextBox19.Text >= 0 And MaskedTextBox19.Text <= 100 And MaskedTextBox20.Text >= 0 And MaskedTextBox20.Text <= 100 Then MsgBox"jee" End If
Kyllä mä sain ton toimii näin.
If MaskedTextBox1.Text >= 0 And MaskedTextBox1.Text <= 100 Then msgbox "jee" End if
Millä tavalla koodi ei toimi? Tuleeko virheilmoitus vai eikö tapahdu mitään?
Jos alempi koodi toimii, niin kyllä ylemmänkin luulisi toimivan.
Error listissä ei lue mitään mutta sitten kun klickaan niin tulee "InvalidCastException was unhandled" "Conversion from string "" to type 'Double' is not valid."
Jokin tekstikenttä taitaa olla tyhjä, jolloin sitä ei voi käsitellä lukuna. Eli tällä hetkellä ohjelma toimii vain, jos kaikkiin tekstikenttiin on kirjoitettu lukuja (väliltä 0 - 100 tai muita lukuja). Ongelman voi ratkaista vaikkapa lisäämällä koodin ympärille virheenkäsittelyn:
Try ' If-tarkistukset Catch MsgBox "Kaikissa tekstikentissä ei ole edes lukuja!" End Try
(Koodin väritys ei ymmärrä VB.NETin päälle - Try ja Catch ovat toki avainsanoja.)
Tossa on mulla tarkotuksena että kun kaikissa textboxseissa on joku luku niin peli on pelattu loppuun ja tulee ilmoitus että peli loppui ja näyttää samalla paljon sai pisteitä. Ja se tarkastaa ton aina sillon kun mitkä numerot voi laittaa siihen ja sitten kun kaikissa on joku numero niin näytää ton viestin. Ohjelmoin tässä jatsia.
Siinä tapauksessa kaikkien tekstikenttien läpikäynti on ehkä vähän vaivalloinen ratkaisu. Yksi hyvä ratkaisu on pitää jossain muuttujassa kirjaa, kuinka monta kertaa pelaaja on yleensä merkinnyt tuloksen jonnekin. Sitten kun tuloksia on merkitty yhtä monta kuin pelissä on eri yhdistelmiä, koko taulukko on täynnä ja peli on lopussa.
Kiitos! Ei tullu mieleen muttuja.:)
mä käyttäisin select casea varmaan jos kyse olis muutamasta tarkistettavasta kentästä.
varmaan tekisin jotenkin näin.
'form classiin Dim luku As integer Dim ykköset As integer 'nappi.clicked alle luku = textbox1.text 'pisteiden syöttö If checkbox1.checked Then ykköset = luku Select Case ykköset Case 0 To 5 messagebox.show("pisteesi: " & ykköset) textbox1.clear() textbox2.text = ykköset Case 6 to 999 messagebox.show("virheellinen luku") textbox1.clear() End Select End If
Aihe on jo aika vanha, joten et voi enää vastata siihen.