vb 文本框输入表达式赋值变量出错
刚才是学习Vb试写一个自动做函数图的小程序遇到问题如下PrivateSubCmd1_Click()Ia=Txt2.TextIb=Txt3.TextIc=Txt4.Text...
刚才是学习Vb 试写一个自动做函数图的小程序 遇到问题如下
Private Sub Cmd1_Click()
Ia = Txt2.Text
Ib = Txt3.Text
Ic = Txt4.Text
Id = Txt1.Text
For X = Ia To Ib Step Ic
Y = Id
PSet (X, Y), vbRed
Next X
End Sub
函数作图pset(x,y),vbred 出错说类型不对 如果把pset(x,3*x*x+2*x+1),vbred 中的变量Y改成具体的函数 就可以做出图来。我想请问 通过文本框控件输入的函数表达式比如3*x*x+2*x+1赋值给表达式 然后pset(x,y)直接引用表达式 就报错 由于我才学习vb 找不到错误的答案 ,希望帮忙解答 感谢 由于分少 希望不要嫌少 展开
Private Sub Cmd1_Click()
Ia = Txt2.Text
Ib = Txt3.Text
Ic = Txt4.Text
Id = Txt1.Text
For X = Ia To Ib Step Ic
Y = Id
PSet (X, Y), vbRed
Next X
End Sub
函数作图pset(x,y),vbred 出错说类型不对 如果把pset(x,3*x*x+2*x+1),vbred 中的变量Y改成具体的函数 就可以做出图来。我想请问 通过文本框控件输入的函数表达式比如3*x*x+2*x+1赋值给表达式 然后pset(x,y)直接引用表达式 就报错 由于我才学习vb 找不到错误的答案 ,希望帮忙解答 感谢 由于分少 希望不要嫌少 展开
4个回答
展开全部
你的 Txt1.Tex 的内容是“3*x*x+2*x+1”?
VB是不会解释这个公式的,你需要把它写在代码里
For X = Ia To Ib Step Ic
Y = 3*x*x+2*x+1
PSet (X, Y), vbRed
Next X
当然,你也许是想在运行时自己能够更改公式,那就需要另外的方法。
引用 MS Script Control 库(名字记不清了大概是这样的),添加控件后用Eval来计算表达式的值
For X = Ia To Ib Step Ic
ScriptControl1.ExecuteStatement "x=" & x
ScriptControl1.Eval ld
PSet (X, Y), vbRed
Next X
VB是不会解释这个公式的,你需要把它写在代码里
For X = Ia To Ib Step Ic
Y = 3*x*x+2*x+1
PSet (X, Y), vbRed
Next X
当然,你也许是想在运行时自己能够更改公式,那就需要另外的方法。
引用 MS Script Control 库(名字记不清了大概是这样的),添加控件后用Eval来计算表达式的值
For X = Ia To Ib Step Ic
ScriptControl1.ExecuteStatement "x=" & x
ScriptControl1.Eval ld
PSet (X, Y), vbRed
Next X
追问
我主要就是想能
够自己更改公式 在窗口的文本框里面更改函数表达式 然后点绘图按钮 在坐标轴上绘出函数图来。 我才开始学习vb你后面的能说的更仔细一点吗??非常感谢
追答
工具箱右键-部件(或者菜单:工程-部件),找到带有 Script Control 字样的打勾(完整的名字记不清了),然后在窗体添加控件 ScriptControl1
展开全部
PSet函数的(X Y)要求的参数类型是Single(单精度浮点数),
Ia = Csng(Txt2.Text)
Ib = Csng(Txt3.Text)
Ic = Csng(Txt4.Text)
Id = Csng(Txt1.Text)
Ia = Csng(Txt2.Text)
Ib = Csng(Txt3.Text)
Ic = Csng(Txt4.Text)
Id = Csng(Txt1.Text)
追问
使用cdng函数以后 还是报错 错误号13让然是类型不匹配
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Cmd1_Click()
text1.text = 3*x*x+2*x+1
a = text1.text
For X = 1 To 5
Y = Id
PSet (X, a), vbRed
Next X
End Sub
你是想这样吗
text1.text = 3*x*x+2*x+1
a = text1.text
For X = 1 To 5
Y = Id
PSet (X, a), vbRed
Next X
End Sub
你是想这样吗
追问
不是txt1.text=3*x*x+2*x+1是 我举例在文本框1里面输入一个函数表达式 我是以这个表达式为例子。来说明问题 输入其他函数表达式是一样的报错 如果把这个函数表达式直接输入在pset(x,y)里面 就不会报错 但是只要一用变量 变量= txt1.text pset(x,变量)就画不出函数了 直接报错 使用了csng val还是不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你试着以下这样
Ia = val(Txt2.Text)
Ib =val( Txt3.Text)
Ic = val(Txt4.Text)
Id =val( Txt1.Text)
For X = Ia To Ib Step Ic
Y = Id
PSet (X, Y), vbRed
Next X
End Sub
Ia = val(Txt2.Text)
Ib =val( Txt3.Text)
Ic = val(Txt4.Text)
Id =val( Txt1.Text)
For X = Ia To Ib Step Ic
Y = Id
PSet (X, Y), vbRed
Next X
End Sub
追问
使用val函数以后 不报错了 但是函数做出的图形不对 不管输入什么函数做出的都是直线
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询