Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: VB: Virheiden korjaus

Sultzi [24.06.2004 12:02:27]

#

Eli. Miten saan korjattua vb:ssä ilmaantuvat virheet, kun ohjelmassa on yksi tyhjä tekstiboxi ja sitten painaa nappia joka tarvitsee sen tekstiboxin tietoja, ohjelma kaatuu.
Tuossa esimerkki koodista:

Private Sub cmdimu_Click()
txtPakohaluttu2 = txthalkaisija * (txtpakohaluttu / 100)
End Sub

Eli jos esim. tuo txthalkaisija on tyhjä, ohjelma kaatuu kun painaa cmdimua. Miten pystyn laittamaan ettei ohjelma kaatuisi sillon? Olen vasta aloitteleva käyttäjä. Koulussa oli yhden kurssin verran vb:tä.

Kiitos etukäteen

Antti Laaksonen [24.06.2004 13:38:04]

#

Voit tehdä ohjelmaan vaikka seuraavanlaisen tarkastuksen. Laskutoimitus suoritetaan vain, jos kummatkin arvot ovat lukuja. Muuten tulee virheilmoitus.

Private Sub cmdimu_Click()
    If IsNumeric(txthalkaisija) And IsNumeric(txtpakohaluttu) Then
        txtPakohaluttu2 = txthalkaisija * (txtpakohaluttu / 100)
    Else
        MsgBox "Tietoja puuttuu!"
    End If
End Sub

Sultzi [24.06.2004 14:24:00]

#

Nyt huomasin että en saanut tuota toimimaan tässä kohtaa:

Private Sub cmdkuutiot_Click()
PII = 3.1415
Dim Joku As Single, Joku2 As Single
Joku = (txtHalkaisija2.Text / 2) ^ 2
Joku2 = PII * txtPituus.Text
txtKuutiot.Text = Round(Joku, 2) * Joku2 / 1000
End Sub

tuomas [24.06.2004 19:13:04]

#

millä rivillä antaa virheen?

Sultzi [24.06.2004 19:29:43]

#

Tuossa Joku=(txtHalkaisija2.Text / 2) ^ 2

Kyllä tuo toimiin ilman sitä, mutta kun laitan sen Isnumeric..... ni ei toimi

Jäynis [24.06.2004 19:50:31]

#

Private Sub cmdkuutiot_Click()
PII = 3.1415
Dim Joku As Single, Joku2 As Single
if isnumeric(txthalkaisija2.text) then
Joku = (txtHalkaisija2.Text / 2) ^ 2
end if
if isnumeric(txtpituus.text) then
Joku2 = PII * txtPituus.Text
end if
txtKuutiot.Text = Round(Joku, 2) * Joku2 / 1000
End Sub

kokeile noin, muutes onko PII määritelty alussa vai?

tuomas [24.06.2004 20:06:50]

#

Unohda koko IsNumeric ja tee näin:

Private Sub cmdimu_Click()
On Error Resume Next
txtPakohaluttu2 = txthalkaisija * (txtpakohaluttu / 100)
End Sub

EDIT: lukemalla ohjelmointiputkan oppaat saat jo toisen kurssin vb:tä.

Vastaus

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

Tietoa sivustosta