Vraagje "input waarde" van een inputbox..

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
Ik ben een zeer simpel programmaatje aan het maken die een listbox bevat waar de gebruiker een aantal vragen uit kan kiezen en als hij zo'n vraag aanklikt dan krijgt de gebruiker een Inputbox te zien waarin hij het antwoord op de vraag kan invullen. Een gedeelte van de code van het programmaatje is hieronder te zien:

Select ListBox1.SelectedIndex
Case 0
Dim b1 As Char
Dim Prompt As String = "When you set a breakpoint you get into Break-mode [y or n]:"
b1 = InputBox(Prompt, "Type 'Y' or 'N'")
If b1 = "y" Then
MsgBox("Right!!")
Else
MsgBox("Wrong!!")
End If

Zoals te zien is zijn er maar twee mogelijke antwoorden op de vraag en dat zijn "Y" or "N".

Alleen wat nu het probleem is is dat als een gebruiker in de "inputbox" YYYYY intikt rekent het programma dit ook goed. Hoe kan ik het nou zo krijgen dat alleen Y of y goed gerekend worden en niet "YYYYY"?

Ik heb zelf al een en andere geprobeerd maar dit loste het probleem niet op. Heeft iemand een idee? Het zou erg makkelijk moeten zijn lijkt mij. :)

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Je declareert b1 als Char, oftewel een enkel karakter. Het lijkt mij dat daarom de rest van de string weggegooid wordt.

{signature}


Acties:
  • 0 Henk 'm!

  • dB90
  • Registratie: Oktober 2004
  • Laatst online: 03-09 17:28
Er is iets van een functie String.Compare(), misschien die gebruiken?

[ Voor 64% gewijzigd door dB90 op 27-03-2010 19:21 . Reden: zinnige reactie gemaakt :p ]

Webberry Webdevelopment


Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
Voutloos schreef op zaterdag 27 maart 2010 @ 17:50:
Je declareert b1 als Char, oftewel een enkel karakter. Het lijkt mij dat daarom de rest van de string weggegooid wordt.
char betekent toch gewoon dat je zowel tekens als letters als cijfers mag gebruiken, en niet dat het maar een enkel teken mag hebben?

Ik denk dat je dit dan ergens anders nog moet neer zetten in een apart stuk code om te zeggen dat je maar 1 "Y" mag plaatsen en niet "YYYY". Maar ik weet dus niet hoe je dit doet.

Acties:
  • 0 Henk 'm!

  • BertS
  • Registratie: September 2004
  • Laatst online: 14-04 17:14
Een char is één character. Gebruik in plaats daarvan String, dan gaat het wel goed.

Acties:
  • 0 Henk 'm!

  • Orion84
  • Registratie: April 2002
  • Laatst online: 17:28

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

Zie ook http://www.homeandlearn.co.uk/NET/nets7p3.html waar het overzichtelijk staat uitgelegd :)

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
BertS schreef op zaterdag 27 maart 2010 @ 19:22:
Een char is één character. Gebruik in plaats daarvan String, dan gaat het wel goed.
Oke ja inderdaad nu werkt het gewoon. Alleen dan is het nog alleen een kleine y die als goed wordt gezien terwijl ook de hoofdletter Y eigenlijk als goed gezien zou moeten worden.

Hoe doe je dit dan weer?

Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
Oke thnx het is mij nu wel duidelijk wat char precies inhoud. :)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

MasterTweaker schreef op zaterdag 27 maart 2010 @ 19:46:
[...]

Oke ja inderdaad nu werkt het gewoon. Alleen dan is het nog alleen een kleine y die als goed wordt gezien terwijl ook de hoofdletter Y eigenlijk als goed gezien zou moeten worden.

Hoe doe je dit dan weer?
Veel plezier: [google=visual basic case insensitive string comparison] ;)

Verder zijn de vragen die je hier stelt redelijk basaal; met een beetje moeite doen en tutorials lezen kun je hier zelf ook uit komen. Je leert meer van even wat references doorlezen dan van je vraag laten beantwoorden op een forum. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
NMe schreef op zaterdag 27 maart 2010 @ 20:13:
Veel plezier: [google=visual basic case insensitive string comparison] ;)
Dan kom je op StrComp uit, leuk compatible met de historie van VB, maar ik zou toch gewoon String's .Equals gebruiken. Dan kun je ook gelijk besluiten om met InvariantCulture te werken, en hoef je niet te vergelijken met 0.
offtopic:
iatl? 8)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
pedorus schreef op zaterdag 27 maart 2010 @ 20:41:
[...]

