各位vb的大神们,手vb 计算程序运行时间有什么快的方法吗

编写快速高效的VB程序
编写快速高效的VB程序
  编写快速高效的Windows程序是我们的实际需要。当前越来越多的专业和非专业编程人员都倾向于用VB来编写一些Windows下的应用软件。但不可否认:VB所写的应用软件由于不是真编译代码,逊色于用C++和后起之秀Delphi编写的应用程序。以下参考有关资料并结合日常的使用经验,来谈谈如何在最大程度上弥补VB的这些不足,从而写出更加有效的Windows程序。提高Visual Basic应用程序的速度主要有以下几个途径:
  * 将窗口预先调入,隐藏在后面,然后在需要的时候显示。如果你的应用软件涉及几个比较复杂的窗口,那么最好在程序一开始运行时就将它们全部以Load方法调入,然后将不需要马上显示的窗口用Hide方法隐藏起来,在需要显示的时候才用Show方法显示。   * 将图形以BMP形式存盘。BMP格式的图形是Windows缺省的图片格式,Windows可以直接处理它们,而不需要进行过多的转化。   * 将有关的调试程序放在单独的模块中,利用DLL动态链接库。如果可能的话,调用一些Windows提供的DLL库函数,这些函数在内存中只会有一个实例,因而在重复调用时,能提高响应速度。而且调用DLL库函数,还能在一定程度上缩短代码长度。   * 尽量使用Integer和Long这两种变量类型来代替Single、Double和Currency变量类型。使用整型变量操作要比用浮点变量快得多,因而只要所操作的数不超过范围,就应该尽量使用Integer和Long变量类型。   * 在对象的属性设置中多使用缓冲变量。一些针对对象显示属性的直接操作,应该尽量使用缓冲变量,这样可以提高运行和显示的速度。比如文本框内的文本,就可以先读到字符串变量中,再一次性送入Text属性。   * 在不需要的时候,要尽可能地用Unload方法把控件或窗口卸载掉。窗口是较为耗费资源的,所以当一个窗口已经不需要的时候,可以用Unload方法将其撤出内存,释放出所占用的资源。同样,对于耗费资源的控件也可以用Unload方法。   * 尽量使用局部变量,只在需要的时候使用全局变量。因为VB要始终保留着这些全局变量,而局部变量则在退出过程时就释放了。 
