| | 2007-08-31 | 在VB6中,无需离开开发环境就可以创建新的SQL Server和Oracle表。方法很简单:打开DataView窗口,用鼠标右键单击数据库的表文件夹,再选择新表格菜单命令。 当处理相似表格时,就是说具有许多相同字段的表格,我们完全可以在很短的时间内容完成设定操作...(阅读全文)
|
|
| | 2007-08-31 | 可以采用“旁门左道”的方式使用Instr函数实现代码的简练。下面是一个典型的例子,检测字符串中是否包含一个元音字母: 1、普通的方法: If UCase(char) = "A" Or UCase(char) = "E" Or UCase(char) = "I" Or UCase(char) = "O" Or UCase(char) = "U" Th...(阅读全文)
|
|
| | 2007-08-31 | 在过程中引用静态局部变量要比引用常规局部动态变量慢2-3倍。要想真正地加速过程的执行速度,最彻底的方法就是将所有的静态变量转换为模块级别变量...(阅读全文)
|
|
| | 2007-08-31 | 要检测一个整数值的最高有效位是否有数值,通常要使用如下的代码(有二种情况:第一组If判断表明对Integer类型,第二组对Long类型): If intValue And H8000 Then ' most significant bit is set End If If lngValue And H80000000 Then ' most significant...(阅读全文)
|
|
| | 2007-08-31 | String函数只能重复复制单字符,当需要重复复制2个或多个字符时,就需要一个循环。看起来是否很麻烦?然而,使用以下的函数就能解决这个问题。基本思路是:建立一个空格字符串,其长度为要重复复制的数目,然后替换每一个空格为要复制的字符串: Function Re...(阅读全文)
|
|
| | 2007-08-31 | VB官方文档似乎很鼓励使用"无"类字符串函数,比如:Left、LTrim或者UCase,而不是实现同样功能的Left、LTrim和UCase函数。但是我们必须认识到:前者返回variant类型的数值,当用于字符串表达式中时,最终必须要转换为字符串(string)类型。 因此,在严格...(阅读全文)
|
|
| | 2007-08-31 | VB在内部使用最简单、最可能的数据类型保存符号数值,这意味着最通常的数字类型-比如0或者1-都按照Integer类型存储。如果在浮点表达式中使用这些常量,可以通过常量的合适类型来加速程序运行,就象下面的代码: value# = value# 1#....(阅读全文)
|
|
| | 2007-08-31 | 如果没有用As语句声明变量,默认类型就是Variants,比如: Dim name ' this is a variant 或者,当前模块下没有声明Option Explicit语句时,任何变量都是Variants类型。...(阅读全文)
|
|
| | 2007-08-31 | 在VB中,相对于本身的潜在功能,LIKE可能是最被忽视的一个操作符了。它的最基本用途是检查一个字符串与给定样式的匹配程度。比如,很容易检查一个产品ID号是否由一个字母以及3个数字组成: If ProductID Like "[A-Za-z][0-9][0-9][0-9]" Then Print "OK" '...(阅读全文)
|
|
| | 2007-08-31 | 读写数组中的元素速度通常都慢于访问一个简单变量,因此,如果在一个循环中要重复使用同一数组元素值,就应该分配数组元素值到临时变量中并使用这个变量。下面举一个例子,检测整数数组中是否存在重复项: Function AnyDuplicates(intArray() As Integer) As...(阅读全文)
|
|
| | 2007-08-31 | 在VB6中,函数是能够返回数组对象的。这种情况下,我们不能象返回对象或者数值的其他函数一样使用函数名当做局部变量来存储中间结果,因此不得不生成一个临时局部数组,函数退出前再分配这个数组给函数名,就象下面的代码一样: '...(阅读全文)
|
|
| | 2007-08-31 | 很多程序员都没有认识到“在函数本身中使用函数名”的妙处,这就象对待一个局部变量一样。应用这个技巧可以起到临时变量的作用,有时还能加速程序运行。看看下面的代码: Function Max(arr() As Long) As Long Dim res As Long, i As Long res = arr...(阅读全文)
|
|
| | 2007-08-31 | 整数间执行除法运算时,要使用 "\" 而不是 "/"。 "/" 运算符要求返回一个单一数值,所以,表面上看似简单的一行代码: C% = A% / B% 实际上包含了3个隐含的转换操作:2个为除法运算做准备,从Integer转换到Single...(阅读全文)
|
|
| | 2007-08-31 | 当设置基于表达式结果的Boolean型数值时,要避免使用多余的If/Then/Else语句结果。比如: If SomeVar SomeOtherVar Then BoolVal = True Else BoolVal = False End If 上面这段代码就很烦琐,它们完全可以使用下面的一行代码来替代: BoolVal = (SomeVar ...(阅读全文)
|
|
| | 2007-08-31 | 不要在代码中放置不必要的DoEvents语句,尤其是在时间要求高的循环中。遵循这个原则,至少能在循环中的每N次反复时才执行DoEvents语句,从而增强效率。比如使用下面的语句: If (loopNdx Mod 10) = 0 Then DoEvents...(阅读全文)
|
|
| | 2007-08-31 | 大家都知道, 操作符的执行速度是相当慢的,特别是处理长字符串时。当必须重复地在同一变量上附加字符时,有一个基于Mid命令的技巧可以使用。基本思路就是:预留一个足够长的空间存放操作的结果。下面是应用这个技术的一个例子。 假设要建立一个字符串,它要...(阅读全文)
|
|
| | 2007-08-31 | 当指派表单或者表单上的控件到该表单模块以外的一个对象变量中时,如果要卸载表单,就必须首先将那个变量设置为 to Nothing。也就是说,如果不设置为Nothing,即使看不到这个对象了,但它仍旧是保存在内存中的...(阅读全文)
|
|
| | 2007-08-31 | VB中没有提供定义数组并同时初始化其内容的方法,所以大多数情况下,必须单独地设置每一个元素,就象下面一样: Dim strArray(0 To 3) As String strArray(0) = "Spring" strArray(1) = "Summer" strArray(2) = "Fall" strArray(3) = "Winter" 在VB4...(阅读全文)
|
|
| | 2007-08-31 | 当要处理字符串中的每一个字符时,可以将字符串赋值到一个byte数组中进行操作。要记住:每一个Unicode字符对应双字节。这种方法通常要快许多,因为节省了大量的Mid函数操作以及大量的临时字符串空间。下面的代码是统计字符串中空格数目的最快方法 Dim b() as...(阅读全文)
|
|
| | 2007-08-31 | OptionButton控件经常是作为控件数组存在的,要快速找到其中的哪一个被选中,可以使用下面的代码: '假设控件数组包含3个OptionButton控件 intSelected = Option(0).Value * 0 - Option(1).Value * 1 - Option(2).Value * 2...(阅读全文)
|
|