VB5三十六计

2008-02-23 06:51:55来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

感觉篇

NO.1 瞒天过海
为了让用户感觉到应用程序 执行很快,我们可以利用定时器事 件在后台“悄悄”执行一些任务。在 一些连续性的操作(比如向导)中, 用户可能会因为浏览提示信息等缘故而不会立即对应用程序作出响应。这时我们可以用一个静态变量或全局变量来跟踪运行过程,一旦定时器空闲就进行一小部分工作(如加载数据)。如果能保证每次的工作量都很少,那么用户不会感到应用程序的应答有什么影响,相反他会发现后续工作将会完成得很快。
NO.2 趁火打劫
在应用程序中可能会多次从磁盘中提取数据,这时我们可以尽可能一次多加载数据,只要这些数据不是太大,用户就不会感到过多的延迟。但由于减少了磁盘操作的次数,用户会感到应用程序的总体速度较快。
NO.3 顺手牵羊
可以在Windows启动时先运行一个小的实用程序来预加载VB应用程序所需的动态链接库,如Msvbvm50.dll等。这样,由于windows动态链接库的唯一性,应用程序启动时就能跳过加载这些文件的步骤,使启动时间大大缩短.
NO.4 暗渡陈仓
当应用程序的主窗体包含较 多数据时,它的启动就会显得非常 慢。这时我们可以设计一个简洁的 窗体来显示诸如版权之类的信息,' 而显示这个窗体的同时则在后台 用Load方法将主窗体调人内存, 之后将版权窗体卸载并用Show方 法显示主窗体,从而让用户误以为 主窗体一下子就调出来了。
NO.5 金蝉脱壳
在应用程序中一些窗体会反 复出现,这样我们在不需要时用 Hide方法隐藏而不是用UnLoad 卸出内存,这样做的优点是再用到 该窗体时可以立刻显示出来而不 是延迟一段时间、
NO.6 美人计
一个Windows应用程序的成 功在很大程度上取决于用户界面 的优劣,今年很流行的WinAmp就 是不很典型的例子。关于优化界面 的方法,有调整控件位置,保持无 素一致、简化界面等

速度篇

NO.7 调虎离山
当控件的某一属性需反复引 用时,我们可以把它缓存到某一变 量中以加快速度:
L=picture1.top
for I=0 to 15
image(I).top=L-1
next I
NO.8 釜底抽薪
由于Windows的图形特性,图 形及其它操作的显示速度在很大 程度上决定了应用程序的感觉速 度,因此在窗体互相重叠的时候应 尽量不使用ClipControls和Auto Redraw,设置控件属性时应隐藏控 件,以免多次重画,还有用Line代 替Pset等等。
NO.9 李代桃僵
尽管过程调用使代码具有模 块化风格而更易维护,但对于速度 要求严格的场合,过程调用会增加 额外的操作和处理时间,尤其是当 调用处于循环体内时,我们就有必 要变过程调用为代码内嵌,以牺牲 维护性的代价换取宝贵的速度。
NO.10 连环计
速度的优化不只是某一单方 面的事,比如折半查找的算法效率 就比顺序查找高。但要是循环体采 用Variant变量作计数器则会大大 降低执行速度,因此最佳的方案是 折半查找加Long整型变量作计数 器。
NO.11 上屋抽梯
在应用程序中可能会有一些 对象或变量已经完成任务却仍占 据内存资源,这里提倡一种上屋抽 梯、过河折桥的方法卸载对象或变 量:set Objest=Nothing
同样的,使用动态数组并在使 用完毕后回收内存资源也能达到 相同的效果。
NO.12 反客为主
由于VB采用事件驱动,因此 应用程序的操作总是靠用户或系 统的响应来激发的,但对于一些总 是要执行的操作我们可以主动产 生一些事件,以在应用程序空闲时 合理的利用系统资源。

大小篇

NO.13 偷梁换柱
有时候我们仅仅是为了显示图形和文字,但却使用了图片框和文本框,实际上图像框和标签在这种场合能很好地代替前二者,且大大节省内存。
NO.14 树上开花
这里讲的是一种借局布势的方法,即当我们需要很多相同的控件和窗体时可以使用控件数组和Forms集合。控件数组通过赋予多个同类控件相同的Name属性及相应的Index属性得到,而Forms集合则通过使用New关键字获得。二者的引用方法分别为Object(n)和Forms(n)。
NO.15 走为上
随着工程的日渐庞大,代码中难免会出现一些死代码和无用的变量及常数,VB在编译时会自动删除无用的常数,但死代码和无用的变量仍然会被编译到.exe文件中。这不但会占用宝贵的内存资源,而且会降低执行效率甚至导致应用程序的崩溃,因此把死代码和 无用变量请“走”是一个很好的习 惯。
NO.16 假痴不癫
虽然功能齐全是件令人称道 的事,但重复的建设和为了一些很 少用到的功能而耗费大量代码和 空间无疑是一种浪费,就好比 Win95的任务条上已有一个时钟, 你却非在应用程序中再加一个一 样没有多大意义,另一个例子就是 WPS97虽然没有Word功能多却 非常受欢迎。其实软件同硬件一 样:电脑,电脑,够用就好!
NO.17 假道伐虢
尽管我们可以自己编写代码 来完成诸如绘图。表格处理之类的 工作,但若这些功能在应用程序中 不占重要位置时,可以考虑通过 OLE或者DDE的方法调用画图、 写字板、Excel之类的现有程序来 完成工作,既节省代码又节省空 间。
NO.18 无中生有
VB5提供了一种新的编程模 式,即利用多个工程同时工作,这 样我们可以将应用程序分段,虽然 内存里没有多少代码,但需要某项 功能时可以将这个ActiveX控件 随时调人内存使用。 合理地利用系统资源。

数据篇

NO.19 隔岸观火
在进行数据库操作时往往涉 及到数据的检索,可以用Find- First、FindNext及Seek等方法来完 成任务,但最简单也是最有效的方 法,是给足查询条件并用类似英语 的结构化查询语言SQL来完成这 个工作,SQL由Microsoft Jet支 持,其语法和ANSI SQL基本一 致:
SELECT字段名FROM表名 WHERE条件
其中“字段名”可包括多项值, “条件”项则可使用“And”、“Or”、“<”、“=”、“Like”等逻辑
比较操作符。一旦按照语法编写了SQL语句,即可将其提交给 Data控件的Recordset对象,并由Jet引擎处理,
从而返回查询结果,以轻松实现组合查询。
NO.20 空城计
随着NC、NetPC及低价PC的 日益流行,网络中的客户机配置可 能会越来越简单,因此把大量的数 据库及其操作放在客户机上是不 太合适的,可以把控件同远程服务 器上的数据库进行绑定。这样,虽 然客户机上只存在一丁点儿数据, 但用户需要的任何数据库功能都 可通过服务器实现,并且由于数据 存放集中而更加容易管理。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:解析VB的事件驱动编程

下一篇:用API函数控制光驱的开关