提高VB代码的执行效率

合集下载

VB程序设计

VB程序设计

VB程序设计VB程序设计一、介绍VB程序设计是指使用Visual Basic语言进行软件开发的过程。

Visual Basic是一种高级的、可视化的编程语言,广泛用于Windows平台上的应用程序开发。

在VB程序设计中,开发者可以通过简单的拖拽和控件的属性设置来完成界面的创建和布局,通过编写逻辑代码来实现程序的各类功能。

VB程序设计的特点是简单易学、开发效率高,特别适合初学者和快速开发的场景。

二、VB程序设计的基本语法1. 变量和数据类型在VB程序设计中,变量是用来存储数据的一种容器。

在声明变量时,需要指定变量的类型,常用的数据类型有整型、浮点型、字符型等。

例如,可以使用以下语句声明一个整型的变量:Dim num As Integer2. 控制结构控制结构用于根据条件来执行不同的代码块。

常用的控制结构有条件语句和循环语句。

条件语句:If 条件 Then' 代码块ElseIf 条件 Then' 代码块Else' 代码块End If循环语句:For i = 1 To 10' 代码块Next iDo While 条件' 代码块Loop3. 函数和过程函数是一段代码块,接受输入参数并返回一个值。

过程是一段代码块,用于执行一系列操作。

在VB程序设计中,可以自定义函数和过程,也可以使用内置的函数和过程。

例如,可以使用以下语句定义一个函数:Function Add(num1 As Integer, num2 As Integer) As IntegerAdd = num1 + num2End Function4. 对象和事件在VB程序设计中,控件是程序的核心。

通过使用控件,可以创建窗体、按钮、文本框等等。

每个控件都是一个对象,可以通过设置对象的属性和调用对象的方法来实现不同的功能。

对象还可以响应事件,例如鼠标、键盘按下等。

开发者可以编写事件处理程序来控制对象的行为。

例如:Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click' 代码块End Sub三、VB程序设计的开发工具1. Visual StudioVisual Studio是微软推出的集成开发环境(IDE),可用于开发多种类型的应用程序,包括VB程序。

VB教程完整版

VB教程完整版
15.TabIndex属性 决定了按Tab键时,焦点在各个控件移动的顺序。各个控件默认 的TabIndex值就是控件建立时的顺序,第一个为0. 16.控件默认属性 反映该控件最重要的属性,使用时可省略属性名。 如:Text1.text=“Welcome”与Text1=“Welcome”是等价的。 部份控件默认值: 文本框的为:Text 命令按钮为:Default 标签为:Caption 单选/复选按钮为:Value 图形/图像框为:Picture 35 注意:Command的Default为True,当按Enter键,该控件起作用。
VB6.0包括三个版本:学习版、专业版、企业版
3
二、VB主要功能特点:
1. 具有面向对象的可视化设计工具 2. 事件驱动的编程机制 3. 提供了易学易用的应用程序集成开发环境 4. 结构化的程序设计语言 5.支持多种数据库系统的访问 6.OLE技术。VB核心就是其对对象的链接与嵌入(OLE)的 支持。 7.Active技术 8.完备的help联机帮助功能
14
工程文件的扩展名为.VBP 工程资源管理器下面的列表窗口,以层次 列表形式组成这个工程的所有文件。 主要包括三种类型的文件:
窗体文件(.FRM)存储窗体上使用的所有控件对象 和有关的属性、对象相应的事件过程、程序代码。 标准模块文件(.BAS)所有模块级变量和用户自定 义的通用过程(可以被应用程序各处调用的过程) 类模块文件(.CLS)包含用户对象的属性及方法。
Fontstrikethru是否加一删除线
Fontunderline是否带下划线 例2.2 在窗体上建立两个命令按钮 Command1和Command2, Command2 的Font通过属性窗口设置, 其余属性 通过代码实现。

vb编写DLL学习

vb编写DLL学习

怎样用VB编写DLL文件???你先打开VB,然后先中“ActiveX Dll”工程,然后开始编辑。

编完后,保存一般是以“.cls”和“.vbw”保存。