Dan kom je op StrComp uit, leuk compatible met de historie van VB, maar ik zou toch gewoon String's .Equals gebruiken.
Of gewoon de input naar lower/upper gooien en vergelijken met lower/upper ;)

code:
1
2
3
if lower(userinput) = "y"
...of...
if upper(userinput) = "Y"

8)

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!

  • Orion84
  • Registratie: April 2002
  • Laatst online: 17:28

Orion84

Admin General Chat / Wonen & Mobiliteit

Fotogenie(k)?

Of gewoon een if statement die met een or allebei de gevallen dekt :P

The problem with common sense is that it's not all that common. | LinkedIn | Flickr


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
RobIII schreef op zaterdag 27 maart 2010 @ 22:48:
[...]

Of gewoon de input naar lower/upper gooien en vergelijken met lower/upper ;)

code:
1
2
3
if lower(userinput) = "y"
...of...
if upper(userinput) = "Y"

8)
Nee! :p Dat gaat met "y" waarschijnlijk overal wel lukken, maar met "i" gaat het de Turkey test niet doorkomen, en het idee klopt gewoon niet: zie ook hier en verder. Daarnaast is de performance ook iets slechter, maar dat boeit niet veel.

Dus: Of testen op de 2 toegestane karakters met of ertussen, of (liever denk ik) dus b1.Equals("y", StringComparison.OrdinalIgnoreCase).

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Orion84 schreef op zaterdag 27 maart 2010 @ 23:34:
Of gewoon een if statement die met een or allebei de gevallen dekt :P
Of een config maken in XML en die middels AJAX ophalen om vervolgens met jQuery... :P
pedorus schreef op zondag 28 maart 2010 @ 00:14:
[...]

Nee! :p Dat gaat met "y" waarschijnlijk overal wel lukken, maar met "i" gaat het de Turkey test niet doorkomen, en het idee klopt gewoon niet: zie ook hier en verder. Daarnaast is de performance ook iets slechter, maar dat boeit niet veel.

Dus: Of testen op de 2 toegestane karakters met of ertussen, of (liever denk ik) dus b1.Equals("y", StringComparison.OrdinalIgnoreCase).
Allemaal true en helemaal eensch. Hoewel het voor een Y/N niet echt boeit imho ;)

[ Voor 57% gewijzigd door RobIII op 28-03-2010 00:20 ]

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!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
RobIII schreef op zondag 28 maart 2010 @ 00:14:
Allemaal true en helemaal eensch. Hoewel het voor een Y/N niet echt boeit imho ;)
Het zou wel grappig zijn als er een locale is of komt met "y".ToUpper()!="Y".. Dat wordt lastig kiezen tussen "y" of "Y" dan.. :+

Als het trouwens alleen maar om y/n gaat, dan is sowieso eigenlijk een MessageBox een stuk meer geschikt dan een InputBox. :)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • MasterTweaker
  • Registratie: Maart 2010
  • Laatst online: 12-09 18:01
NMe schreef op zaterdag 27 maart 2010 @ 20:13:
[...]

Veel plezier: [google=visual basic case insensitive string comparison] ;)

Verder zijn de vragen die je hier stelt redelijk basaal; met een beetje moeite doen en tutorials lezen kun je hier zelf ook uit komen. Je leert meer van even wat references doorlezen dan van je vraag laten beantwoorden op een forum. :)
Oké bedankt hier kan ik het zeker wel in vinden. Ik had het natuurlijk kunnen "googlen" maar ik wist niet precies met welke termen, maar met deze termen die jij nu gebruikt vind je inderdaad genoeg. :)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Op zijn Nederlands zoeken naar hoofdletterongevoelige stringvergelijkingen werkt ook wel. :+

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • _eXistenZ_
  • Registratie: Februari 2004
  • Laatst online: 19-09 01:03
Een string is geen nederlands :+ moet dat niet tekstreeks zijn dan? :P (het ondergoed daargelaten)

There is no replacement for displacement!


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
_eXistenZ_ schreef op zondag 28 maart 2010 @ 15:55:
Een string is geen nederlands :+ moet dat niet tekstreeks zijn dan? :P (het ondergoed daargelaten)
Tekenreeks ;)

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