当前位置:编程学习 > VB >>

菜鸟提问

在VB中Label1.Caption = Str(Label1.Caption)中哪里错了呢,其中label1.caption为一个算式,如愿34+35 --------------------编程问答--------------------  Label1.Caption = CStr(Label1.Caption)
但是不能像你想象的那样的那样计算34+35的值,显示还是34+35 --------------------编程问答-------------------- label1.caption=cstr(val(label1.caption)) --------------------编程问答-------------------- Private Sub Form_Load()
   Label1.Caption = "34 + 35"
End Sub

Private Sub Command1_Click()
   Label1.Caption = WZcalc(Label1.Caption)
End Sub

Public Function WZcalc(Tmpstr$) As Double
   Dim sc
   Set sc = CreateObject("ScriptControl")
   sc.Language = "VBScript"
   WZcalc = sc.Eval(Tmpstr)
   Set sc = Nothing
End Function

--------------------编程问答-------------------- 有个小错误修改一下, 我想楼主的本意就是想直接运算34+35将洁果赋值给 Label1 是吗?

'添加 Command1  Label1

Private Sub Form_Load() 
   Label1.Caption = "34 + 35" 
End Sub 

Private Sub Command1_Click() 
   Label1.Caption = Cstr(WZcalc(Label1.Caption))
End Sub 

Public Function WZcalc(Tmpstr$) As Double 
   Dim sc 
   Set sc = CreateObject("ScriptControl") 
   sc.Language = "VBScript" 
   WZcalc = sc.Eval(Tmpstr) 
   Set sc = Nothing 
End Function 

--------------------编程问答-------------------- 谢谢了,很好用,但不明白是什么意思,能提供一个QQ号吗?
--------------------编程问答-------------------- Private Sub Form_Load()  
   Label1.Caption = "34 + 35"  'Label1赋值
End Sub  

Private Sub Command1_Click()  
   Label1.Caption = Cstr(WZcalc(Label1.Caption)) '调用WZcalc涵数并将返回的值赋给Label1显示
End Sub  

Public Function WZcalc(Tmpstr$) As Double  
   Dim sc  '宣告
   Set sc = CreateObject("ScriptControl")  '创建一个对像
   sc.Language = "VBScript"  '引用VBScript的语言
   WZcalc = sc.Eval(Tmpstr)  '使用Eval运行参数值赋值给WZcalc
   Set sc = Nothing  '清空对像
End Function  

QQ: 138449666 我平时也没空


--------------------编程问答-------------------- what!?? --------------------编程问答-------------------- Str()函数要求参数为数字,返回字符,Label1.Caption是字符串数据,格式不匹配
补充:VB ,  控件
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,