这时你选择“文件”菜单,弹出下拉框,选中“生成.dll”选项,它就会在上面弹出一个进度条“正在生成.dll文件”。

生成以后是一个有好象齿轮状的图标。

如果你要引用,就开一个“标准EXE”工程,然后在“工程”选项中,单击“引用”,找到你刚才的“.dll”的文件名,在前面的复选框中打勾,就可以引用你刚才在那里面写的方法等。

在vb6里建新工程时选用建立dll 做好后用vb的引用就可以了VB中创建的DLL只是COM组件,无法作为输出函数的DLL,其实这只是个错误的说法。

其实MS 非常狡猾,如果你是个VB疯狂发烧友的话,应该早就狂试出这种可以创建输出函数的DLL的方法。

VB编译文件实际上采取了两次编译的方法,首先是调用C2.exe产生*.OBJ文件,然后调用Link.EXE连接。

如果在LINK的时候添加EXPORT选项,实际上是可以输出函数的。

但是,在VB的工程选项中将这些屏蔽了。

而且过分的是:VB在Build完成后会将OBJ文件删除,这样就无法手动通过Link来创建我们需要的DLL了。

不过我找到一个比较龌鹾的变通的方法,就是先创建一个Exe工程,在Form_Load事件里面写下面的语句:Sub MainIf MsgBox("哈哈", vbOKCancel) = vbOK ThenShell "link2.exe " & Command$End IfEnd Sub然后编译为LinkTemp.EXE,接下来将LINK.EXE改名为Link2.exe,将LinkTemp.EXE改名为Link.EXE。

这样在VB调用Link.EXE时会弹出对话框,处理就会中断。

这时就可以有机会将OBJ文件拷贝出来了。

然后我创建了一个ActiveX DLL工程,在这个工程里面添加一个Module并创建一个Public函数mathadd:Public Function mathadd(ByVal a As Long, ByVal b As Long) As Longmathadd = a + bEnd Function编译这个工程,在Link的时候就会中断。

vb6.0计算自己程序段所用时间的方法

vb6.0计算自己程序段所用时间的方法

文章标题:探索VB6.0程序段时间计算的方法在计算机编程领域,对程序段的执行时间进行准确测量和评估是非常重要的。

在VB6.0编程中,我们常常需要了解自己的程序段所用时间,以便对程序性能进行优化和改进。

本文将深入探讨VB6.0程序段时间计算的方法,帮助读者全面理解这一重要主题。

一、介绍在VB6.0编程中,要计算程序段所用时间,我们常常使用计时器(Timer)函数。

该函数返回从午夜以来的当前系统时间,以秒为单位。

我们可以通过记录程序段开始前和结束后的时间值,再求差来得到程序段的执行时间。

具体来说,可以用以下代码进行实现:```vbaDim startTime As SingleDim endTime As SingleDim elapsedTime As SinglestartTime = Timer' 执行需要计算时间的程序段endTime = TimerelapsedTime = endTime - startTime```以上代码中,我们先定义了三个变量startTime, endTime和elapsedTime分别用来存储开始时间、结束时间和执行时间。

我们利用Timer函数来获取当前系统时间,并通过求差来计算程序段的执行时间。

二、方法在实际编程中,我们也可以封装上述计时方法为一个函数,以便在需要的地方进行调用。

以下是一个示例函数:```vbaFunction CalculateElapsedTime() As SingleDim startTime As SingleDim endTime As SinglestartTime = Timer' 执行需要计算时间的程序段endTime = TimerCalculateElapsedTime = endTime - startTimeEnd Function```通过将计时逻辑封装为函数,我们可以在程序中更灵活地使用,提高代码的复用性和可读性。

vb6.0

vb6.0

新闻网页贴吧知道MP3图片视频百科文库窗体顶端窗体底端帮助设置首页自然文化地理历史生活社会艺术人物经济科学体育核心用户年终盘点VB百科名片Visual Basic6.0开始界面vb是V isual Basic的简称,是由美国微软公司于1991年开发的一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows 环境下的各类应用程序。

它简单易学、效率高,且功能强大可以与Windows 专业开发工具SDK相媲美。

在V isual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,动态链接库(DLL)、对象的链接与嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。

目录Visual Basic编程语言由VB派生的语言VB编程语言历史1991-西雅图夜空的雷电Visual Basic 1.0Visual Basic 2.0专业版Visual Basic 3.0特别版Visual Basic 4.0Visual Basic 5.0Visual Basic 6.0Visual 2002Visual 2003Visual Basic .NET 2005Visual 2008Visual 2010VB的特点1.面向对象2.事件驱动3.软件Software集成式开发4.结构化设计语言5.强大数据库访问功能6.支持对象链接和嵌入技术7.网络功能8.多个应用向导9.支持动态交换、动态链接技术.lO.联机帮助功能虚拟网桥(Virtual Bridge)维多利亚啤酒(Victoria Beer)Visual Basic编程语言由VB派生的语言VB编程语言历史1991-西雅图夜空的雷电Visual Basic 1.0Visual Basic 2.0专业版Visual Basic 3.0特别版Visual Basic 4.0Visual Basic 5.0Visual Basic 6.0Visual 2002Visual 2003Visual Basic .NET 2005Visual 2008Visual 2010VB的特点1.面向对象2.事件驱动3.软件Software集成式开发4.结构化设计语言5.强大数据库访问功能6.支持对象链接和嵌入技术7.网络功能8.多个应用向导9.支持动态交换、动态链接技术.lO.联机帮助功能虚拟网桥(Virtual Bridge)维多利亚啤酒(Victoria Beer)展开编辑本段Visual Basic编程语言1991年,美国微软公司推出了V isual Basic 1.0(可简称VB),1992年,Microsoft公司又推出VB6.0[1]了VB 1.0的升级版VB 2.0……目前的最新版本是VB 2010 测试版。

vb6.0高清教程系列 第02章 VB简单的程序设计(共九章)

vb6.0高清教程系列 第02章 VB简单的程序设计(共九章)

5. Enabled属性(逻辑值) 决定控件是否可操作。 True :允许用户进行操作,并对操作出响应(缺 省值) 。 False:呈暗淡色,禁止用户进行操作。 6. Visible属性(逻辑值) 决定控件是否可见 True :运行时控件可见(缺省值) 。 False:运行时控件隐藏,用户看不到,但控件本 身是存在的。
例2.4 使用Move方法移动一个窗体。双击窗体,窗体移动 并定位在屏幕的左上角,同时窗体的长宽也缩小一倍。 为了实现这一功能,可以在窗体Forml的“代码”窗口中输 入下列代码:
四、方 法(Method)
在对象上可操作的过程,是VB系统提供的一种特殊的 过程和函数——方法。方法是面向对象的,所以对象的方法 调用一般要指明对象。 对象方法 调用形式:
[ 对象.]方法[ 参数列表 ]
如省略对象,表示在当对象,一般指窗体。 例如: Form1.print " VB程序设计"
五、VB应用程序的工作方式
工具箱的各种控件并不是对象,而是代表了各个不同的 类。通过类的实例化,可以得到真正的对象。当在窗体上画 一个控件时,就将类转换为对象,即创建了一个控件对象, 也简称为控件。
VB中的类与对象
3、对 象的建立和命名
(1)对象的建立 方法一: 单击工具箱控件对象 左键拖拉到所需要的大小后释放。 方法二: 双击工具箱控件对象,则立即在窗体出现一 个默认大小的对象框。 (2)编辑对象 先选中对象(单击对象), 放大、缩小 删除对象 复制对象 在窗体上按住
7.BackColor属性和ForeColor属性 BackColor属性用于返回或设置对象的背景颜色, ForeColor属性用于返回或设置在对象里显示图片和 文本的前景颜色。它们是十六进制长整型数据 在程序代码中可用Windows 运行环境的红-绿-蓝 (RGB) 颜色方案,使用调色板或在代码中使用 RGB 或 QBColor 函数指定标准RGB颜色。 例如,将窗体Form1的背景色设置为红色,则可使用下 面三种情况: Form1.BackColor = RGB(255, 0, 0) Form1.BackColor = &HFF& Form1.BackColor = vbRed

vb的编程步骤

vb的编程步骤VB的编程步骤VB(Visual Basic)是一种广泛应用于Windows平台的编程语言,具有易学易用的特点。

在进行VB编程时,按照一定的步骤进行开发可以提高效率和代码质量。

下面将介绍VB的编程步骤,帮助初学者了解如何使用VB进行程序开发。

一、需求分析在进行VB编程之前,首先需要明确开发的需求。

需求分析是软件开发过程中的第一步,它确定了程序的功能和目标。

在这个阶段,开发人员需要与客户或用户进行沟通,了解他们的需求和期望,然后将这些需求转化为具体的功能和特性。

需求分析的目标是明确软件的功能、界面设计和用户交互方式。

开发人员可以使用各种工具和技术,如用户故事、用例图和流程图等,来帮助理解和分析需求。

通过合理的需求分析,可以避免开发过程中的返工和不必要的错误。

二、设计界面在明确了需求之后,下一步是设计程序的界面。

VB提供了丰富的界面设计工具,使得开发人员可以轻松创建各种窗体、控件和布局。

界面设计要考虑到用户的使用习惯和体验,尽量简洁明了、易于操作。

在设计界面时,需要确定程序所需的窗体和控件,并合理布局。

可以使用拖放的方式将控件添加到窗体上,并设置它们的属性和事件。

通过合理的控件选择和布局,可以增强程序的可读性和易用性。

三、编写代码界面设计完成后,下一步是编写代码。

VB是一种基于事件驱动的编程语言,开发人员通过编写事件处理程序来响应用户的操作。

在编写代码之前,需要对程序的逻辑进行设计,确定各个功能的实现方式。

在编写代码时,需要使用VB提供的语法和函数来实现程序的功能。

可以使用条件语句、循环语句、函数和子程序等结构来组织代码。

同时,还可以使用各种API和库来扩展程序的功能。

编写代码时要注意代码的可读性和可维护性。

可以使用注释来解释代码的作用和实现方式,避免出现冗长和复杂的代码块。

此外,还要注意代码的缩进和命名规范,使得代码结构清晰,易于理解。

四、调试和测试在编写完代码之后,需要进行调试和测试。

VB考核方案

VB考核方案一、背景介绍VB(Visual Basic)是一种基于事件驱动的编程语言,广泛应用于Windows操作系统的软件开发。

为了确保开发人员的技术水平和能力,企业通常会进行VB考核。

本文将针对VB考核方案进行详细介绍。

二、考核目的VB考核的目的在于评估开发人员在VB编程方面的知识、技能和经验,以确保其能够胜任相关工作。

通过考核,企业可以了解开发人员的实际能力,为进一步的培训和职业发展提供参考。

三、考核内容1. VB语法知识:考核人员需要熟悉VB的基本语法,包括变量、数据类型、运算符、条件语句、循环语句等。

2. 界面设计能力:考核人员需要能够使用VB提供的界面设计工具,如窗体设计器、控件布局等,设计出符合用户需求的界面。

3. 数据库操作:考核人员需要了解VB与数据库的交互方式,能够使用VB提供的数据库连接工具,如ADO、ODBC等,进行数据的增删改查操作。

4. 错误处理能力:考核人员需要具备处理异常和错误的能力,能够编写健壮的程序,避免程序崩溃或出现不可预料的错误。

5. 代码优化和性能调优:考核人员需要具备对程序进行优化和调优的能力,提高程序的执行效率和响应速度。

四、考核形式VB考核可以采用以下形式之一:1. 笔试:通过书面考核,考察考核人员对VB语法和概念的理解,以及基本的编程能力。

2. 实操:要求考核人员在一定时间内完成一个VB程序的开发任务,考察其在实际项目中的应用能力和解决问题的能力。

3. 面试:通过面对面的交流,考察考核人员对VB的理解和经验,以及解决实际问题的能力。

五、考核评分标准考核评分标准应根据具体的考核内容和形式而定,可以综合考虑以下因素:1. 代码质量:评估考核人员编写的代码的可读性、可维护性和规范性。

2. 功能实现:评估考核人员是否能够按照要求完成所给的开发任务。

3. 错误处理:评估考核人员对异常和错误的处理能力。

4. 性能优化:评估考核人员对程序性能的优化和调优能力。

快速学习VBA编程语言基础知识

快速学习VBA编程语言基础知识VBA(Visual Basic for Applications)是一种宏编程语言,是Microsoft Office套件中的一部分,通过使用VBA,用户可以自动化执行各种任务,增加工作效率。

本文将带你快速学习VBA编程语言的基础知识,包括VBA的概述、变量和数据类型、控制语句、函数和子程序等内容。

第一章:VBA的概述VBA是一种基于Visual Basic语言的宏编程语言,它可以用于编写自动化任务、自定义功能和处理数据。

VBA可以与Office套件中的各种应用程序(如Excel、Word和PowerPoint等)进行集成,使用户能够通过编程方式操作这些应用程序。

VBA的语法与VB语言非常相似,学习VBA可以帮助你更好地理解VB语言的工作原理。

第二章:变量和数据类型在VBA中,变量用于存储数据,数据类型定义了变量可以存储的数据种类。

VBA中常见的数据类型包括整型、浮点型、字符串型、布尔型和日期型等。

本章将详细介绍这些数据类型的特点和使用方法,并教你如何声明和初始化变量。

第三章:控制语句控制语句是VBA编程中用于决策和控制程序流程的关键工具。

本章将介绍VBA中的条件语句(如If语句和Select Case语句)和循环语句(如For循环和Do循环),并给出实际案例来说明它们的用法。

了解和掌握控制语句,可以使你的程序更加灵活和高效。

第四章:函数和子程序函数和子程序是一种封装代码的方式,可以重复使用,并且可以实现复杂的功能。

VBA内置了许多常用的函数(如字符串处理函数和数学函数等),同时也允许用户创建自定义函数和子程序。

本章将介绍如何使用VBA内置函数和如何创建自定义函数和子程序,通过实例帮助你理解其用法。

第五章:错误处理在编程过程中,错误是不可避免的。

VBA提供了一套完善的错误处理机制,可以帮助用户发现和处理程序中的错误。

本章将介绍错误处理的基本原则和常用的处理方法,例如使用On Error语句和Err对象来捕获和处理错误。

vb6.0 createthread创建线程实例

【vb6.0 createthread创建线程实例】在VB6.0中,通过使用CreateThread函数可以创建一个新的线程实例,这为程序员提供了更大的灵活性和控制能力。

在本文中,我们将深入探讨如何在VB6.0中使用CreateThread函数来创建线程实例,并结合实际案例进行详细讲解,以帮助您更好地理解和掌握这一技术。

1. CreateThread函数的基本概念在VB6.0中,CreateThread函数属于Windows API函数,它允许程序员创建一个新的线程实例,并指定线程的起始位置区域和参数。

通过CreateThread函数,我们可以在程序中实现多线程的并发执行,提高程序的效率和响应性。

不过需要注意的是,使用CreateThread函数需要程序员自行管理线程的生命周期和资源,因此需要谨慎使用。

2. CreateThread函数的调用方法在VB6.0中,要使用CreateThread函数,首先需要声明该函数的原型,并定义一个适当的委托来作为线程的起始位置区域。

接下来,我们可以在需要创建线程的地方调用CreateThread函数,并传入相应的参数,以创建线程实例。

在实际调用CreateThread函数时,还需要考虑线程的安全性和同步性,以避免出现竞态条件和资源争夺。

3. 实际案例分析为了更好地理解CreateThread函数的使用方法,下面我们以一个简单的实际案例来说明。

假设我们需要在VB6.0中实现一个多线程的文件下载器,可以同时下载多个文件,并在下载完成后进行相应的处理。

我们可以使用CreateThread函数来创建多个下载线程,每个线程负责下载一个文件;我们可以使用WaitForSingleObject函数来等待所有线程完成下载,并在下载完成后进行相应的处理。

通过这个实际案例,我们可以深入理解和掌握CreateThread函数的使用方法,以及多线程编程的技巧和注意事项。

4. 总结与展望通过本文的介绍和案例分析,我们对VB6.0中CreateThread函数的使用方法有了更深入的了解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

简介:
本文描述了如何通过一些技术手段来提高VB代码的执行效率。这些手段可以分为两个
大的部分:编码技术和编译优化技术。在编码技术中介绍了如何通过使用高效的数据类型、
减少外部引用等编程手段来提高代码执行速度,减少代码消耗的系统资源。在编译优化技术
中介绍了如何正确地利用VB提供的编译选项对在编译时最后生成的可执行文件进行优化。

前言
什么是一个高效的软件?一个高效的软件不仅应该比实现同样功能的软件运行得更快,
还应该消耗更少的系统资源。这篇文章汇集了作者在使用VB进行软件开发时积累下来的一
些经验,通过一些简单的例子来向你展示如何写出高效的VB代码。其中包含了一些可能对
VB程序员非常有帮助的技术。在开始之前,先让我陈清几个概念。

让代码一次成型:在我接触到的程序员中,有很多人喜欢先根据功能需求把代码写出来,
然后在此基础上优化代码。最后发现为了达到优化的目的,他们不得不把代码再重新写一遍。
所以我建议你在编写代码之前就需要考虑优化问题。

把握好优化的结果和需要花费的工作之间的关系:通常当完成了一段代码,你需要检查
和修改它。在检查代码的过程中,也许你会发现某些循环中的代码效率还可以得到进一步的
改进。在这种情况下,很多追求完美的程序员也许会立马修改代码。我的建议是,如果修改
这段代码会使程序的运行时间缩短一秒,你可以修改它。如果只能带来10毫秒的性能改进,
则不做任何改动。这是因为重写一段代码必定会引入新的错误,而调试新的代码必定会花掉
你一定的时间。程序员应该在软件性能和开发软件需要的工作量之间找一个平衡点,而且
10毫秒对于用户来说也是一个不能体会到的差异。

在需要使用面向对象方法的时候尽量使用它;VB提供的机制不完全支持面向对象的设
计和编码,但是VB提供了简单的类。大多数人认为使用对象将导致代码的效率降低。对于
这一点我个人有些不同的意见;考察代码的效率不能纯粹从运行速度的角度出发,软件占用
的资源也是需要考虑的因素之一。使用类可以帮助你在整体上提升软件的性能,这一点我会
在后面的例子中详细说明。

当你编写VB代码的时候,希望你能把上面几点作为
指导你编码的原则。我把文章分为两个部分:如何提高代码的运行速度和编译优化。
如何提高代码的运行速度
下面的这些方法可以帮助你提高代码的运行速度:
1. 使用整数(Integer)和长整数(Long)
提高代码运行速度最简单的方法莫过于使用正确的数据类型了。也许你不相信,但是正
确地选择数据类型可以大幅度提升代码的性能。在大多数情况下,程序员可以将Single,
Double和Currency类型的变量替换为Integer或Long类型的变量,因为VB处理Integer和
Long的能力远远高于处理其它几种数据类型。

在大多数情况下,程序员选择使用Single或Double的原因是因为它们能够保存小数。
但是小数也可以保存在Integer类型的变量中。例如程序中约定有三位小数,那么只需要将
保存在Integer变量中的数值除以1000就可以得到结果。根据我的经验,使用Integer和Long
替代Single,Double和Currency后,代码的运行速度可以提高将近10倍。

2. 避免使用变体
对于一个VB程序员来说,这是再明显不过的事情了。变体类型的变量需要16个字节
的空间来保存数据,而一个整数(Integer)只需要2个字节。通常使用变体类型的目的是为
了减少设计的工4作量和代码量,也有的程序员图个省事而使用它。但是如果一个软件经过
了严格设计和按照规范编码的话,完全可以避免使用变体类型。

在这里顺带提一句,对于Object对象也存在同样的问题。请看下面的代码:
Dim FSO
Set FSO = New Scripting.FileSystemObject

Dim FSO as object
Set FSO = New Scripting.FileSystemObject

上面的代码由于在申明的时候没有指定数据类型,在赋值时将浪费内存和CPU时间。
正确的代码应该象下面这样:

Dim FSO as New FileSystemObject
3. 尽量避免使用属性
在平时的代码中,最常见的比较低效的代码就是在可以使用变量的情况下,反复使用属
性(Property),尤其是在循环中。要知道存取变量的速度是存取属性的速度的20倍左右。
下面这段代码是很多程序员在程序中会使用到的:

Dim intCon as Integer
For intCon = 0 to Ubound(SomVar())
Text1.Text = Text1.Text & vbcrlf & SomeVar(intCon)
Next intCon
下面这段代码的执行速度是上面代码的20倍。
Dim intCon as Integer
Dim sOutput as String
For intCon = 0 to Ubound(SomeVar())
sOutput = sOutput & vbCrlf &
SomeVar(intCon)
Next
Text1.Text = sOutput
4. 尽量使用数组,避免使用集合
除非你必须使用集合(Collection),否则你应该尽量使用数组。据测试,数组的存取速
度可以达到集合的100倍。这个数字听起来有点骇人听闻,但是如果你考虑到集合是一个对
象,你就会明白为什么差异会这么大。

5. 展开小的循环体
在编码的时候,有可能遇到这种情况:一个循环体只会循环2到3次,而且循环体由几
行代码组成。在这种情况下,你可以把循环展开。原因是循环会占用额外的CPU时间。但
是如果循环比较复杂,你就没有必要这样做了。

6. 避免使用很短的函数
和使用小的循环体相同,调用只有几行代码的函数也是不经济的--调用函数所花费的时
间或许比执行函数中的代码需要更长的时间。在这种情况下,你可以把函数中的代码拷贝到
原来调用函数的地方。

7. 减少对子对象的引用
在VB中,通过使用.来实现对象的引用。例如:
Form1.Text1.Text
在上面的例子中,程序引用了两个对象:Form1和Text1。利用这种方法引用效率很低。
但遗憾的是,有办法可以避免它。程序员唯一可以做就是使用With或者将用另一个对象保
存子对象(Text1)。

注释: 使用With
With frmMain.Text1
.Text = "Learn VB"
.Alignment = 0
.Tag = "Its my life"
.BackColor = vbBlack
.ForeColor = vbWhite
End With
或者
注释: 使用另一个对象保存子对象
Dim txtTextBox as TextBox
Set txtTextBox = frmMain.Text1
TxtTextBox.Text = "Learn VB"
TxtTextBox.Alignment = 0
TxtTextBox.Tag = "Its my life"
TxtTextBox.BackColor = vbBlack
TxtTextBox.ForeColor = vbWhite

注意,上面提到的方法只适用于需要对一个对象的子对象进行操作的时候,下面这段代
码是不正确的:

With Text1
.Text = "Learn VB"
.Alignment = 0
.Tag = "Its my life"
.BackColor = vbBlack
.ForeColor = vbWhite
End With
很不幸的是,我们常常可以在实际的代码中发现类似于上面的代码。这样做只会使代码
的执行速度更慢。原因是With块编译后会形成一个分枝,会增加了额外的处理工作。

8. 检查字符串是否为空
大多数程序员在检查字符串是否为空时会使用下面的方法:
If Text1.Text = "" then
注释: 执行操作
End if
很不幸,进行字符串比较需要的处理量甚至比读取属性还要大。因此我建议大家使用下
面的方法:

If Len(Text1.Text) = 0 then
注释: 执行操作
End if
9. 去除Next关键字后的变量名
在Next关键字后加上变量名会导致代码的效率下降。我也不知道为什么会这样,只是
一个经验而已。不过我想很少有程序员会这样画蛇添足,毕竟大多数程序员都是惜字如金的
人。

注释: 错误的代码
For iCount = 1 to 10
注释: 执行操作
Next iCount
注释: 正确的代码
For iCount = 1 to 10
注释: 执行操作
Next
10. 使用数组,而不是多个变量
当你有多个保存类似数据的变量时,可以考虑将他们用一个数组代替。在VB中,数组
是最高效的数据结构之一。

11. 使用动态数组,而不是静态数组
使用动态数组对代码的执行速度不会产生太大的影响,但是在某些情况下可以节约大量
的资源。

相关文档
最新文档