if textbox1.text = <20 then

  • Onderwerp starter Onderwerp starter otie
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

otie

Gebruiker
Lid geworden
1 dec 2008
Berichten
313
VB8:
ik heb een textbox waar alleen getallen in kunnen en een maximum van 2 tekens heeft maar nu is mijn vraag.. hoe kan ik doen dat ik niet de heltijd hoef uit te schrijven
Code:
If TextBox1.Text = 99 Then
                PictureBox1.Visible = True
                PictureBox2.Visible = True
                PictureBox3.Visible = True
end if
maar dat ik iets kan doen als
Code:
        If TextBox1.Text <= "20" Then
            PictureBox1.Visible = True
            PictureBox2.Visible = False
            PictureBox3.Visible = False
        ElseIf TextBox1.Text <= "50" Then
            PictureBox1.Visible = True
            PictureBox2.Visible = True
            PictureBox3.Visible = False
        End If
Dit wat hier boven staat werkt niet perfect (eigenlijk helemaal niet)
Want als ik 2 intyp dan laat hij picturebox1 zien... hoort zo.
maar als ik 4 intyp laat hij pictbox1 & 2 zien en dat is niet echt de bedoelingh weet iemand hoe het moet??
 
Code:
        If TextBox1.Text <= "20" Then

Ik programeer eigenlijk met c# dus ben niet heel erg bekend met vb8
maar als ik het zo lees dan probeer je ingevoerde waarde als string te vergelijken. Het lijkt me dat je een integer moet vergelijken als je wil weten of een getal kleiner is dan 20.

Dus waarschijnlijk moet TextBox1.Text ge-cast worden naar een int en vergelijken met getal 20 en niet string "20"
 
Okey,
bedankt voor je antwoord.
alleen ik ben net begonnen (een maandje ofzo)
met vb8 en ik weet niet wat je bedoelt :confused:
 
Waarschijnlijk zal het zoiets zijn:

Code:
If TextBox1.Text As Integer  <= 20 Then

1 van de vb guru's hier op het forum zal wel kunnen aan geven wat de exacte syntax is en of dat uberhaupt de oorzaak is ;)
 
Hey,

Het bovenstaande zou inderdaad kunnen werken, je kan namelijk een string en een integer niet met elkaar vergelijken. Je kunt volgens mij een cast doen met Int32() als je een string hebt met een integer.

Echter zou het bovenstaande voorbeeld ook moeten werken. Wat me wel opviel in je if/elseif dat je bij je elseif gaat kijken naar een waarde die kleiner is dan 50. Indien de waarde kleiner is dan 20 zal hij altijd bij de eerste if stoppen. Ik weet niet of dit ook zo de bedoeling is?

Gr. Wiizle
 
Ik gebruik nu het volgnde:

Code:
if textbox1.text = <= 20 then
en hier een actie
elseif textbox1.text = <= 50 then
hier de andere actie
end if
werkt goed voor zover ik weet
ik zal wel ff testen...
Ik weet niet of dit correct is
zeg het maar als het fout is
 
ik ben ook niet zo bekend met visual basic.
maar er staat: elseif, moet dat niet else, of else if (als dat kan)
 
Code:
'Je controleert of hij hier kleiner is dan 20, zo ja dan gaat hij verder
if textbox1.text = <= 20 then
en hier een actie
'Hier controleer je of de waarde kleiner is dan 50, maar groter dan 20, zo ja dan gaat hij verder
elseif textbox1.text = <= 50 then
hier de andere actie
end if

Als dat zo moet werken, dan werkt het! :)
 
Het is wel handig om rekening te houden met de mogelijkheid, dat er geen numerieke waarde wordt ingevoerd:
Code:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim intWaarde As Integer

        If IsNumeric(TextBox1.Text) Then
            intWaarde = CInt(TextBox1.Text)
        Else
            MsgBox("Er is geen numerieke waarde ingevoerd: waarde vervangen door 0")
            intWaarde = 0
        End If

        If intWaarde <= 20 Then
            MsgBox("Kleiner dan of gelijk aan 20")
        ElseIf intWaarde <= 50 Then
            MsgBox("Groter dan 20 maar kleiner dan of gelijk aan 50")
        Else
            MsgBox("Groter dan 50")
        End If
    End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan