VB,表达式计算函数!

town 2000-07-23 11:51:00
谁有或知道哪儿下下载?
...全文
580 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
NetMan1999 2000-10-08
  • 打赏
  • 举报
回复
如过只是计算简单的数字运算,首先将表达式转变为逆波兰表达式,然后通过一个栈将逆波兰表达式计算出来
town 2000-07-28
  • 打赏
  • 举报
回复
czh918:
我正是要访问数据库,而且是大数据量数据库。我以前曾考虑这个方法,简单准确,但它只适于少量数据,而我的情况是从几十上百万条记录中统计出几千上万条数据,本身就很慢了,再单独让它来一条条算的话,更慢,所以没有采用。
需要说明的是,我的表达式不是Select时就写入SQL字段列表的,是先Select出来之后再根据字段组合成表达式计算的。
czh918 2000-07-28
  • 打赏
  • 举报
回复
如果你有使用到数据库的话,可以用sql 的select 来帮你算
Un1 2000-07-28
  • 打赏
  • 举报
回复
你的理解正确。不需要,AddObject name, obj, true 中的true已指明显露obj的所有接口到script中,效果就象vb的函数一样:

a = abs(-9) 与 a = vba.abs(-9)相同。
town 2000-07-28
  • 打赏
  • 举报
回复
Tyro :MSScript.ocx也许是VC或VI带的,因为VB中我没有发现。
Firing_Sky :你倒还提醒了我!
Un1 :还是不懂。是否要自定义一个类,在类中声明该函数,然后加入该类,"Application"是否在表达式串中要加的前缀,如"Application.Format"。

Firing_Sky 2000-07-27
  • 打赏
  • 举报
回复
自己写一个嘛,《数据结构》里有例子的呢! ^_^
Tyro 2000-07-27
  • 打赏
  • 举报
回复
vs6怎么会是Visual SourceSafe?应该是Visual Studio 6.0的意思呀!
Un1 2000-07-27
  • 打赏
  • 举报
回复

With gscCalc

.AddObject "Application", gclsApp, True
Un1 2000-07-26
  • 打赏
  • 举报
回复
MSScript.ocx是vs6的自带控件。
你可以编写一个类带有:

Public Function Format(Expression As Variant, Optional FormatExp As Variant, Optional FirstDayOfWeek As Variant, Optional FirstWeekOfYear As Variant) As Variant
Format = VBA.Format(Expression, FormatExp, FirstDayOfWeek, FirstWeekOfYear)
End Function

然后用AddObject 方法把它的一个实例加入到Script环境,这样Script就具有了Format函数的能力。
town 2000-07-26
  • 打赏
  • 举报
回复
是Visual SourceSafe带的?难怪在其它机子上找不到。
AddObject我试了一下,不知怎么加,麻烦你再说明一下好吗?
TopHead 2000-07-24
  • 打赏
  • 举报
回复
该控件叫:

Microsoft Script Control

在VB的引用中可以找到,下面是个简单例子:

Private Sub Form_Click()
With ScriptControl1
.Language = "VBScript"
End With

Dim abc As String
abc = "123456789"

Dim sExp As String
sExp = "Mid(" & abc & ",1,2)"

Dim sRet As String
sRet = ScriptControl1.Eval(sExp)

MsgBox sRet

End Sub

上面的例子是原来该门诊中别人写的:)

不知道解决你的问题没有?:)
Un1 2000-07-24
  • 打赏
  • 举报
回复
不是Scripting是Microsoft Script Control(MSSCRIPT.ocx)
Limu 2000-07-24
  • 打赏
  • 举报
回复
老兄,你可以直接用VB带的Scripting 控件。这个控件可以运行VBScript和JavaScript脚本语言,VB的语法和VBScript语法类似,你用这个控件是肯定可以执行任意的表达式。不过你可能要在引用里才能找到它。
town 2000-07-24
  • 打赏
  • 举报
回复
该控件不能使用VBScript的Format函数!
town 2000-07-24
  • 打赏
  • 举报
回复
VBScropt.OCX是WIN98或WINNT或WIN2000或IE或VB哪个自带的控件?
town 2000-07-24
  • 打赏
  • 举报
回复
我知道这个控件(MSScript.ocx),但我不想将我的这个程序做得太垃圾,也不需要函数计算,只需要计算数字表达式,+-*/MOD(),如((2+3/5*6) mod 2 - 56.7)*2.3/67,当然可以嵌函数最好。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