提高VB程序的运行效率
?牐犗旅妫鸵勒瘴以诒喑坦讨凶芙岬囊恍┚椋蠹姨柑浮?
#1?牐?1.避免使用Variant变量
?牐燰ariant变量是VB的缺省变量类型,程序中凡是未加类型说明的变量均被认为是Variant变量,Variant变量是一种变体型变量,它能够存放各种数据类型,可以放入数值、字符串、布尔值及日期等任何数据,其数据类型由最近放入的值决定。使用这种变量对于处理速度不成问题的应用程序来说,是非常方便的。然而,如果想提高应用程序的实际速度,就要避免使用变体型变量。因为,在运行时Variant将转化为适当的数据类型,而转化的过程是需要时间的。如果直接采用其它简单的数据类型,就可以避免不必要的类型转换操作而加快应用程序的速度;另外,每个Variant变量都要占用16位+1个类型位的存储空间,比其他数据类型都要多得多。避免使用Variant变量的办法是在每个模块前加上Option Explicit语句,这样所有的变量在使用前都必须进行声明。这样设置以后,如果程序中使用了未加声明的变量,在运行时VB就会弹出对话框来提醒你。
#1?牐?2.选用最适当的数据类型
?牐牫绦蛑幸×勘苊馐褂肅urrency、Single和Double变量,并尽量使用Long整型变量,尤其在循环体中。因为Long整型变量是32位CPU的本机数据类型,所以其操作非常快。如果无法使用Long变量,就要尽量使用Integer或Byte数据类型。很多时候,即使在要求使用浮点数的情况下,也可以使用Long整型变量。例如,在窗体和图形控件的ScaleMode属性设置为像素时,就可以在控件和图形方法中使用Long整型变量表示大小和位置。
?牐牻谐ㄔ怂闶保峁绻恍枰∈糠郑涂梢允褂谜ㄔ怂惴╘)。由于浮点运算需要转移到协处理器上进行,而整数运算并不需要,所以整数运算总是比浮点运算快。如果确实需要做小数运算,则应选取相对较快的数据类型。在VB中各种数值数据类型的运算速度顺序如下(由快到慢):Long>Interge>Byte>Single>Double>Currency。
#1?牐?3.将常用的属性值、函数返回值缓存在变量中
?牐犚话憷此担淞康拇?理速度比同类型的属性处理速度快许多,因此,如果经常用到某一属性值(如在循环体中),应该先将该属性值赋与某一变量,以后用该变量代替该属性,这样就能够提高代码的速度。比如,像这样的代码就比较慢:
?牐燜or I=0 to 10
?牐燣abel(I).left=text1.left
?牐燦ext I
?牐犗旅娓男吹拇刖鸵斓枚啵?
?牐燣abelleft=text1.left
?牐燜or I =0 to 10
?牐燣abel(I).left=labelleft
?牐燦ext I
?牐犕杂诤姆祷刂担部捎帽淞吭荽嫫浞祷刂担苊饩5饔迷诵械亩唇涌猓庋岽蠓鹊靥岣咚俣取H纾耗吵绦蛑卸啻斡玫絤id(text1.text,1,5),则可先用一变量Tempstring保存Mid(text1.text,1,5)的值,之后凡是用到该值的地方一律用Tempstring代替。
#1?牐?4.图片共享
?牐犎绻谏杓剖苯嗤耐计釉氐郊父龃疤蹇煽丶校恳桓龃疤寤蚩丶即娲⒘烁猛计囊桓龈北尽H欢绻计嬗谝桓龃疤逯校闷渌疤寤蚩丶蚕砀猛计庋瓤梢约跎俪绦虻拇笮。ㄒ蛭话哂嗟耐计奖矗┯挚杉涌焖俣龋ú槐卮哟排讨卸啻渭釉兀?。如下面的代码:
?牐燩icture=LoadPicture?煟?"c:\windows\pic\chess.bmp")
?牐營mage1.picture=picture'使用同一图片
?牐燩icture1.picture=picture
?牐牨认铝屑釉亓送晃煌嫉娜龈北镜拇胍玫枚唷?
?牐燩icture=LoadPicture?煟?"c:\windows\pic\chess.bmp")
?牐營mage1.picture= LoadPicture?煟?"c:\windows\pic\chess.bmp")
?牐燩icture1.picture= LoadPicture?煟?"c:\windows\pic\chess.bmp")
?牐?