[VB.Net] InputBox werkt niet zoals bedoeld.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
Ik heb een klein programmaatje met daarin een ListBox die een aantal vragen weer geeft. Als je dan op een item van de listbox drukt dan opent er zich een Inputbox waarin je dan het antwoord geeft op de desbetreffende vraag.

Dit wordt afgehandeld door een Select Case waarvan hieronder Case 0 is weergegeven:

code:
1
2
3
4
5
6
7
8
9
10
11
12
Case 0
                Dim Prompt As String = "Please type the answer:"
                b1 = InputBox(Prompt, "")
                If b1 = "=,<>,>,<,>=,<=" Then
                    Label1.Text = "Great!"
                ElseIf b1 = "" Then
                    MsgBox("Please answer the question", MsgBoxStyle.Information, "")
                Else : Label1.Text = "Please enter the answer exactly as here in the program"
                    If checked = True Then
                        Label2.Text = "=,<>,>,<,>=,<="
                    End If
                End If


Het is dus de bedoeling dat als de gebruiker niks invult in het scherm er een MsgBox verschijnt met een verzoek om een antwoord in te vullen. Echter gebeurd dit nu niet.

Ik kan toch gewoon zeggen dat als b1 = "" ( wat dus wil zeggen dat er niks ingevuld is ) er een message box moet verschijnen?

En eigenlijk moet deze messagebox dan ook maar 1 keer verschijnen waarna de gewone Inputbox weer verschijnt en als de gebruiker dan nog niks invult wordt het als fout beschouwd.

Heeft iemand enig idee hoe ik dit kan toepassen en wat ik nu dan precies fout doe?

Acties:
  • 0 Henk 'm!

  • Compizfox
  • Registratie: Januari 2009
  • Laatst online: 23:22

Compizfox

Bait for wenchmarks

Wat voor taal is dit? Wel handig om erbij te zetten.

Gewoon een heel grote verzameling snoertjes


Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
Compizfox schreef op dinsdag 30 maart 2010 @ 17:20:
Wat voor taal is dit? Wel handig om erbij te zetten.
Ja ik zag al dat ik het vergeten was. Dit is in VB ( Visual Basic ). :)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
MasterTweaker schreef op dinsdag 30 maart 2010 @ 17:25:
[...]

Ja ik zag al dat ik het vergeten was. Dit is in VB ( Visual Basic ). :)
Ik neem aan VB.NET? Dat is nogal een verschil met VB5/6

Verder: gezien je vorige topic, en nu dit topic weer, denk ik dat het je een beetje ontbreekt aan basiskennis. Dat is geen ramp ofzo; we zijn allemaal ooit zo begonnen. Maar als ik bijvoorbeeld zie 'if b1 = "=,<>,>,<,>=,<="' dan denk ik dat je een input a-la "=" of ">=" verwacht en niet de letterlijke string "=,<>,>,<,>=,<=". Dus dat gaat sowieso al niet werken. Verwacht je wél die string letterlijk als input dan ga er maar vast van uit dat je gebruikers daar niet vrolijk van gaan worden; elke variatie in de volgorde, een spatie teveel of whatever gaat al afgekeurd worden.

De inputbox opnieuw laten verschijnen doe je mbv. een simpel lusje; ook daar zie ik niets van terug in de code. Daarnaast vind ik je gebruik van Inputboxen en messageboxes heel erg "1990"; dat is eigenlijk als sinds jaren not-done.

Met alle respect, maar ik denk dat je nog even wat basiskennis onder je gordel moet zien te krijgen en dat dit nog een tikkie te hoog gegrepen is. Again, dat is geen ramp, maar we kunnen hier ook geen handjes blijven houden.

[ Voor 79% gewijzigd door RobIII op 30-03-2010 18:45 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
RobIII schreef op dinsdag 30 maart 2010 @ 18:34:
[...]

Ik neem aan VB.NET? Dat is nogal een verschil met VB5/6

Verder: gezien je vorige topic, en nu dit topic weer, denk ik dat het je een beetje ontbreekt aan basiskennis. Dat is geen ramp ofzo; we zijn allemaal ooit zo begonnen. Maar als ik bijvoorbeeld zie 'if b1 = "=,<>,>,<,>=,<="' dan denk ik dat je een input a-la "=" of ">=" verwacht en niet de letterlijke string "=,<>,>,<,>=,<=". Dus dat gaat sowieso al niet werken. Verwacht je wél die string letterlijk als input dan ga er maar vast van uit dat je gebruikers daar niet vrolijk van gaan worden; elke variatie in de volgorde, een spatie teveel of whatever gaat al afgekeurd worden.

De inputbox opnieuw laten verschijnen doe je mbv. een simpel lusje; ook daar zie ik niets van terug in de code. Daarnaast vind ik je gebruik van Inputboxen en messageboxes heel erg "1990"; dat is eigenlijk als sinds jaren not-done.

Met alle respect, maar ik denk dat je nog even wat basiskennis onder je gordel moet zien te krijgen en dat dit nog een tikkie te hoog gegrepen is. Again, dat is geen ramp, maar we kunnen hier ook geen handjes blijven houden.
Dat "=,<>,>,<,>=,<=". is gewoon het antwoord op de vraag. Dat dit dan zo exact ingevuld moet worden is natuurlijk niet echt prettig voor de gebruiker, maar dat is hier eigenlijk niet van belang. Het gaat echt puur even om de werking nu. Het is dus niet zo dat ik hier een een of andere conditional expression probeer te maken. :) Want dat zou inderdaad wel vrij kansloos zijn.

Ik vroeg mij dus gewoon af of als de messagebox leeg is dat ik dat als volgt kan aangeven:
b1 = ""
Ik bedoel kan je aan een variabele wel een lege waarde geven?

En ik kan begrijpen dat dit echt basis vragen zijn maar goed als ik even weet hoe dit moet kan ik al weer verder. :)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
MasterTweaker schreef op dinsdag 30 maart 2010 @ 19:16:
Ik bedoel kan je aan een variabele wel een lege waarde geven?
Waarom niet :?
MasterTweaker schreef op dinsdag 30 maart 2010 @ 19:16:
En ik kan begrijpen dat dit echt basis vragen zijn maar goed als ik even weet hoe dit moet kan ik al weer verder. :)
Zoals ik zei; gebruik een lus.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
RobIII schreef op dinsdag 30 maart 2010 @ 19:21:
[...]

Waarom niet :?


[...]

Zoals ik zei; gebruik een lus.
Maar goed als het kan waarom wordt dan nu de messagebox niet weergegeven?
Ik heb de code nu zo opgebouwd dat er een messagebox weergegeven wordt als de gebruiker niks invult maar dit gebeurd dus niet. :)

Acties:
  • 0 Henk 'm!

  • CodeIT
  • Registratie: Juni 2002
  • Laatst online: 15-09 21:49

CodeIT

Code IT

Ik heb je code even zelf gedraaid, maar ik krijg altijd de messagebox te zien als ik op enter of ok druk.
Ook als b1 al een waarde heeft, of een leeg object is gaat het goed.
Weet je zeker dat het fout gaat?

Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
CodeIT schreef op dinsdag 30 maart 2010 @ 20:39:
Ik heb je code even zelf gedraaid, maar ik krijg altijd de messagebox te zien als ik op enter of ok druk.
Ook als b1 al een waarde heeft, of een leeg object is gaat het goed.
Weet je zeker dat het fout gaat?
Oke dat is vreemd dan, bij mij geeft hij echt geen messagebox weer.
Waar zou dit aan kunnen liggen?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
MasterTweaker schreef op dinsdag 30 maart 2010 @ 20:56:
[...]

Oke dat is vreemd dan, bij mij geeft hij echt geen messagebox weer.
Waar zou dit aan kunnen liggen?
Begin nou eens met debuggen: Debuggen: Hoe doe ik dat?. Daar heb je 1000 keer meer aan dan een topic openen en een halve dag wachten op een reply die precies uitkauwt wat je oplossing is. Je had dit probleem in 2 minuten zelf opgelost als je zou debuggen.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1