我在VB中有一个TextBox和一个Command Button。我想在单击命令按钮时打印字符串。 我正在使用以下代码,请告诉我我做错了什么:-
<a>
当我在文本框中输入一个字符串并单击命令按钮时,结果是:
Dim name As String
name = Val(Text1.Text)
MsgBox ("Welcome" & Str(name))
答案 0 :(得分:0)
在val()
周围省略Text1.Text
,val()
返回直到无法识别为字符串中使用的数字的第一个符号的数字。请参见documentation。我猜您在TextField的字符串中使用了0
或根本没有数字,两者都将返回0
。
此外,由于您的String name
已经是String
,因此不必将String
强制转换为Str()
,因此也可以省去startDate
。
答案 1 :(得分:0)
val
函数返回其参数的数字表示形式,否则返回“ 0”。这些天来很难找到VB6的官方文档,但您可能需要检查:https://en.wikibooks.org/wiki/Visual_Basic/VB6_Command_Reference#Val
因此,在您的示例中,如果您在Text1
文本框控件中输入任何数字,则将在消息框中看到它。如果输入任何文本,则将像现在一样显示“ Welcome 0”。因此,您必须从代码中删除val
函数,例如:
Dim name As String
name = Text1.Text
MsgBox ("Welcome " & name)
甚至可以简化为:
MsgBox("Welcome " & Text1.Text)
答案 2 :(得分:-1)
因此,您声明了一个字符串变量name
,该字符串要用Text1
框中的文本填充。因此,您需要保留val(...)
部分。
其次,由于name
已经表示一个字符串,因此请在消息框中省略str
:
name = Text1.Text
MsgBox ("Welcome " & name)