Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Luku väliltä... (VB.NET)

Sivun loppuun

Ibe666 [08.07.2007 23:17:27]

#

Miten saisi että "jos textboxin teksti on väliltä 0-100"?

Antti Laaksonen [08.07.2007 23:22:39]

#

Tarkista, onko luku toisaalta nolla tai suurempi, toisaalta sata tai pienempi.

If luku >= 0 And luku <= 100 Then

Ibe666 [08.07.2007 23:42:16]

#

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.

Antti Laaksonen [08.07.2007 23:47:59]

#

Kyllä tuon koodin pitäisi toimia.

Ovatko muuttujat luku ja luku2 varmasti oikealla lukuvälillä?

Ibe666 [08.07.2007 23:53:46]

#

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

Antti Laaksonen [09.07.2007 00:04:08]

#

Millä tavalla koodi ei toimi? Tuleeko virheilmoitus vai eikö tapahdu mitään?

Jos alempi koodi toimii, niin kyllä ylemmänkin luulisi toimivan.

Ibe666 [09.07.2007 00:07:04]

#

Error listissä ei lue mitään mutta sitten kun klickaan niin tulee "InvalidCastException was unhandled" "Conversion from string "" to type 'Double' is not valid."

Antti Laaksonen [09.07.2007 00:15:38]

#

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.)

Ibe666 [09.07.2007 00:22:56]

#

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.

Antti Laaksonen [09.07.2007 00:27:58]

#

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.

Ibe666 [09.07.2007 10:40:04]

#

Kiitos! Ei tullu mieleen muttuja.:)

groovyb [11.07.2007 19:37:53]

#

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

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta