[VB.NET] Leeg veld controleren *

Pagina: 1
Acties:

  • Y0ur1
  • Registratie: Oktober 2000
  • Niet online
Het zal wel weer te basic zijn voor GoT ofzo, maar ik kom er even niet uit. Ik ben bezig met een rekenmachine. Nu als iemand niks invult in een text veld gaat hij alsnog de berekening maken en dan geeft ie een dikke error. Dus nu ben ik een check aan het maken die kijkt of er uberhaupt iets is ingevuld in een veld. Alleen ik weet niet waarmee/hoe ik het moet vergelijken. Hij moet dus kijken of er een waarde in sngGetal1 en sngGetal2 zit...

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlus.Click
        Dim sngGetal1, sngGetal2, sngUitkomst As Single
        sngGetal1 = txtGetal1.Text
        sngGetal2 = txtGetal2.Text

        If sngGetal1 ??? Then
            MessageBox.Show("Vul een getal in aub")

        ElseIf sngGetal2 ??? 0 Then
            MessageBox.Show("Vul een getal in aub")

        Else
            sngUitkomst = sngGetal1 + sngGetal2
            txtUitkomst.Text = sngUitkomst
            lblBewerking_.Text = "Plus"
        End If

    End Sub

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

IsNumeric(), Len()

Sowieso zal hij in het begin al fout gaan, aangezien je txtGetal1 niet impliciet kan casten van text naar single.

Je zal iets krijgen in de trant van
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Function CanConvertToDouble(ByVal __value As String) As Boolean

    Try

        Dim __var as double = Convert.ToDouble(__value)

    Catch ex As Exception

        Return False

     End Try

     Return True

End Function

Niet netjes, werkt wel erg goed.

[ Voor 146% gewijzigd door gorgi_19 op 05-10-2003 15:31 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Y0ur1
  • Registratie: Oktober 2000
  • Niet online
hmm werkt toch niet...
ik heb nu

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlus.Click
        Dim sngGetal1, sngGetal2, sngUitkomst As Single

        If IsNumeric(txtGetal1) Then
            sngGetal1 = txtGetal1.Text
            sngGetal2 = txtGetal2.Text
            sngUitkomst = sngGetal1 + sngGetal2
            txtUitkomst.Text = sngUitkomst
            lblBewerking_.Text = "Plus"

        Else
            MsgBox("Vul wat in!")

        End If

    End Sub

[ Voor 95% gewijzigd door Y0ur1 op 05-10-2003 15:33 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

YT-Croc schreef op 05 oktober 2003 @ 15:28:
w00t dat was simpel :P Het werkt met IsNumeric, tnx!
Alleen doe je nu niets tegen die andere foutmeldingen.. :P
hmm werkt toch niet...
Da's logisch.. :P

Aangezien je alleen txtGetal1 controleert op foutmeldingen.. :P

[ Voor 23% gewijzigd door gorgi_19 op 05-10-2003 15:35 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Y0ur1
  • Registratie: Oktober 2000
  • Niet online
hoe ga ik dit nu oplossen dan?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

YT-Croc schreef op 05 October 2003 @ 15:35:
hoe ga ik dit nu oplossen dan?
Ook txtGetal2 controlen, ipv alleen txtGetal1.

En heb je mijn functie gezien?
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
        Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

            Dim __getal1 As String = txtGetal1.Text
            Dim __getal2 As String = txtGetal2.Text

            If Me.CanConvertToDouble(__getal1) And Me.CanConvertToDouble(__getal2) Then

                Dim Getal1 As Double = Convert.ToDouble(__getal1)
                Dim Getal2 As Double = Convert.ToDouble(__getal1)
                txtUitkomst.Text = Getal1 + Getal2

            Else

                Me.ShowError("Vul wat in")

            End If

        End Sub

        Private Sub ShowError(ByVal message As String)

            MsgBox(message)

        End Sub


En ja, ik weet dat de CanConvertToDouble functie erg ranzig is.. :P En nee, hij is niet helemaal correct, maar geeft alleen een idee.. :)

[ Voor 76% gewijzigd door gorgi_19 op 05-10-2003 15:44 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Y0ur1
  • Registratie: Oktober 2000
  • Niet online
Ik heb nu dit, en dat werkt. Maar is hier nu nog wat fout aan? Ik vind het al aardig voor een beginner als mij in VB. ik snap nog niet helemaal wat jouw stukkie code nou doet...

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    Private Sub btnPlus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlus.Click
        Dim sngGetal1, sngGetal2, sngUitkomst As Single

        If IsNumeric(txtGetal1.Text) And IsNumeric(txtGetal2.Text) Then
            sngGetal1 = txtGetal1.Text
            sngGetal2 = txtGetal2.Text
            sngUitkomst = sngGetal1 + sngGetal2
            txtUitkomst.Text = sngUitkomst
            lblBewerking_.Text = "Plus"

        Else
            MsgBox("Vul wat in!")
        End If

    End Sub

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Dat mag je zelf opzoeken. Een kleine hint:
Visual Basic .NET:
1
Dim __single as Single = Single.MaxValue() + 1

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1