| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1974 人关注过本帖
标题:在vb.net中将一个字符串算式转换为实际值?(续)重大发现!!!!!!!
只看楼主 加入收藏
jiadong
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-8-24
收藏
 问题点数:0 回复次数:4 
在vb.net中将一个字符串算式转换为实际值?(续)重大发现!!!!!!!

各位编友,经过几天查资料,今天我终于找到一个好办法,具体如下:
类似于过去使用vb程序中RunScript函数调用vbs外部脚本一样,但vb.net中的这个方法更强大,可调用vb编译器,几条语句就可以将各种net所支持的语言文本编译成为Exe或Dll文件,我想这种方法可进行多种语言的混编或编一个类似于易语言的程序,如果有人对vb.net编译器编程感兴趣就顶一顶(毕竟比较偏门),可能会为你打开一个意想不到的新天地,谢谢各位答疑。

在写下上一段文字后,我又发现一个方法,采用微软的msscript.ocx控件,在引入该控件后,输入
Dim a As Double
a = AxScriptControl1.Eval("(1+2)/(3+4)")
后,得出正确结果。


原贴:
请教问题:在vb.net中将一个字符串算式转换为实际值?例如:dim a as string ="(4+4)/(1+3)"
dim b as integer
b= ?(a)

能不能用什么方法将得到 b=2的值,我使用 val (a) 得到的值不正确。这个问题是在我编写一个工资图形化公式中遇到的,其中想达到将公式表达式存在数据库中,从字段中引用数值,在公式中各数值都都得到后进行统一计算(有十几项),我原来想逐项进行子程序处理计算,但程序编起来复杂,牵涉到括号等优先计算、数学函数等问题,各位高手有没有简单的方法?

[此贴子已经被作者于2006-9-16 23:35:00编辑过]

搜索更多相关主题的帖子: 算式 易语言 微软 中将 字符 
2006-09-16 22:34
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 
不错不错

[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-09-17 17:05
adou
Rank: 3Rank: 3
等 级:论坛游民
威 望:7
帖 子:867
专家分:81
注 册:2006-8-24
收藏
得分:0 
能不能说具体点?
兄弟我到现在还搞不明白Dll文件的具体作用是什么,以及它是如何建立,如何编程的?

大家好,才是真的好!
2006-09-19 15:50
jiadong
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-8-24
收藏
得分:0 
这位兄弟,dll是一个类模块,可以把一些功能子程序和过程放进去,再设定接口和参数,调用其中的模块完成一定的任务。用vb.net 新建类程序就可以建立,不过我以上的方法是调用vb.net的编译器,将vb.net格式的文本(和txt文本一样,就是扩展名是vb)编译成exe或dll文件,再经过程序调用,以实现一些灵活程度更大的编程功能。用微软的msscript.ocx控件是逐行执行,调用vb.net编译器的方式是将vb程序编译后执行,在效率和速度上比较,编译比逐行执行提高上万倍。
2006-09-19 20:41
蓝の魂
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-9-22
收藏
得分:0 
不需要添加控件,添加引用就可以了
Dim a As New MSScriptControl.ScriptControlClass
a.Language = "vbscript"
MsgBox(a.Eval("1+2+3"))
对VB.net感兴趣的请加入15636854讨论群组织大家族
2006-10-10 21:29
快速回复:在vb.net中将一个字符串算式转换为实际值?(续)重大发现!!!!!! ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.054968 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved