VB关键字总结(★)

时间:2019-05-12 13:36:50下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《VB关键字总结》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《VB关键字总结》。

第一篇:VB关键字总结

1.编译命令关键字总结

作用

关键字 定义编译常数。

#Const 编译程序码中的选择区块。

#If...Then...#Else

计算当前净值。

NPV, PV

7.控制流关键字总结

作用

关键字

分支。

GoSub...Return, GoTo, On Error, On...GoSub, On...GoTo 退出或暂停程序。

DoEvents, End, Exit, Stop 2.变量与常数关键字总结

作用

关键字 循环。

Do...Loop For...Next, For Each...Next, While...Wend, With 指定值。

Let 判断。

Choose, If...Then...Else, Select Case, Switch 声明变量或常数。

Const, Dim, Private, Public, New, Static 使用过程。

Call, Function, Property Get, Property Let, Property Set, Sub 声明模块为私有。

Option Private Module 8.目录和文件关键字总结 判断

Variant。IsArray, IsDate, IsEmpty, IsError, IsMissing, 作用

关键字

改变目录或文件夹。

ChDir IsNull, IsNumeric, IsObject, TypeName, VarType 引用当前对象。

Me 改变磁盘。

ChDrive 变量须明确声明。

Option Explicit 复制文件。

FileCopy 设置缺省数据类型。

Deftype 新建目录或文件夹。

MkDir

删除目录或文件夹。

RmDir 3.运算符关键字总结

作用

关键字 重新命名文件、目录或文件夹。Name 算术。

^,-, *, /, , Mod, +, & 返回当前路径。

CurDir 比较。

=, <>, <, >, <=, >=, Like, Is 返回文件的日期、时间。

FileDateTime 逻辑运算。

Not, And, Or, Xor, Eqv, Imp 返回文件、目录及标签属性。

GetAttr

返回文件长度。

FileLen 4.错误关键字总结

作用

关键字

作用

关键字 返回文件名或磁盘标签。

Dir 产生运行时错误。

Clear, Error, Raise

返回 Error 变体。

CVErr 设置有关文件属性的信息。

SetAttr 取得错误信息。

Error

提供错误信息。

Er r 9.日期与时间关键字总结 运行时的错误处理。

On Error, Resume

类型确认。

IsError 作用

关键字

设置当前日期或时间。

Date ,Now, Time 5.Collection 对象关键字总结

作用

关键字

作用

关键字 计算日期。

DateAdd, DateDiff, DatePart 建立一个 Collection 对象。

Collection 添加对象到集合对象中。

Add 返回日期。

DateSerial, DateValue 从集合对象中删除对象。

Remove

引用集合对象中的项。

Item 返回时间。

TimeSerial, TimeValue

设置日期或时间。

Date, Time 6.金融关键字总结

作用

关键字 计时。

Timer 计算折旧率。

DDB, SLN, SYD 10.输入与输出关键字总结 计算未来值。

FV 作用

关键字 计算利率。

Rate 访问或创建文件。

Open 计算本质利率。

IRR, MIRR 关闭文件。

Close, Reset 计算期数。

NPer 控制输出外观。

Format, Print, Print #, Spc, Tab, Width # 计算支付。

IPmt, Pmt, PPmt 复制文件。

FileCopy 取得文件相关信息。

EOF, FileAttr, FileDateTime, FileLen, FreeFile, GetAttr, 作用

关键字

ANSI 值变换为字符串。

Chr Loc, LOF, Seek 文件管理。

Dir, Kill, Lock, Unlock, Name 大小写变换。

Format, LCase, UCase 从文件读入。

Get, Input, Input #, Line Input # 日期变换为数字串。

DateSerial, DateValue 返回文件长度。

FileLen 数字进制变换。

Hex, Oct 设置或取得文件属性。

FileAttr, GetAttr, SetAttr 数值变换为字符串。

Format, Str 设置文件读写位置。

Seek 数据类型变换。

CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, 写入文件。

Print #, Put, Write # CSng, CStr, CVar, CVErr, Fix, Int

日期变换。

Day, Month, Weekday, Year 11.数据类型关键字总结

作用

关键字 时间变换。

Hour, Minute, Second 数据类型变换。

CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, 字符串变换为 ASCII 值。

Asc

字符串变换为数值。

Val CSng, CStr, CVar, CVErr, Fix, Int 设置数据类型。

Boolean, Byte, Currency, Date, Double, Integer, Long, 时间变换为数字串。

TimeSerial, TimeValue Object, Single, String, Variant(default)16.字符串处理关键字总结

检查数据类型。

IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, 作用

关键字

比较两个字符串。

StrComp IsNumeric, IsObject

变换字符串。

StrConv 12.数学关键字总结

作用

关键字 大小写变换。

Format, LCase, UCase 三角函数。

Atn, Cos, Sin, Tan 建立重复字符的字符串。

Space, String 一般计算。

Exp, Log, Sqr 计算字符串长度。

Len 产生随机数。

Randomize, Rnd 设置字符串格式。

Format 取得绝对值。

Abs

取得表达式的正负号。

Sgn 重排字符串。

LSet, RSet 数值变换。

Fix, Int 处理字符串。

InStr, Left, LTrim, Mid, Right, RTrim, Trim

设置字符串比较规则。

Option Compare 13.数组关键字总结

作用

关键字

作用

关键字 运用 ASCII 与 ANSI 值。

Asc, Chr 确认一个数组。

IsArray

建立一个数组。

Array 17.其他关键字总结 改变缺省最小值。

Option Base 作用

关键字 声明及初始化数组。

Dim, Private, Public, ReDim, Static 处理搁置事件。

DoEvents 判断数组下标极限值。

LBound, UBound 运行其他程序。

AppActivate, Shell 重新初始化一个数组。

Erase, ReDim 发送按键信息给其他应用程序。SendKeys

发出警告声。

Beep 14.注册关键字总结

作用

关键字 系统。

Environ 删除程序设置。

DeleteSetting 提供命令行字符串。

Command 读入程序设置。

GetSetting, GetAllSettings Macintosh。

MacID, MacScript 保存程序设置。

SaveSetting 自动。

CreateObject, GetObject

色彩。

QBColor, RGB 15.变换关键字总结

第二篇:VB的关键字

VB关键字大总结

1.编译命令关键字总结

作用 关键字 定义编译常数。#Const 编译程序码中的选择区块。#If...Then...#Else

2.变量与常数关键字总结

作用 指定值。Let 声明变量或常数。Const, Dim, Private, Public, New, Static 声明模块为私有。Option Private Module 判断 VariantTypeName, VarType 引用当前对象。Me 变量须明确声明。Option Explicit 设置缺省数据类型。Deftype

3.运算符关键字总结

作用 算术。^,-, *, /, , Mod, +, & 比较。=, <>, <, >, <=, >=, Like, Is 逻辑运算。Not, And, Or, Xor, Eqv, Imp

4.错误关键字总结

作用 产生运行时错误。Clear, Error, Raise 取得错误信息。Error 提供错误信息。Err 返回 Error 变体。CVErr 运行时的错误处理。On Error, Resume

关键字。IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, IsNumeric, IsObje关键字

关键字

1 型确认。IsError Collection 对象关键字总结

用 关键字 立一个 Collection 对象。Collection 加对象到集合对象中。Add 集合对象中删除对象。Remove Item

DDB, SLN, SYD FV Rate IRR, MIRR NPer IPmt, Pmt, PPmt NPV, PV

GoSub...Return, GoTo, On Error, On...GoSub, On...GoTo DoEvents, End, Exit, Stop Do...Loop For...Next, For Each...Next, While...Wend, With Choose, If...Then...Else, Select Case, Switch Call, Function, Property Get, Property Let, Property Set, Sub

ChDir ChDrive FileCopy MkDir RmDir Name

关键字

关键字

关键字 2 用集合对象中的项。金融关键字总结用算折旧率。算未来值。算利率。算本质利率。算期数。算支付。算当前净值。控制流关键字总结用支。出或暂停程序。环。断。用过程。目录和文件关键字总结用变目录或文件夹。变磁盘。制文件。建目录或文件夹。除目录或文件夹。新命名文件、目录或文件夹。返回当前路径。CurDir 返回文件的日期、时间。FileDateTime 返回文件、目录及标签属性。GetAttr 返回文件长度。FileLen 返回文件名或磁盘标签。Dir 设置有关文件属性的信息。SetAttr

9.日期与时间关键字总结

作用 设置当前日期或时间。Date ,Now, Time 计算日期。DateAdd, DateDiff, DatePart 返回日期。DateSerial, DateValue 返回时间。TimeSerial, TimeValue 设置日期或时间。Date, Time 计时。Timer

10.输入与输出关键字总结

作用 访问或创建文件。Open 关闭文件。Close, Reset 控制输出外观。Format, Print, Print #, Spc, Tab, Width # 复制文件。FileCopy 取得文件相关信息。EOF, FileAttr, FileDateTime, FileLen, FreeFile, GetAttr, Loc, LOF, Seek 文件管理。Dir, Kill, Lock, Unlock, Name 从文件读入。Get, Input, Input #, Line Input # 返回文件长度。FileLen 设置或取得文件属性。FileAttr, GetAttr, SetAttr 设置文件读写位置。Seek 写入文件。Print #, Put, Write #

11.数据类型关键字总结

作用 数据类型变换。CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar, CVErr, FInt

关键字

关键字 关键字

3 置数据类型。Boolean, Byte, Currency, Date, Double, Integer, Long, Object, Single, String, Variant efault)查数据类型。IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, IsNumeric, IsObject.数学关键字总结

用 关键字

角函数。Atn, Cos, Sin, Tan Exp, Log, Sqr Randomize, Rnd Abs Fix, Int 数组关键字总结

IsArray Array Option Base Dim, Private, Public, ReDim, Static 注册关键字总结

DeleteSetting GetSetting, GetAllSettings SaveSetting 变换关键字总结

值变换为字符串。Format, LCase, UCase DateSerial, DateValue Hex, Oct

关键字 关键字

关键字 4 般计算。生随机数。得绝对值。得表达式的正负号。Sgn 值变换。.用认一个数组。立一个数组。变缺省最小值。明及初始化数组。断数组下标极限值。LBound, UBound 新初始化一个数组。Erase, ReDim.用除程序设置。入程序设置。存程序设置。.用SI Chr 小写变换。期变换为数字串。字进制变换。数值变换为字符串。Format, Str 数据类型变换。CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar, CVErr, FInt 日期变换。Day, Month, Weekday, Year 时间变换。Hour, Minute, Second 字符串变换为 ASCII 值。Asc 字符串变换为数值。Val 时间变换为数字串。TimeSerial, TimeValue

16.字符串处理关键字总结

作用 比较两个字符串。StrComp 变换字符串。StrConv 大小写变换。Format, LCase, UCase 建立重复字符的字符串。Space, String 计算字符串长度。Len 设置字符串格式。Format 重排字符串。LSet, RSet 处理字符串。InStr, Left, LTrim, Mid, Right, RTrim, Trim 设置字符串比较规则。Option Compare 运用 ASCII 与 ANSI 值。Asc, Chr

17.其他关键字总结

作用 处理搁置事件。DoEvents 运行其他程序。AppActivate, Shell 发送按键信息给其他应用程序。发出警告声。Beep 系统。Environ 提供命令行字符串。Command Macintosh。MacID, MacScript 自动。CreateObject, GetObject 色彩。QBColor, RGB

关键字 关键字

5 SendKeys

第三篇:VB关键字

VB关键字总结

1.编译命令关键字总结

作用 关键字 定义编译常数。#Const 编译程序码中的选择区块。#If...Then...#Else

2.变量与常数关键字总结

作用 指定值。Let 声明变量或常数。Const, Dim, Private, 声明模块为私有。Option Private Module 判断 VariantIsError, IsMissing, IsNull, IsNumeric, IsObject, TypeName, VarType 引用当前对象。Me 变量须明确声明。Option Explicit 设置缺省数据类型。Deftype

3.运算符关键字总结

作用 算术。^,-, *, /, , Mod, +, & 比较。=, <>, <, >, <=, >=, Like, Is 逻辑运算。Not, And, Or, Xor, Eqv, Imp

4.错误关键字总结

作用 产生运行时错误。Clear, Error, Raise 取得错误信息。Error 提供错误信息。Err 返回 Error 变体。CVErr 运行时的错误处理。On Error, Resume 类型确认。IsError

关键字 Public, New, Static。IsArray, IsDate, IsEmpty, 关键字

关键字

1 5.Collection 对象关键字总结

作用 关键字 建立一个 Collection 对象。Collection 添加对象到集合对象中。Add 从集合对象中删除对象。Remove 引用集合对象中的项。Item

6.金融关键字总结

作用 计算折旧率。DDB, SLN, SYD 计算未来值。FV 计算利率。Rate 计算本质利率。IRR, MIRR 计算期数。NPer 计算支付。IPmt, Pmt, PPmt 计算当前净值。NPV, PV

7.控制流关键字总结

作用 分支。GoSub...Return, GoTo, On Error, On...GoSub, On...GoTo 退出或暂停程序。DoEvents, End, Exit, Stop 循环。Do...Loop For...Next, For Each...Next, While...Wend, With 判断。Choose, If...Then...Else, Select Case, Switch 使用过程。Call, Let, Property Set, Sub

8.目录和文件关键字总结

作用 改变目录或文件夹。ChDir 改变磁盘。ChDrive 复制文件。FileCopy 新建目录或文件夹。MkDir 删除目录或文件夹。RmDir 重新命名文件、目录或文件夹。Name

关键字

关键字

Function, Property Get, Property 关键字 2 返回当前路径。CurDir 返回文件的日期、时间。FileDateTime 返回文件、目录及标签属性。GetAttr 返回文件长度。FileLen 返回文件名或磁盘标签。Dir 设置有关文件属性的信息。SetAttr

9.日期与时间关键字总结

作用 关键字

设置当前日期或时间。Date ,Now, Time 计算日期。DateAdd, DateDiff, DatePart 返回日期。DateSerial, DateValue 返回时间。TimeSerial, TimeValue 设置日期或时间。Date, Time 计时。Timer

10.输入与输出关键字总结

作用 关键字 访问或创建文件。Open 关闭文件。Close, Reset 控制输出外观。Format, Print, Print #, Spc, Tab, Width # 复制文件。FileCopy 取得文件相关信息。EOF, FileAttr, FileDateTime, FileLen, FreeFile, GetAttr, Loc, LOF, Seek 文件管理。Dir, Kill, Lock, Unlock, Name 从文件读入。Get, Input, Input #, Line Input # 返回文件长度。FileLen 设置或取得文件属性。FileAttr, GetAttr, SetAttr 设置文件读写位置。Seek 写入文件。Print #, Put, Write #

11.数据类型关键字总结

作用 关键字

数据类型变换。CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar, CVErr, Fix, Int

3 设置数据类型。Boolean, Byte, Currency, Date, Double, Integer, Long, Object, Single, String, Variant(default)检查数据类型。IsArray, IsDate, IsEmpty, IsError, IsMissing, IsNull, IsNumeric, IsObject

12.数学关键字总结

作用 关键字

三角函数。Atn, Cos, Sin, Tan 一般计算。Exp, Log, Sqr 产生随机数。Randomize, Rnd 取得绝对值。Abs 取得表达式的正负号。数值变换。Fix, Int

13.数组关键字总结

作用 确认一个数组。IsArray 建立一个数组。Array 改变缺省最小值。Option Base 声明及初始化数组。Dim, Private, Public, ReDim, Static 判断数组下标极限值。重新初始化一个数组。

14.注册关键字总结

作用 删除程序设置。DeleteSetting 读入程序设置。GetSetting, GetAllSettings 保存程序设置。SaveSetting

15.变换关键字总结

作用 ANSI 值变换为字符串。大小写变换。Format, LCase, UCase 日期变换为数字串。DateSerial, DateValue 数字进制变换。Hex, Oct 数值变换为字符串。Format, Str

关键字 关键字

关键字 4 Sgn LBound, UBound Erase, ReDim Chr 数据类型变换。CBool, CByte, CCur, CDate, CDbl, CDec, CInt, CLng, CSng, CStr, CVar, CVErr, Fix, Int 日期变换。Day, Month, Weekday, Year 时间变换。Hour, Minute, Second 字符串变换为 ASCII 值。Asc 字符串变换为数值。Val 时间变换为数字串。TimeSerial, TimeValue

16.字符串处理关键字总结

作用 比较两个字符串。StrComp 变换字符串。StrConv 大小写变换。Format, LCase, UCase 建立重复字符的字符串。Space, String 计算字符串长度。Len 设置字符串格式。Format 重排字符串。LSet, RSet 处理字符串。InStr, Left, LTrim, Mid, Right, RTrim, Trim 设置字符串比较规则。Option Compare 运用 ASCII 与 ANSI 值。Asc, Chr

17.其他关键字总结

作用 处理搁置事件。DoEvents 运行其他程序。AppActivate, Shell 发送按键信息给其他应用程序。发出警告声。Beep 系统。Environ 提供命令行字符串。Command Macintosh。MacID, MacScript 自动。CreateObject, GetObject 色彩。QBColor, RGB 关键字 关键字

SendKeys

第四篇:java中常用关键字总结

Java中的关键字总结

final 关键字

1、用final修饰的类不能被继承,没有子类;

2、用final修饰的方法,方法不能被重写;

3、用final修饰变量,变量的值不能被修改,表示常量,(书写规范:全部字母都要大写;多个单词,可以使用下划线(_)分开;)注意:如果被final修饰的变量是一个引用类型的数据,那么通过这个引用改变堆空间中的数据,不会报错;如果被final修饰的变量是一个引用类型的数据,那么通过这个引用改变堆空间中的数据,不会报错;

4、final用于成员变量表示该成员变量为常量,不能被修改,必须在变量定义时赋值。

5、final用于局部变量表示该局部变量为常量,不能被修改,可以在变量定义时赋值,也可以先定义变量后赋值。什么时候用final关键字? 有的时候不想别人重写我的方法就使用final关键字修饰该方法;

static关键字

1、static用于成员变量表示该变量只有一份,也就是说静态成员变量属于类而不属于某个具体的类实例对象,所有的类实例对象共享这个静态成员变量; 静态函数是不需要对象的,直接可以使用类名来调用;

2、非静态函数可以调用静态函数;静态函数不能调用非静态函数(非静态函数都是通过对象调用的);静态函数不能使用非静态成员变量,但可以使用静态成员变量;

3、静态函数调用时不需要对象的,所以不能使用和对象有关的关键字;(this;super;)

4、构造函数不能使用static修饰(构造函数是创建对象,开辟空间,给所有成员变量赋默认值之后,有JVM调用进栈,用来给对象的成员变量赋初始值的)static用于类,这里指的是内部类,那么在别的地方就可以通过外部类名来引用这个静态的内部类。

5、static还可以用于类的代码块,叫做静态代码块,静态代码块在类加载的时候就执行完毕,而类只加载一次;是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。什么时候用static关键字? 不想建立对象时;对于公用的成员变量必须使用static关键字修饰才能保证共享;

private关键字

1、java中的访问权限修饰符(作用是控制被修饰的成员的访问权限);被private修饰的成员,只能在本类中使用;所以被私有的成员需要在外界访问,还需要提供一个公共的方法;

设值:set + 变量名(变量名的首字母大写); 取值:get + 变量名(变量名的首字母大写);

2、构造函数私有化,就只能在被类中使用,别的地方调用不了;单例设计模式时会用到;

在开发中,一般类的成员变量都要私有化,然后提供get和set方法;

interface关键字

1、interface接口不是一个类,使用interface声明;接口没有构造函数;接口是用来描述不属于继承体系的扩展功能的;还可以定义规则;接口和类之间是实现关系,一个实现类可以实现多个接口;接口和接口之间是继承关系,可以多继承和多重继承;

2、接口中可以书写的内容:

成员变量:只能使用一下修饰符:public static final;也就是说,接口中的成员变量,都是常量;

成员函数: 只能使用修饰符:public abstract;也就是说,接口中的方法,都是公共和抽象的;一般函数前面的修饰符,推荐public不要省略;

什么时候用interface关键字? 对于继承体系之外的扩展功能需要使用接口来描述;

implements关键字

implements用于实现接口,需要实现接口中的所有方法,可以同时实现多个接口。extends关键字

extends用于继承父类或父接口,继承父类时只能是单继承。

class关键字

class用于声明类,访问权限可以是public或者默认权限,还可以指定为abstract、final,访问权限对于顶层类和内部类的限制是不同的。

instanceof关键字

1、比较运算符,运算符左边是一个指向一个对象的引用(左边就是一个变量名),右边是一个类名,运算符表示的意思就是:判断左边的对象的类型是不是右边的类;

2、使用instanceof关键字,可以实时判断一个对象的类型,就可以避免强制类型转换中容易出现的类型转换异常。

abstract关键字

1、abstract用于类表示这个类为抽象类,不能实例化。

2、抽象类,必须由子类去继承,继承的子类必须实现父类中所有的抽象方法,否则子类也是抽象的;

3、抽象函数必须放在抽象类中;抽象类中除了抽象函数,还可以定义所有一般类中可以定义的成员;

4、抽象类中可以不书写抽象方法;抽象类中必须有构造方法;抽象类一定是父类;

5、抽象类是父类,用来描述所有子类的共性信息的,只是描述的有些功能是不具体的;

6、abstract用于方法表示这个方法为抽象方法,只需声明,不用实现,由子类实现,抽象方法不能用private和static关键字。什么时候用abstract关键字? 当事物的功能描述不清,只能表示有这个功能时,就应该使用抽象修饰该功能,这个功能就是抽象的功能;如果一个类中有抽象的功能,那么这个类也是抽象的类;不想实例化这个类(包括自己也不行),但是允许别人继承,也可以使用抽象类。

this关键字

1、表示自身所属对象的引用;哪个对象调用this,this就指向哪个对象;

2、Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this.什么时候用this关键字?

1、通过this调用另一个构造方法,用法:this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。如果一个构造函数中有this()语句,就没有隐式三步,隐式三步在this语句调用的那个构造函数中,且this语句必须在第一行的位置;

2、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被私有化,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。(用来区分成员变量和局部变量)

3、在函数中,需要引用该函所属类的当前对象时候,直接用this。

super关键字

1、表示父类;可以在子类中调用父类的非私有成员和构造函数;

2、调用方法:

调用父类构造函数:super(参数);(父类中没有无参构造函数在父类中添

加一个无参构造;在子类中手动调用有参构造函数)调用父类成员变量:super.变量名; 调用父类成员函数:super.函数名(参数);

3、super关键和this作用类似,是被私有的成员变量或者成员方法变为可见,或者说用来引用被私有的成员变量和成员方法,不过super是用在子类中,目的是访问直接父类中被屏蔽的成员.什么时候用super关键字?

如果父类中没有无参构造函数是,需要在子类中用super调用有参构造函数;

第五篇:VB常见问题总结

快捷域名:http://yujimyfavorcn.programfan.com 创建于:2005-6-5 共 6篇文章 访问统计:169

VB常见问题总结

点击数:138 发布日期:2005-6-5 18:28:00 【字体:大 中 小】【评论】【打印】

各位朋友大家好,如果你在这里的时间够长,那么你会发现很多帖子的问题是相同的,既然这样,不如总结到一起让初学者来翻看,再热心的大虾也不愿意把一个答案重复几十遍:)Ryowu制作匆忙,难免错漏,还请见谅。

若朋友您想要问如何才能学好vb,或者入门需要看什么教材一类的问题,建议你抱着一颗刻苦钻研的心去面对这门学问,多动脑,少提问,遇到不知道的,多查msdn,多看老贴,或者用断点来亲自试验。实在不会了,请在此贴中查找您的常见问题,如果还没有,那请您发出新贴,向各位高手讨教:)

查找方法:按ctrl+f,输入要查找的问题关键字即可

注明:本贴源于VB编程乐园网站,本人只是稍微编辑了一下。

每个问题中间用///分隔,这只是一部分最常见到的问题,以后会逐渐更新。

//////////////////////////////////////////////////////////////////////////////////// 如何用VB建立快捷方式

Private Declare Function fCreateShellLink Lib “STKIT432.DLL”(ByVal lpstrFolderName As String, ByVal lpstrLinkName As String, ByVal lpstrLinkPath As String, ByVal lpstrLinkArgs As String)As Long Sub Command1_Click()Dim lReturn As Long '添加到桌面

lReturn = fCreateShellLink(“....Desktop”, “Shortcut to Calculator”, “c:windowscalc.exe”, “")'添加到程序组

lReturn = fCreateShellLink(”“, ”Shortcut to Calculator“, ”c:windowscalc.exe“, ”“)'添加到启动组

lReturn = fCreateShellLink(”Startup“, ”Shortcut to Calculator“, ”c:windowscalc.exe“, ”“)End Sub

//////////////////////////////////////////////////////////////////////////////////// 如何让程序在 Windows 启动时自动执行?

有以下二个方法:

方法1: 直接将快捷方式放到启动群组中。

方法2: 在注册档 HKEY_LOCAL_MACHINE 中找到以下机码 SoftwareMicrosoftWindowsCurrentVersionRun 新增一个字串值,包括二个部份

1.名称部份:自己取名,可设定为 AP 名称。

2.资料部份:则是包含 '全路径档案名称' 及 '执行参数' 例如:

Value Name = Notepad Value Data = c:windowsnotepad.exe

//////////////////////////////////////////////////////////////////////////////////// 在 TextBox 中如何限制只能输入数字?

参考下列程序:

Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0 End If End Sub

//////////////////////////////////////////////////////////////////////////////////// 我希望 TextBox 中能不接受某些特定字符,例如 '@#$%”,有没有简单一点的写法?

方法有好几种, 以下列举二种:

方法1: 可以使用 IF 或 Select Case 一个个判断, 但如果不接受的字符多时, 较麻烦!方法2: 将要剔除的字符统统放在一个字串中,只要一个 IF 判断即可!如下: Private Sub Text1_KeyPress(KeyAscii As Integer)Dim sTemplate As String sTemplate = “!@#$%^&*()_+-=” '用来存放不接受的字符 If InStr(1, sTemplate, Chr(KeyAscii))> 0 Then KeyAscii = 0 End If End Sub

//////////////////////////////////////////////////////////////////////////////////// 如何让鼠标进入 TextBox 时自动选定 TextBox 中之整串文字?

这个自动选定反白整串文字的动作,会使得输入的资料完全取代之前在 TextBox 中的所有字符。

Private Sub Text1_GotFocus()Text1.SelStart = 0 Text1.SelLength = Len(Text1)End Sub

//////////////////////////////////////////////////////////////////////////////////// 如何检查软盘驱动器里是否有软盘?

使用:

Dim Flag As Boolean

Flag = Fun_FloppyDrive(“A:”)If Flag = False Then MsgBox “A:驱没有准备好,请将磁盘插入驱动器!”, vbCritical

' '函数:检查软驱中是否有盘的存在 ' Private Function Fun_FloppyDrive(sDrive As String)As Boolean On Error Resume Next Fun_FloppyDrive = Dir(sDrive)<> “" End Function

//////////////////////////////////////////////////////////////////////////////////// 如何弹出和关闭光驱托盘?

Option Explicit

Private Declare Function mciSendString Lib ”winmm.dll“ Alias ”mciSendStringA“(ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long)As Long

Private Sub Command1_Click()mciExecute ”set cdaudio door open“ '弹出光驱 Label2.Caption = ”弹 出“ End Sub

Private Sub Command2_Click()Label2.Caption = ”关 闭“

mciExecute ”set cdaudio door closed“ '合上光驱 Unload Me End End Sub

//////////////////////////////////////////////////////////////////////////////////// 如何让你的程序在任务列表隐藏

Private Declare Function RegisterServiceProcess Lib ”kernel32“(ByVal ProcessID As Long, ByVal ServiceFlags As Long)As Long Private Declare Function GetCurrentProcessId Lib ”kernel32“()As Long

'请你试试 Ctrl+Alt+Del 是不是你的程序隐藏了 Private Sub Command1_Click()i = RegisterServiceProcess(GetCurrentProcessId, 1)End Sub

//////////////////////////////////////////////////////////////////////////////////// 如何用程序控制滑鼠游标(Mouse Cursor)到指定位置?

以下这个例子,当 User 在 Text1 中按下 'Enter' 键后,滑鼠游标会自动移到 Command2 按钮上方

请在声明区中加入以下声明:

'16 位版本:(Sub 无传回值)Declare Sub SetCursorPos Lib ”User“(ByVal X As Integer, ByVal Y As Integer)

'32 位版本:(Function 有传回值,Integer 改成 Long)Declare Function SetCursorPos Lib ”user32“(ByVal x As Long, ByVal y As Long)As Long

'在 Form1 中加入以下程序码:

Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then x% =(Form1.Left + Command2.Left + Command2.Width / 2 + 60)/ Screen.TwipsPerPixelX y% =(Form1.Top + Command2.Top + Command2.Height / 2 + 360)/ Screen.TwipsPerPixelY SetCursorPos x%, y% End If End Sub

//////////////////////////////////////////////////////////////////////////////////// 如何用鼠标移动没有标题的 Form,或移动 Form 中的控制项?

在声明区中放入以下声明:

'16 位版本:(Sub 无返回值)Private Declare Sub ReleaseCapture Lib ”User“()Private Declare Sub SendMessage Lib ”User“(ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Long)

'32 位版本:(Function 有返回值,Integer 改成 Long)Private Declare Function ReleaseCapture Lib ”user32“()As Long Private Declare Function SendMessage Lib ”user32“ Alias ”SendMessageA“(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)As Long

'共用常数:

Const WM_SYSCOMMAND = &H112 Const SC_MOVE = &HF012

'若要移动 Form,程序码如下:

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim i As Long i = ReleaseCapture i = SendMessage(Form1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0)End Sub

'以上功能也适用于用鼠标在 Form 中移动控制项,程序码如下:

Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Dim i As Long i = ReleaseCapture i = SendMessage(Command1.hwnd, WM_SYSCOMMAND, SC_MOVE, 0)End Sub

//////////////////////////////////////////////////////////////////////////////////// 检查文件是否存在?

Function FileExists(filename As String)As Integer Dim i As Integer On Error Resume Next i = Len(Dir$(filename))If Err Or i = 0 Then FileExists = False Else FileExists = True End Function

//////////////////////////////////////////////////////////////////////////////////// 如何设置对VB数据库连接的动态路径

我个人因为经常作一些数据库方面的程序,对于程序间如何与数据库进行接口的问题之烦是深有体会,因为VB在数据库链接的时候,一般是静态,即数据库存放的路径是固定的,如用VB的DATA,adodc,DataEnvironment 等到作数据库链接时,如果存放数据库的路径被改变的话,就会找不到路经,真是一个特别烦的事。

笔者的解决方法是利用app.path 来解决这个问题。

一、用data控件进行数据库链接,可以这样: 在form_load()过程中放入: private form_load()Dim str As String '定义 str = App.Path If Right(str, 1)<> ”“ Then str = str + ”“ End If data1.databasename=str & ”数据库名“ data1.recordsource=”数据表名“ data1.refresh sub end 这几句话的意为,打开当前程序运行的目录下的数据库。你只要保证你的数据库在你程序所在的目录之下就行了。

二、利用adodc(ADO Data Control)进行数据库链接: private form_load()Dim str As String '定义 str = App.Path If Right(str, 1)<> ”“ Then str = str + ”“ End If str = ”Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=“ & str & ”tsl.mdb“ Adodc1.ConnectionString = str Adodc1.CommandType = adCmdText

Adodc1.RecordSource = ”select * from table3“ Adodc1.Refresh end sub

三、利用DataEnvironment进行数据库链接 可在过程中放入: On Error Resume Next

If DataEnvironment1.rsCommand1.State <> adStateClosed Then DataEnvironment1.rsCommand1.Close '如果打开,则关闭 End If 'i = InputBox(”请输入友人编号:“, ”输入“)'If i = ”“ Then Exit Sub

DataEnvironment1.Connection1.Open App.Path & ”userdatabasetsl.mdb“ DataEnvironment1.rsCommand1.Open ”select * from table3 where 编号='“ & i & ”'“ 'Set DataReport2.DataSource = DataEnvironment1 'DataReport2.DataMember = ”command1“ 'DataReport2.show end sub

四、利用ADO(ActiveX Data Objects)进行编程: 建立连接:

dim conn as new adodb.connection dim rs as new adodb.recordset dim str str = App.Path If Right(str, 1)<> ”“ Then str = str + ”“ End If str = ”Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=“ & str & ”tsl.mdb“ conn.open str rs.cursorlocation=aduseclient rs.open ”数据表名“,conn,adopenkeyset.adlockpessimistic 用完之后关闭数据库: conn.close set conn=nothing

//////////////////////////////////////////////////////////////////////////////////// 如何让用户自行输入方程式,并计算其结果?

假设我们要让使用者在“方程式”栏位中自由输入方程式,然后利用方程式进行计算,则引用ScriptControl控件可以很方便地做到。

(ScriptControl 控件附属于VB 6.0,如果安装后没有看到此一控件,可在光盘的

CommonToolsVBScript 目录底下找此一控件,其.文件名为Msscript.ocx。)假设放在窗体上的ScriptControl控件名称为ScriptControl1,则在“计算”按钮的Click事件中编写如下代码: Dim Statement As String Statement = ”X=“ + Text1.Text + vbCrLf + _ ”Y=“ + Text2.Text + vbCrLf + _ ”MsgBox “"计算结果=”“ & Y ” ScriptControl1.ExecuteStatement(Statement

//////////////////////////////////////////////////////////////////////////////////// 如何让一个 App 永远保持在最上层(Always on Top)

请在声明区中加入以下声明

Private Declare Function SetWindowPos Lib “user32”(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)As Long

Const SWP_NOMOVE = &H2 '不更动目前视窗位置 Const SWP_NOSIZE = &H1 '不更动目前视窗大小 Const HWND_TOPMOST =-1 '设定为最上层

Const HWND_NOTOPMOST =-2 '取消最上层设定 Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE

'将 APP 视窗设定成永远保持在最上层

SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS

'取消最上层设定

SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS

//////////////////////////////////////////////////////////////////////////////////// 我要如何在程序中开启网页?

在声明区中声明如下(在.bas 档中用 Public, 在 Form 中用 Private)

Private Declare Function ShellExecute Lib “shell32.dll” Alias “ShellExecuteA”(ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long)As Long

在程序中

Intranet:

ShellExecute Me.hWnd, “open”, “http://Intranet主机/目录”, “", ”“, 5 Internet:

ShellExecute Me.hWnd, ”open“, ”http://www.xiexiebang.com.tw“, ”“, ”“, 5

//////////////////////////////////////////////////////////////////////////////////// VB可以产生四角形以外其他形状的 Form 吗?

这个问题,您一定无法想像有多容易,您可以产生任何形状的 Form,但必须借助 CreateEllipticRgn 及 SetWindowRgn 二个 API,例如:

Private Declare Function CreateEllipticRgn Lib ”gdi32“(ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long)As Long

Private Declare Function SetWindowRgn Lib ”user32“(ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean)As Long

Private Sub Form_Load()Dim lReturn As Long Me.Show lReturn = SetWindowRgn(hWnd, CreateEllipticRgn(10, 10, 340, 150), True)End Sub

执行结果图片

CreateEllipticRgn 之四个参数说明如下:

X1:椭圆中心点之X轴位置,但以 Form 的实№边界为限。Y1:椭圆中心点之Y轴位置,但以 Form 的实№边界为限。X2:椭圆长边的长度 Y2:椭圆短边的长度的

//////////////////////////////////////////////////////////////////////////////////// 如何移除 Form 右上方之『X』按钮?

其实 Form 右上方之三个按钮分别对应到 Form 左上方控制盒(ControlBox)中的几个选项(缩到最小 / 放到最大 / 关闭),而其中的最大化(MaxButton)及最小化(Minbutton)都可以直接在 Form 的属性中设定,但是 VB 并没有提供设定『X』按钮的功能!要达到这个功能,必须借助 API:

由于『X』按钮对应到 ControlBox 的关闭选项,所以我们只要移除系统 Menu(就是ControlBox)的关闭选项即可!您自己可以先看看您现在使用的 Browser 左上方的系统 Menu,【关闭】选项是在第几个,不是第 6 个!是第 7 个,分隔线也算一个!分隔线才是第 6 个!

当我们移除了关闭选项之後,会留下一条很奇怪的分隔线,所以最好连分隔线也一并移除。而 Menu 的 Index 是从 0 开始,分隔线是第 6 个,所以 Index = 5。

修正:为了让程序码在 Windows NT 也能运作正常,将各 Integer 型态改成 Long。89.05.04

'抓取系统 Menu 的 hwnd Private Declare Function GetSystemMenu Lib ”user32“ Alias ”GetSystemMenu“(ByVal hwnd As Long, ByVal bRevert As Long)As Long '移除系统 Menu 的 API Private Declare Function RemoveMenu Lib ”user32“ Alias ”RemoveMenu“(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long)As Long '第一个参数是系统 Menu 的 hwnd '第二个参数是要移除选项的 Index

//////////////////////////////////////////////////////////////////////////////////// 如何制作透明的表单(Form)?

请在声明区中放入以下声明

Const GWL_EXSTYLE =(-20)Const WS_EX_TRANSPARENT = &H20& Const SWP_FRAMECHANGED = &H20 Const SWP_NOMOVE = &H2 Const SWP_NOSIZE = &H1 Const SWP_SHOWME = SWP_FRAMECHANGED Or SWP_NOMOVE Or SWP_NOSIZE Const HWND_NOTOPMOST =-2

Private Declare Function SetWindowLong Lib ”user32“ Alias ”SetWindowLongA“(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long)As Long Private Declare Function SetWindowPos Lib ”user32“(ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)As Long

在 Form_Load 使用的范例如下:

Private Sub Form_Load()SetWindowLong Me.hwnd, GWL_EXSTYLE, WS_EX_TRANSPARENT

SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0&, 0&, 0&, 0&, SWP_SHOWME Me.Refresh End Sub

//////////////////////////////////////////////////////////////////////////////////// 如何在 Menu 中加入美美的图案?

在模组中加入以下程序码:

Declare Function GetMenu Lib ”user32“(ByVal hwnd As Long)As Long

Declare Function GetSubMenu Lib ”user32“(ByVal hMenu As Long, ByVal nPos As Long)As Long

Declare Function GetMenuItemID Lib ”user32“(ByVal hMenu As Long, ByVal nPos As Long)As Long

Declare Function SetMenuItemBitmaps Lib ”user32“(ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long)As Long

Public Const MF_BITMAP = &H4&

Type MENUITEMINFO cbSize As Long fMask As Long fType As Long fState As Long wID As Long hSubMenu As Long hbmpChecked As Long hbmpUnchecked As Long dwItemData As Long dwTypeData As String cch As Long End Type

Declare Function GetMenuItemCount Lib ”user32“(ByVal hMenu As Long)As Long

Declare Function GetMenuItemInfo Lib ”user32“ Alias ”GetMenuItemInfoA“(ByVal hMenu As Long, ByVal un As Long, _ ByVal b As Boolean, lpMenuItemInfo As MENUITEMINFO)As Boolean

Public Const MIIM_ID = &H2 Public Const MIIM_TYPE = &H10 Public Const MFT_STRING = &H0&

在 Form 中加入一个 PictureBox,属性设定为: AutoSize = True Picture =.bmp(尺寸大小为 13x13,不可设定为.ico)

在 Form_Load 中的程序码如下:

Private Sub Form_Load()'取得程序中 Mennu 的 handle hMenu& = GetMenu(Form1.hWnd)'取得第一个 submenu 的 handle hSubMenu& = GetSubMenu(hMenu&, 0)'取得 Submenu 第一个选项的 menuId hID& = GetMenuItemID(hSubMenu&, 0)'加入图片

SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, Picture1.Picture, Picture1.Picture '在一个 Menu 选项中您一共可以加入二张图片 '一张是 checked 状态用,一张是 unchecked 状态用 End Sub

89、如何把小图片填满 Form 成为背景图?

对于这个问题,我看过很多方法,有的方法很麻烦,要声明一大堆 Type,用一大堆的 API,但是有一个最笨但我认为最好的方法如下:(就好像拼磁砖一样,不用任何 API, 不必声明任何 Type)

在 Form 中放一个 PictureBox,Picture 属性设定为某一张小图,AutoSize 属性性设定 True,完成的模组如下:

Sub PictureTile(Frm As Form, Pic As PictureBox)Dim i As Integer Dim t As Integer Frm.AutoRedraw = True Pic.BorderStyle = 0 For t = 0 To Frm.Height Step Pic.ScaleHeight For i = 0 To Frm.Width Step Pic.ScaleWidth Frm.PaintPicture Pic.Picture, i, t Next i Next t End Sub

PictureTile 这个模组共有二个参数,第一个是表单名称,第二个则是 PictureBox 的名称。以下为一应用实例:

Private Sub Form_Load()PictureTile Me, Picture1 End Sub

90、如何把小图片填满 MDIForm 成为背景图?

以下这个范例,要:

1、一个 MDIForm:不必设定任何属性。

2、一个 Form1:不一定是 MDIChild,最好 MDIChild 为 False,但是 AutoRedraw 设成 True。

3、Form1 上面放一个隐藏的 PictureBox:名称为 Picture1,不必设定 Picture 属性。

4、一张图片的完整路径。

'将以下模组放入 MDIForm 的声明区中:

Sub TileMDIBkgd(MDIForm As Form, bkgdtiler As Form, bkgdfile As String)If bkgdfile = ”“ Then Exit Sub Dim ScWidth%, ScHeight% ScWidth% = Screen.Width / Screen.TwipsPerPixelX ScHeight% = Screen.Height / Screen.TwipsPerPixelY Load bkgdtiler bkgdtiler.Height = Screen.Height bkgdtiler.Width = Screen.Width bkgdtiler.ScaleMode = 3 bkgdtiler!Picture1.Top = 0 bkgdtiler!Picture1.Left = 0 bkgdtiler!Picture1.Picture = LoadPicture(bkgdfile)bkgdtiler!Picture1.ScaleMode = 3

For n% = 0 To ScHeight% Step bkgdtiler!Picture1.ScaleHeight For o% = 0 To ScWidth% Step bkgdtiler!Picture1.ScaleWidth bkgdtiler.PaintPicture bkgdtiler!Picture1.Picture, o%, n% Next o% Next n%

MDIForm.Picture = bkgdtiler.Image Unload bkgdtiler End Sub

以下为一应用实例:

Private Sub MDIForm_Load()TileMDIBkgd Me, Form1, ”c:windowsTiles.bmp“ End Sub

//////////////////////////////////////////////////////////////////////////////////// 关闭指定的程序

要做到像 Task Manager 一样,可以关闭指定的程序,方法如下:

在声明区中放入以下声明:(16位 改成 win31 API)

Declare Function FindWindow Lib ”user32“ Alias ”FindWindowA“(ByVal lpClassName As String, ByVal lpWindowName As String)As Long

Declare Function PostMessage Lib ”user32“ Alias ”PostMessageA“(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)As Long

Public Const WM_CLOSE = &H10

以下之范例示范如何关闭一个视窗标题(Caption)为 【小算盘】的程序:

Dim winHwnd As Long Dim RetVal As Long winHwnd = FindWindow(vbNullString, ”小算盘“)Debug.Print winHwnd If winHwnd <> 0 Then RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)If RetVal = 0 Then

MsgBox ”Error posting message.“ End If Else MsgBox ”并未开启小算盘程序.“ End If

//////////////////////////////////////////////////////////////////////////////////// 如何隐藏及再显示鼠标

很简单,只用到了一个 ShowCursor API,参数也很简单,只有一个 bShow,设定值如下:

True:显示鼠标 / False:隐藏鼠标

Declare Function ShowCursor Lib ”user32“ Alias ”ShowCursor“(ByVal bShow As Long)As Long

//////////////////////////////////////////////////////////////////////////////////// 如何从您的应程序中结束 Windows 重开机?

很多软件在 Setup 完之后都会自动关机重开机,以便让某些设定值可以生效,其实这个功能很简单,只要几行指令就可以做到了!

关键就是要使用 ExitWindowsEx 这个 API,这个 API 只有二个参数,第一个参数是一个 Flag,目的是要告诉 Windows 要以什么方式关机,在下面的声明中会列出可用的 Flag 常数值,至于第二个参数则是一个保留值,只要设定成 0 就可以了。

很重要的一点是:如果您想要让关机动作更顺利,记得要 Unload 您的程序!

'在声明区中(Bas Module / Form Module)加入以下声明:

Public Const EWX_LOGOFF = 0 '这四个常数值可以并用 Public Const EWX_SHUTDOWN = 1 Public Const EWX_REBOOT = 2 Public Const EWX_FORCE = 4 Declare Function ExitWindowsEx Lib ”user32“ Alias ”ExitWindowsEx“(ByVal uFlags As Long, ByVal dwReserved As Long)As Long

'实例:如果您想强迫关机重开机,程序码如下:

ret = ExitWindowsEx(EWX_FORCE OR EWX_REBOOT, 0)

//////////////////////////////////////////////////////////////////////////////////// 如何用 VB 启动其他程序或开启各类文件?

要在 VB 中启动其他程序或开启各类文件,最简单的方法就是使用 Shell 函数,例如:要开启 C:Test.txt 这个文字文件,则要启动记事本来开启这个文件案,程序如下:

Dim RetVal As Long RetVal = Shell(”C:WindowsNotepad.exe C:Test.txt“, 3)'3代表视窗会最大化,并具有驻点,细节请查 Help

以上的语法虽然很简单,但有一个风险,若是我们不知道开启文件的执行文件位置,则程序便会有错误产生,尤其一般软件在安装的时候都可以让使用者自行选择安装目录,所以执行文件的路径不能写死在程序中,要解决这个问题,就是在注册文件中找到该副文件名之启动程序位置,再放入 Shell 中。

但是以上的作法必须熟悉注册文件,而且必须使用 Windows API 来 Call(注册文件的存取以后会有专文来说明),如果您对注册文件的存取及 API 的使用都很纯熟的话,当然没问题,但是有些人对于注册文件会有畏惧,这时候,您可以使用下面的方法:

Shell(”Start C:Test.txt“)

您完全不用知道这份文件的启动程序是什么?它放在什么地方?参数 Start 便会自动依照附文件名到注册文件中找到启动程序来开启该份文件案!不赖吧!

注一:在 Windows 95/98/NT平台中, 什么副文件名之文件案, 该由什么执行文件来启动, 都设在关联中,代码为 HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExtensions

例如: 名称为 ”.DOC“ 之资料为 ”C:Progra~1Micros~2OfficeWINWORD.EXE ^.DOC“

名称为 ”.TXT“ 之资料为 ”notepad.exe ^.txt“

注二:使用 Start 之唯一缺点为 ”会比直接指定执行文件稍为慢 0.5-1 秒钟.“

//////////////////////////////////////////////////////////////////////////////////// 如何找出 Windows 目录的正确路径?

有时候我们在程序中必须用到 Windows 的目录,以存取 Windows 目录下的文件,照理说,这应该是最简单的功能,前提是每个人在 Setup Windows 必须采用 Windows 的预设目录名称,也就是 C:Windows,但是常常不是这样,有时候由於要使新旧版本共存,或者其他原因,有人会将 Windows 目录改成 c:win95、c:win98、Windows95 或 Windows98......若是程序中必须用到 Windows 目录,要找到正确的路径,做法如下:

'在声明区中加入以下声明:

Const MAX_PATH = 260

Private Declare Function GetWindowsDirectory Lib ”kernel32“ Alias ”GetWindowsDirectoryA“(ByVal lpBuffer As String, ByVal nSize As Long)As Long

Public Function GetWinPath()Dim strFolder As String Dim lngResult As Long strFolder = String(MAX_PATH, 0)lngResult = GetWindowsDirectory(strFolder, MAX_PATH)If lngResult <> 0 Then GetWinPath = Left(strFolder, InStr(strFolder, Chr(0))1 Next lNum sGetFile = Mid(sGetFile, 2)'得到文件名 MsgBox sGetFile

//////////////////////////////////////////////////////////////////////////////////// 如何防止使用者按下 CTRL + ALT + DEL

有些时候,我们的应用程序执行时,不希望使用者按下 CTRL + ALT + DEL 来异常结束程序或关机,这时候我们可以在启动程序时,将 CTRL + ALT + DEL 功能键之功能取消,然后在结束程序之前,再从新恢复 CTRL + ALT + DEL 之功能。

在模组声明区中加入以下声明及模组:

Declare Function SystemParametersInfo Lib ”user32“ Alias ”SystemParametersInfoA“(ByVal uAction As Long, ByVal uParam As Long, lpvParam As Any, ByVal fuWinIni As Long)As Long

Public Const SPI_SCREENSAVERRUNNING = 97

Public Sub Disable_Ctrl_Alt_Del()'让 CTRL+ALT+DEL 失效 Dim AyW As Integer Dim TurFls As Boolean

AwY = SystemParametersInfo(SPI_SCREENSAVERRUNNING, True, TurFls, 0)End Sub

Public Sub Enable_Ctrl_Alt_Del()'让 CTRL+ALT+DEL 恢复功能 Dim AwY As Integer Dim TurFls As Boolean

AwY = SystemParametersInfo(SPI_SCREENSAVERRUNNING, False, TurFls, 0)End Sub

'实际使用时,在 Form 中加入以下程序码:

Private Sub Form_Load()Disable_Ctrl_Alt_Del End Sub

Private Sub Form_Unload(Cancel As Integer)Enable_Ctrl_Alt_Del End Sub

//////////////////////////////////////////////////////////////////////////////////// 如何取得文件大小?

VB6 提供了一个新的物件模型,叫做 FSO(File System Object)物件模型,运用它,我们可以很方便的处理磁盘、资料夹和文件的一些动作。

FSO 物件模型含有好几个物件,其中有一个 File 物件是用来求得文件的相关资讯,在目前这个主题,我们就可以使用 File 物件!它有一个属性是 Size,对文件来说就是指文件的大小(单位为位元组)。(注一)

虽然使用 File 物件的 Size 属性就可以求得文件的大小,但是它有以下二个缺点:

1、只能用于 VB6 以后的版本。

2、它不是 VB6 内定的功能,必须另外引用 Scrrun.dll(Microsoft Scripting Runtime)才可以!

以下的二个方法就可以使用在所有的 VB 版本中(含 VB6),而且是 VB 内定的功能:

1、FileLen 函数:返回一个 Long,代表一个文件的长度,单位是位元组。

语法:FileLen(pathname)' pathname 是全路径之文件名称 适用:取得一个尚未开启的文件的长度大小(注二)

2、LOF 函数:返回一个 Long,单位为位元组,用来代表由 Open 陈述式所开启的文件之大小。

语法:LOF(filenumber)' filenumber 是一个文件代码 适用:取得一个已开启的文件的长度大小

注一:File 物件的 Size 属性除了可以求得一个文件的大小,也可以用来取得整个目录的所有文件大小!

注二:使用 FileLen 函数时,如果所指定的文件正在开启中,则所返回的值是这个文件在开启前的大小。

//////////////////////////////////////////////////////////////////////////////////// 如何移除或更改桌面背景的底色图案(Wallpaper)?

SystemParametersInfo 这个 API 可以设定许多 Windows 系统的功能参数,而其中一个参数就是桌面底图!通常一般的使用者会透过控制面板中的【显示器】来设定桌面底图。

在底下的范例中,我们使用 SPI_SETDESKWALLPAPER 这个参数及图片文件名称来设定新的桌面底图,同时使用 SPIF_SENDWININICHANGE 来通知各个视窗这个改变。

'在表单的声明区中加入以下声明及常数:

Private Declare Function SystemParametersInfo Lib ”user32“ Alias ”SystemParametersInfoA“(ByVal uAction As Long, ByVal uParam As Long, ByVal lpvParam As String, ByVal fuWinIni As Long)As Long

Const SPI_SETDESKWALLPAPER = 20 Const SPIF_UPDATEINIFILE = &H1 Const SPIF_SENDWININICHANGE = &H2

'在表单上加入一个 CommandButton(Command1)来移除桌面底图,程序码如下:

Private Sub Command1_Click()Dim X As Long X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, ”(None)“, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)MsgBox ”桌面底图(Wallpaper)已经被移除“ End Sub

'在表单上加入另一个 CommandButton(Command2)来更改桌面底图,程序码如下:

Private Sub Command2_Click()Dim FileName As String Dim X As Long FileName = ”c:windowstest.bmp“ X = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0&, FileName, SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)MsgBox ”桌面底图(Wallpaper)已经被更改“ End Sub

//////////////////////////////////////////////////////////////////////////////////// 一个快速注册 DLL 及 OCX 的方法

有时候我们在 VB 中要引用某一个 DLL 或 OCX 时,会出现文件未注册的讯息,这时,我们可以使用人工注册的方法,也就是直接在命令列中使用 regsvr32.exe 来做,做法如下:

文件注册:C:WindowsSystemRegsvr32.exe C:WindowsSystemTest.ocx 取消注册:C:WindowsSystemRegsvr32.exe /u C:WindowsSystemTest.ocx

这些动作我们也可以直接写到程序中,使用 Shell 来执行,但是我现在要说的,都不是上面提到的方法!

注意看罗!方法如下:

1、在资源管理器中找到 C:WindowsSystemRegsvr32.exe 并【复制】(按鼠标右键选复制)

2、将目录移到 C:WindowsSendTo 后,执行【贴上快捷方式】(按鼠标右键选贴上快捷方式)

3、将快捷方式名称改成【REGISTER】

4、OK

现在,如果您想替某一个文件做注册动作,例如:C:WindowsSystemTest.ocx,您只要打开资源管理器,找到 C:WindowsSystemTest.ocx,按鼠标右键选【传送到】【REGISTER】即可完成注册动作了!

注:有一个地方要注意的是,Regsvr32.exe 只能注册 32 位的文件!如果要用它来注册 16 位的文件,会有错误讯息产生。

//////////////////////////////////////////////////////////////////////////////////// 如何用TextBox打开和保存文件

作为轻量级的控件,TextBox控件使用率很高,但相关的资料极少谈及如何用TextBox控件打开和保存文件,大都采用回避的态度,对VB初学者带来很多不便。笔者近日为友人做一个英文朗读软件,按友人的要求,软件要能象MS的记事本那样能打开和保存文档。其实实现方法并不复杂,现将心得写出来,希望对大家有帮助。如果您有更好的方法,请来信:handanfang@163.net。

'新建标准EXE,加入一个TextBox控件,一个公共对话框,两个菜单。

'打开

Private Sub mnuOpen_Click()CommonDialog1.Filter = ”文档文件(*.txt)|*.txt|所有文件(*.*)|*.*“ CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As #1 Text1.Text = StrConv(InputB$(LOF(1), 1), vbUnicode)Close #1 End Sub

'保存

Private Sub mnuSave_Click()On Error Resume Next

CommonDialog1.Filter =”文档文件(*.txt)|*.txt|所有文件(*.*)|*.*“ CommonDialog1.ShowSave Open CommonDialog1.FileName For Output As #1 Print #1, Text1.Text Close 1 End Sub

TextBox只支持打开64K以下的文件,建议最好设置出错处理。以上程序在PWin98、VB6.0下调试通过。

//////////////////////////////////////////////////////////////////////////////////// 如何判断目前文件资源管理器中,文件名称之扩展文件名是显示或隐藏?

由于我在集团性的资讯处工作,所负责的公司系统有的是属于外点,例如润泰建设有个单位是行销业务处,他们的工作是卖公司盖的房子,所以他们的业务人员平常都是待在各工地的接待中心,我替他们开发的销售系统在工地的部份是属于单机作业的,使用 Access 资料库,每一个星期资料回传总公司一次。业务人员由于流动性大,不太了解系统,有时候,系统出了问题,业务人员又搞不清楚状况,于是我会要求他们将资料库 sale.mdb 回传公司,结果,常闹笑话,原来他们回传公司的,常常不是 sale.ldb 就是 sale.exe,为什么呢?

原因很简单,因为他们的文件资源管理器中,设定了将扩展文件名隐藏起来,结果只看到三个不同图示的 sale 文件(分别是 Sale.mdb、Sale.ldb、Sale.exe),不太会操作的业务人员根本分不清楚那一个图示的 sale 文件才是资料库文件案!

我们在 VB 的程序中要如何判断,目前文件资源管理器中的设定是否显示扩展文件名呢?

Private Declare Function GetFileTitle Lib ”comdlg32.dll“ Alias ”GetFileTitleA"(ByVal lpszFile As String, ByVal lpszTitle As String, ByVal cbBuf As Integer)As Integer Private Function HasExtension(sFileName As String)As Long Dim sTemp As String Dim lTemp As Long

sTemp = String(1, 0)lTemp = GetFileTitle(sFileName, sTemp, Len(sTemp))If lTemp < 0 Then HasExtension =-1: Exit Function sTemp = String(lTemp, 0)Call GetFileTitle(sFileName, sTemp, Len(sTemp))

If(Left$(Right$(Left$(sTemp, lTemp网站导航诚邀加盟友情链接-赞助本站 Copyright© 1999-2004 Programfan.com.All Rights Reserved 网站制作&维护:Hannibal Email: yaoz@163.com 网站合作及广告联系:(021)28540908

下载VB关键字总结(★)word格式文档
下载VB关键字总结(★).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    VB课程总结

    《VB 程序设计》课程总结 授课时间:2010-2011学年第二学期 授课班级:课程学时:64(32) 任课教师: 1.教学情况 能认真备课、遵守学院的教学规章制度,没有迟到、提前下课、误课等教学......

    VB课程设计总结

    通过几周对VB的学习,使我增加了对VB课程的了解. 首先了解到VB的特点,VB是在原来的Basic语言基础上发展而来的.Visual指的是可视的图形用户界面开发方法.不需编写大量代码去描述界面元素的......

    VB知识点总结

    第一章 一、软件的概念 人们针对某一需要而为计算机编制的指令序列称为程序。程序、数据连同有关的说明资料统称为软件。 软件:应用软件 系统软件 二、编程的概念 编程就是......

    VB三要素总结

    窗体属性: 1. Name 名称 2. Appearance 显示效果,是否立体显示 3. BackColor 背景色 ForeColor 前景色 4. BorderStyle 边框样式 5. Caption 标题 控件上显示的文本 6. ControlB......

    VB教学总结

    茂名市第二职业技术学校 (2013~2014学年第一学期) 信息部 VB教学工作总结 2012-2013学年第二学期,我担任13级计算机精英高考班VB课程教学。VB是一种有代表性的较流行的可视化语......

    关键字分析(大全)

    洗药湖山庄今天介绍网站多个关键字该怎样优化?一般我们网站是三四个关键词,那么把重心都放在主页上根本上就可以了。但是假如网站里有多个是指十个二十个或更多,就需求把这些......

    关键字(精选5篇)

    关键字:流行性感冒 分析 1999年3~4月份我县发生一起波及全县的流行性感冒(流感)流行,疫情流行快、感染人数多,在我县尚属罕见,特别是全县中小学校疫情较为严重,部分学校出现停课现象......

    数据库查询语句关键字总结

     看过牛腩视频后,前17集讲后台代码的编写,尤其讲到查询语句的时候,顿时感觉原来学习过的查询语句中用到的关键字烟消云散了,啥都不记得了,通过看视频,帮着回忆了一部分,在这里总结......