在文本框中接受一个名字,当有人点击打印按钮时打印它

Accept a name in Text Box, Print it when someone click on Print Button

我在 VB 中有一个文本框和一个命令按钮。我想在单击命令按钮时打印字符串。 我正在使用以下代码,请告诉我做错了什么:-

Dim name As String 
name = Val(Text1.Text) 
MsgBox ("Welcome" & Str(name))

当我在文本框中输入一个字符串并单击命令按钮时,结果是:

Welcome 0

省略 Text1.Text 周围的 val()val() return 直到第一个符号无法识别为数字中使用的数字细绳。参见documentation。我猜你在 TextField 的字符串中使用了 0 或者根本没有数字,两者都会 return 0.

此外,没有必要将 String name 转换为 String,因为它已经是 String,因此您也可以省略 Str()

因此您声明了一个字符串变量 name,您希望用 Text1 框中的文本填充它。所以你需要保留 val(...) 部分。 其次,由于name已经代表了一个字符串,所以省略掉消息框中的str

name = Text1.Text
MsgBox ("Welcome " & name)

val函数returns其参数的数值表示,否则returns“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)