David,
Instead of using a MsgBox you can use a popup which will allow you to display a
larger message (more than 1023 characters), and also will allow the message to
dismiss itself when using
Const AUTO_DISMISS = 1
or greater number of seconds.
a sample script follows:
' MessagePopUp
' allows more than 1023 characters and a custom title
Const OK_BUTTON = 0
' Const AUTO_DISMISS can be 0 which will not dismiss until ok pressed or
' 1 or more seconds when you want the message to disappear.
Const AUTO_DISMISS = 1
Set objShell = CreateObject("Wscript.Shell")
For i = 1 to 1023
strMessage = strMessage & "."
Next
strMessage = strMessage & "X"
objShell.Popup strMessage, AUTO_DISMISS, "My Message Box", OK_BUTTON
' Popup method takes four parameters:
' strMessage, the text we want to display.
' AUTO_DISMISS, constant that tells Popup to keep message box displayed until
user clicks OK, or
' to dismiss the message automatically.
' My Message Box, the custom title for the message box.
' OK_BUTTON, the constant that tells Popup to include only an OK button in the
message box.
hope this helps,
jeff weiss
----- Original Message -----
From: David
To: [email protected]
Sent: Thursday, December 17, 2009 7:55 PM
Subject: Re: VBS Converting strings to numbers
Thanks everyone, you have been good, and my script now is up and running this
far. Just have one more question:
As my original sample showed you, depending on whether or not the two values
equal with each other, a message is displayed - either a positive or a negative
one. Only way, I fine to do this, is through a MsgBox. Problem is, that this
requires the user to click the OK button all the time, which could be rqather
many times through out the session (we are talking kind of a game, here; so
imagine :D). I'd rather liked a message just poping up on the screen, with the
feedback as to how correct the entered number is. Something like what happens
when a software pops up a tooltip. Maybe I need make a GUI of some kind to
accomplish that one. Anyone s to give me a kick the right way off? :)
Oh, and yes, if there is a way to do this, without relying on other
third-party scripts - like GwToolkit or Homer - that would be great. Not that I
hold anything against any of these scripts, they are great indeed. But I kind
of had a dream, that I would make the script, so that other users (who are
sighted, and do not have, or don't rely on, window-eyes) would be able to enjoy
the game as well.
Thanks again,
----- Original Message -----
From: Chip Orange
To: [email protected]
Sent: Friday, December 18, 2009 2:27 AM
Subject: RE: VBS Converting strings to numbers
David,
you can always use the typeName() function to check what type a variable is
in those situations like this where things don't make sense.
also, this is where the immediate mode can make your debugging much easier
and faster, as you can easily keep experimenting in there until you find the
answer.
if you have not downloaded the script for immediate mode you should really
do so.
hth,
Chip
----------------------------------------------------------------------------
From: David [mailto:[email protected]]
Sent: Thursday, December 17, 2009 2:04 PM
To: Scripting List WE
Subject: VBS Converting strings to numbers
I have a VB script which goes like this:
Taken = InputBox( "Enter a number: " )
If Taken = Number Then MsgBox "Yep! There you got it."
If Taken <> Number Then MsgBox "That was a blow!"
Number is a Numeric value, randomly set earlier in the script.
Even if I make sure to enter the CORRECT value into the editbox - in other
words into the variable Taken, the script keeps giving me the "That was a
blow!" message. I can't get it to accept that the Taken and Number values are
equal.
I do wonder, if the returned value from the InputBox is a String format? If
so, I guess I have to (somehow) convert it into a Numeric format, before I can
do the comparison. Am I on the track of something? If so, how do I do the
conversion of a String into a Numeric?
And, first we are doing that, what is the way to convert a Numeric into a
String?
Hope this makes sense, and that someone could point me in the right
direction. Thanks!