VB编程调用TextBox中的数值的问题

我编写的一个VB作界面然后调用MATLAB进行计算的机构综合开发系统,其中的运算涉及这样的运算过程,在VB中,Dim dblInReal As Double,...,dblInReal(1,1)=Form13.Text1.Text,也就是说把Text1中的数值作为一个元素赋值给MATLAB中的矩阵,可是在进行数据传递时,如果TextBox的属性设置成"1”,运行时这个"1”值能成功传递到MATLAB中,可如果在TextBox中输入别的值,传递过去的仍然是"1”,如果不设置TextBox的属性值,让它为空,那么运行时会提示“类型不匹配”,我想要做到的就是在TextBox中输入的值改变时,传递的数据也会跟着改变。不知道问题描述的清不清楚,对VB了解的不多,请求高手帮忙。感激不尽!

在VB中TextBox中的数不是数字,而是字符串string,所以要经过转换才能进行运算,需要用Val()或者CDbl()转换.

这样以后才能进行运算,所以要改成
Dim dblInReal As Double,...,dblInReal(1,1)=CDbl(Form13.Text1.Text)或者
Dim dblInReal As Double,...,dblInReal(1,1)=Val(Form13.Text1.Text)追问

这样的话获得的全是“0”值,仍然是TextBox在属性窗口中“Text”的值

追答

你把这个拆成2步试试
Dim dblx As Double
dblx=CDbl(Form13.Text1.Text)
Dim dblInReal As Double,...,
dblInReal(1,1)=dblx

还有就是确保你所定义的所有变量类型一致,如果选择用double就都用double,不要有任何Integer或者Decimal参与。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-17
Dim dblInReal(3, 10)
Private Sub Command1_Click()
dblInReal(1, 1) = Text1.Text
dblInReal(1, 2) = Text2.Text
MsgBox dblInReal(1, 1) & " " & dblInReal(1, 2)
End Sub

定义时要定义得稍微多一点,可以不定义类型,但数组的话要给出数组的维数和容量
第2个回答  2013-10-17
你把Dim dblInReal As Double这一句改成Dim dblInReal As Variant试一试看。
第3个回答  2013-10-17
先定义一个窗体级变量,接受text1的值,再做后续处理就不会出错了追问

你好,能麻烦你再说的具体一点吗?

相似回答