&&&主编推荐
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
港口与航道工程建设工程法规及相关知识建设工程经济考试大纲矿业工程市政公用工程通信与广电工程
操作系统汇编语言计算机系统结构人工智能数据库系统微机与接口
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
Powerpoint教程WPS教程
电子政务客户关系管理首席信息官办公自动化大数据
职称考试题目
就业指导签约违约职业测评
招生信息考研政治
网络安全安全设置工具使用手机安全
3DMax教程Flash教程CorelDraw教程Director教程
Dreamwaver教程HTML教程网站策划网站运营Frontpage教程
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
互联网电信IT业界IT生活
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
组织运营财务资本
视频播放文件压缩杀毒软件输入法微博
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&共有 920 人关注过本帖
标题:vb过程太大,高手们能否简化此程序,希望高手帮忙,万分感激
等 级:新手上路
帖 子:16
结帖率:100%
&&已结贴√
&&问题点数:20&&回复次数:3&&&
vb过程太大,高手们能否简化此程序,希望高手帮忙,万分感激
Private Sub 坐标系1(轴长, 最大值, 弯矩最大处)
&&& Pic1.Scale (-轴长 / 5, 最大值 * 2)-(轴长 * 1.4, -(最大值 * 2))
&&& Pic1.Line (0, -(最大值 * 1.5))-(0, 最大值 * 1.5)
&&& Pic1.Line -(-轴长 / 100, 最大值 * 1.3), vbBlue
&&& Pic1.Line (轴长 / 100, 最大值 * 1.3)-(0, 最大值 * 1.5), vbBlue
&&& Pic1.Line (0, 0)-(轴长 * 1.25, 0)
&&& Pic1.Line -(轴长 * 1.22, 最大值 / 16), vbBlue
&&& Pic1.Line (轴长 * 1.22, -最大值 / 16)-(轴长 * 1.25, 0), vbBlue
&&& Pic1.CurrentX = -轴长 / 100
&&& Pic1.CurrentY = 0
&&& Pic1.Print 0
&&& Pic1.CurrentX = 轴长
&&& Pic1.CurrentY = 0
&&& Pic1.Print 轴长
&&& Pic1.CurrentX = 弯矩最大处
&&& Pic1.CurrentY = 0
&&& Pic1.Print 弯矩最大处
&&& Pic1.CurrentX = 轴长 * 1.25
&&& Pic1.CurrentY = 0
&&& Pic1.Print &X&
&&& Pic1.CurrentX = 轴长 / 50
&&& Pic1.CurrentY = 最大值 * 1.5
&&& Pic1.Print &Y&
&&& Pic1.CurrentX = 弯矩最大处 * 0.99
&&& Pic1.CurrentY = 最大值 * 1.32
&&& Pic1.Print Round(最大值)
&&& 'Pic1.Circle (弯矩最大处, 最大值), 0.1, vbRed
Private Sub 坐标系2(轴长, 最小值, 弯矩最小处)
&&& Pic1.Scale (-轴长 / 5, Abs(最小值) * 2)-(轴长 * 1.4, -(Abs(最小值) * 2))
&&& Pic1.Line (0, -(Abs(最小值) * 1.5))-(0, Abs(最小值) * 1.5)
&&& Pic1.Line -(-轴长 / 100, Abs(最小值) * 1.3), vbBlue
&&& Pic1.Line (轴长 / 100, Abs(最小值) * 1.3)-(0, Abs(最小值) * 1.5), vbBlue
&&& Pic1.Line (0, 0)-(轴长 * 1.25, 0)
&&& Pic1.Line -(轴长 * 1.22, Abs(最小值) / 16), vbBlue
&&& Pic1.Line (轴长 * 1.22, Abs(最小值) / 16)-(轴长 * 1.25, 0), vbBlue
&&& Pic1.CurrentX = -轴长 / 100
&&& Pic1.CurrentY = 0
&&& Pic1.Print 0
&&& Pic1.CurrentX = 轴长
&&& Pic1.CurrentY = 0
&&& Pic1.Print 轴长
&&& Pic1.CurrentX = 弯矩最小处
&&& Pic1.CurrentY = 0
&&& Pic1.Print 弯矩最小处
&&& Pic1.CurrentX = 轴长 * 1.25
&&& Pic1.CurrentY = 0
&&& Pic1.Print &X&
&&& Pic1.CurrentX = 轴长 / 50
&&& Pic1.CurrentY = 最小值 * 1.5
&&& Pic1.Print &Y&
&&& Pic1.CurrentX = 弯矩最小处 * 0.99
&&& Pic1.CurrentY = 最小值 * 1.32
&&& Pic1.Print Round(最小值)
&&& 'Pic1.Circle (弯矩最大处, 最大值), 0.1, vbRed
Private Sub 坐标系3(轴长, 最大值, 弯矩最大处)
&&& Pic2.Scale (-轴长 / 5, 最大值 * 2)-(轴长 * 1.4, -(最大值 * 2))
&&& Pic2.Line (0, -(最大值 * 1.5))-(0, 最大值 * 1.5)
&&& Pic2.Line -(-轴长 / 100, 最大值 * 1.3), vbBlue
&&& Pic2.Line (轴长 / 100, 最大值 * 1.3)-(0, 最大值 * 1.5), vbBlue
&&& Pic2.Line (0, 0)-(轴长 * 1.25, 0)
&&& Pic2.Line -(轴长 * 1.22, 最大值 / 16), vbBlue
&&& Pic2.Line (轴长 * 1.22, -最大值 / 16)-(轴长 * 1.25, 0), vbBlue
&&& Pic2.CurrentX = -轴长 / 100
&&& Pic2.CurrentY = 0
&&& Pic2.Print 0
&&& Pic2.CurrentX = 轴长
&&& Pic2.CurrentY = 0
&&& Pic2.Print 轴长
&&& Pic2.CurrentX = 弯矩最大处
&&& Pic2.CurrentY = 0
&&& Pic2.Print 弯矩最大处
&&& Pic2.CurrentX = 轴长 * 1.25
&&& Pic2.CurrentY = 0
&&& Pic2.Print &X&
&&& Pic2.CurrentX = 轴长 / 50
&&& Pic2.CurrentY = 最大值 * 1.5
&&& Pic2.Print &Y&
&&& Pic2.CurrentX = 弯矩最大处 * 0.99
&&& Pic2.CurrentY = 最大值 * 1.32
&&& Pic2.Print Round(最大值)
Private Sub 坐标系4(轴长, 最小值, 弯矩最小处)
&&& Pic2.Scale (-轴长 / 5, Abs(最小值) * 2)-(轴长 * 1.4, -(Abs(最小值) * 2))
&&& Pic2.Line (0, -(Abs(最小值) * 1.5))-(0, Abs(最小值) * 1.5)
&&& Pic2.Line -(-轴长 / 100, Abs(最小值) * 1.3), vbBlue
&&& Pic2.Line (轴长 / 100, Abs(最小值) * 1.3)-(0, Abs(最小值) * 1.5), vbBlue
&&& Pic2.Line (0, 0)-(轴长 * 1.25, 0)
&&& Pic2.Line -(轴长 * 1.22, Abs(最小值) / 16), vbBlue
&&& Pic2.Line (轴长 * 1.22, Abs(最小值) / 16)-(轴长 * 1.25, 0), vbBlue
&&& Pic2.CurrentX = -轴长 / 100
&&& Pic2.CurrentY = 0
&&& Pic2.Print 0
&&& Pic2.CurrentX = 轴长
&&& Pic2.CurrentY = 0
&&& Pic2.Print 轴长
&&& Pic2.CurrentX = 弯矩最小处
&&& Pic2.CurrentY = 0
&&& Pic2.Print 弯矩最小处
&&& Pic2.CurrentX = 轴长 * 1.25
&&& Pic2.CurrentY = 0
&&& Pic2.Print &X&
&&& Pic2.CurrentX = 轴长 / 50
&&& Pic2.CurrentY = 最小值 * 1.5
&&& Pic2.Print &Y&
&&& Pic2.CurrentX = 弯矩最小处 * 0.99
&&& Pic2.CurrentY = 最小值 * 1.32
&&& Pic2.Print Round(最小值)
Private Function Fp11(l, xp1, p1, x)
&&& Fp11 = (1 - xp1 / l) * p1
End Function
Private Function Fp12(l, xp1, p1, x)
&&& Fp12 = -xp1 * p1 / l
End Function
Private Function Mp11(l, xp1, p1, x)
&&& Mp11 = (1 - xp1 / l) * p1 * x
End Function
Private Function Mp12(l, xp1, p1, x)
&&& Mp12 = (1 - xp1 / l) * p1 * x - p1 * (x - xp1)
End Function
Private Sub Command2_Click()
&&& Pic1.Cls
&&& Dim y()
&&& l = Val(Text3.Text)
&&& ReDim y(l * 1000)
&&& Max = 0
&&& Maxx = 0
&&& Min = 0
&&& Minx1 = 0
&If Combo1.Text = &简支梁& Then
&&& If Val(Text1.Text) = 1 Then
&&&&&&&&If Val(Text2.Text) = 0 And Val(Text11.Text) = 0 Then
&&&&&&&&&&&&p1 = Arr(1)
&&&&&&&&&&&&xp1 = Brr(1)
&&&&&&&&&&&&For i = 0 To l * 1000
&&&&&&&&&&&&&&& x = i / 1000
&&&&&&&&&&&&&&& If x & xp1 Then
&&&&&&&&&&&&&&&&&&&&y(i) = Mp11(l, xp1, p1, x)
&&&&&&&&&&&&&&& Else
&&&&&&&&&&&&&&&&&&&&y(i) = Mp12(l, xp1, p1, x)
&&&&&&&&&&&&&&& End If
&&&&&&&&&&&&&&& If y(i) & Max Then
&&&&&&&&&&&&&&&&&&&&Max = y(i)
&&&&&&&&&&&&&&&&&&&&Maxx = x
&&&&&&&&&&&&&&& End If
&&&&&&&&&&&&Next i
&&'frm扭转计算.Print Max
&&&&&&&&&&&&坐标系1 l, Max, Maxx&&'调用的上面的建坐标系的函数,很好
&&&&&&&&&&&&For i = 0 To l * 1000
&&&&&&&&&&&&&&& x = i / 1000
&&&&&&&&&&&&&&& Pic1.PSet (x, y(i))
&&&&&&&&&&&&&&& If i Mod (50 * l) = 0 Then Pic1.Line (x, y(i))-(x, 0), vbBlack
&&&&&&&&&&&&Next i
&&&&&&&&&&&&&&& Max = 0
&&&&&&&&&&&&&&& Maxx = 0
&&&&&&&&&&&&&&& Min = 0
&&&&&&&&&&&&&&& Minx1 = 0
&&&&&&&&&&&&&&& For i = 0 To l * 1000
&&&&&&&&&&&&&&& x = i / 1000
&&&&&&&&&&&&&&& Select Case x
&&&&&&&&&&&&&&&&&&&&Case Is &= xp1
&&&&&&&&&&&&&&&&&&&&&&&&y(i) = Fp11(l, xp1, p1, x)
&&&&&&&&&&&&&&&&&&&&Case Else
&&&&&&&&&&&&&&&&&&&&&&&&y(i) = Fp12(l, xp1, p1, x)
&&&&&&&&&&&&&&& End Select
&&&&&&&&&&&&&&&&&If y(i) & Max Then
&&&&&&&&&&&&&&&&&&&&Max = y(i)
&&&&&&&&&&&&&&&&&&&&Maxx = x
&&&&&&&&&&&&&&& ElseIf y(i) & Min Then
&&&&&&&&&&&&&&&&&&&&Min = y(i)
&&&&&&&&&&&&&&&&&&&&Minx1 = x
&&&&&&&&&&&&&&& End If
&&&&&&&&&&&&Next i
&&&&&&&&&&&&&&&&&If Abs(Max) & Abs(Min) Then
&&&&&&&&&&&&&&&&&&&&坐标系3 l, Max, Maxx
&&&&&&&&&&&&&&&&&Else
&&&&&&&&&&&&&&&&&&&&坐标系4 l, Min, Minx1
&&&&&&&&&&&&&&&&&End If
&&&&&&&&&&&&&&&For i = 0 To l * 1000
&&&&&&&&&&&&&&& x = i / 1000
&&&&&&&&&&&&&&&&&If i = 0 Then
&&&&&&&&&&&&&&&&&&&&Pic2.PSet (x, y(i))
&&&&&&&&&&&&&&& Else
&&&&&&&&&&&&&&&&&&&&Pic2.Line (x, y(i))-(x - 1 / 1000, y(i - 1)), vbBlack
&&&&&&&&&&&&&&&&&&&&If i = l * 1000 Then Pic2.Line (x, y(i))-(x, 0), vbBlack
&&&&&&&&&&&&&&& End If
&&&&&&&&&&&&&&& If i Mod (50 * l) = 0 Then
&&&&&&&&&&&&&&&&&&&&Pic2.Line (x, y(i))-(x, 0), vbBlue
&&&&&&&&&&&&&&& End If
&&&&&&&&&&&&Next i
&&&&&&&&End If
&&&&&End If
&&&&&End If
搜索更多相关主题的帖子:
等 级:本版版主
威 望:119
帖 子:3195
专家分:18731
&&得分:20&
sub viewX(obj as obj, CX as long,CY as long , T)
&&& obj.CurrentX = CX
&&& obj.CurrentY = CY
&&& obj.Print T
'--------------------------
'&&& Pic1.CurrentX = -轴长 / 100
'&&& Pic1.CurrentY = 0
'&&& Pic1.Print 0
call viewx(pic1,-轴长/100,0,0)
'&&& Pic1.CurrentX = 轴长
'&&& Pic1.CurrentY = 0
'&&& Pic1.Print 轴长
call viewx(pic1,轴长,0,轴长)
----------------------------------------
'&&& Pic2.CurrentX = -轴长 / 100
'&&& Pic2.CurrentY = 0
'&&& Pic2.Print 0
call viewx(pic2,-轴长/100,0,0)
'&&& Pic2.CurrentX = 轴长
'&&& Pic2.CurrentY = 0
'&&& Pic2.Print 轴长
call viewx(pic2,轴长,0,轴长)
----------------------------------------
授人于鱼,不如授人于渔
早已停用QQ了
等 级:新手上路
帖 子:16
高手,这和程序中过程太大有关系吗?我是每当执行Private Sub Command2_Click()就会出现过程太大的错误
等 级:新手上路
帖 子:16
回复 2楼 风吹过b
高手您好,谢谢您的指点,但是我简化后,他老是出现用户未定义,您能否具体说明一下呢,这个问题搞了很长时间了,学习vb时间也不长,不知道如何简化,求求高手能够再指点一下,谢谢您了
版权所有,并保留所有权利。
Powered by , Processed in 0.021824 second(s), 8 queries.
Copyright&, BCCN.NET, All Rights Reserved> VB如何编写即可带参数命令行执行,又可直接鼠标双击执行的程序?急急急在线等各位高手是否有做过这样的
VB如何编写即可带参数命令行执行,又可直接鼠标双击执行的程序?急急急在线等各位高手是否有做过这样的
seasky1983 & &
发布时间: & &
浏览:16 & &
回复:2 & &
悬赏:0.0希赛币
VB如何编写即可带参数命令行执行,又可直接鼠标双击执行的程序?急急急!在线等各位高手是否有做过这样的程序:一个EXE的应用程序,即可在命令行下加参数执行,也可直接双击鼠标执行。程序中判断,如果后面加了参数则不出界面直接执行内部代码,如果没有参数(鼠标双击执行)则显示应用程序窗体,让用户手工操作执行?
今天突然接到了这样紧急需求,因为以前一直只做过纯Windows界面的开发,没做过此类的开发,所以不知如何开始,还请知道的朋友稍微具体点告知怎么做(包括VB的属性设置)
做个启动FORM,把DDE打开,用来接收命令参数
with frmStart
.linkmode=1
.................
if command $<$
if app.preinstance then
&#39;将命令传给接受对象
&#39;继续运行程序并将参数一并传递下去
&#39;正常运行
season_xz & &
& & (0)(0)toury(理上网来)已经够明白的,在 Sub Main 中判断 Command() 返回值。season1111 & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&各位大神们,vb编程问题,显示子程序或函-中国学网-中国IT综合门户网站
> 信息中心 >
各位大神们,vb编程问题,显示子程序或函
来源:互联网 发表时间: 16:42:14 责任编辑:李志喜字体:
为了帮助网友解决“各位大神们,vb编程问题,显示子程序或函”相关的问题,中国学网通过互联网对“各位大神们,vb编程问题,显示子程序或函”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:各位大神们,vb编程问题,显示子程序或函数未定义,怎么解决,具体解决方案如下:解决方案1:提示的这个函数里面调用了未定义的其他函数你贴图的时候应该把这个贴全啊,里面有没有call什么解决方案2:redim preserve估计是这个你这样先把这个里面所有代码都剪切走,一行一行加进来,看加到哪一行出的错就知道什么问题了解决方案3:恩~谢谢解决方案4:数组a是在第一个commond_click里定义的,第二个commond需要用到第一个的结果,这怎么办?解决方案5:sub外定义 就是全局变量了全局变量 command1和command2都可以用的。解决方案6:恩~知道了,谢谢解决方案7:a的定义放在private sub command2-click()上面即可
4个回答1个回答1个回答3个回答3个回答5个回答5个回答5个回答4个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright &#169; 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号

我要回帖

更多关于 vb 计算程序运行时间 的文章

 

随机推荐