VB6备忘录(3)控制流程

前端之家收集整理的这篇文章主要介绍了VB6备忘录(3)控制流程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

尽管是事件驱动,但仍要控制流程。主要三种:

顺序结构

选择结构

循环结构

重点是循环结构。



dim a as integer

a=val(text1.text) ' val(string) 将数据字串(可以是八进制或十六进制数)转为数据型

dim b as string

b=inputBox("请输入“) ’ 返回值是string型,若取消则返回为”“即空串。

输出

msgBox("信息”) 返回值为integer,代表是按的某键返回

print 在所有者上显示(打印),省略时指的是窗体,debug指的是即时窗体

print "窗体上显示 "

picture1.print "在图片框上显示"

printer.print "在打印机上打印“

两个特殊:tab(N)注意这不是tab(4个空格),而是打印起始点。表示打印的起始点。外观看起来相当于一个空格(字符)位置。

在多个表达式时,显示效果与MSDN描述不同:

当在第一个表达式中出现,则按tab进行控制,当N大于行显时,按对行字符取模显示

当在后面表达式中时,无论是,还是;都会直接换行,按N点控制进行显示。大于行显时,按第一处理。

space(N)表示几个空格。

print 33;tab(3);77 ’第一行显示33,然后换行,在第3个字符处显示77

可用,和;对多个表达式进行显示, ","表示下一个表达式间隔14个字符,";"表示下一个表达式间隔2个字符。

Print 1; Space(2); 3 ‘ 间隔4个空格,因;占两上,space占2个,共4个

无表达式时,直接打印一空行,为boolean时打印True或False,空值时打印NULL(与空串不同)


if ... then ....

if .... then

....

end if

判断类型: Typeof 对象 Is 对象类型 返回逻辑值(真或假)

Dim a As Control
For Each a In Form1.Controls
    If TypeOf a Is TextBox Then
        a.ForeColor = vbRed
    End If
Next

判断是否为数值: IsNumeric(Variant)

表达式为不定型(变体型),若为数值则为真,否则假。特殊:日期型时返回为假。

Const a As Date = #2/22/2003#
MsgBox (IsNumeric(a)) '信息为False

基础类型怎么判断类型呢?

VarType(VarName) 返回值是Integer,代表各基础类型。其中数组是数组返回值+基础类型值


end 终极强制停止程序停止(退出

exit sub/do/for/function 退出当前的子程序/循环/函数

unload object 卸载对象,以便回收内存。

当为卸载窗体时,会先Query_Form,然后Form_Unload,这样主要是要保护窗体中的数据,免得生硬的卸载了窗体。

当是MDIForm时,会先所有子窗体请求卸载后,再是主窗体。

注意:unload只是显示的部分被卸载,但相关的代码仍在内存中。(在form2中设置一个Public变量,当form2卸载后,仍可在form1中显示form2中的公用变量)

另外对于控件,只有运行时添加的控件才可以unload,否则出错。


IIF函数: IIF(逻辑表达式,真时返回结果,假时返回结果)

print IIF(88>66,777,222) '为真,用777,故窗体上显示777



分支选择结构

select case 表达式

case 值

。。。。

case else

..........

end select

值 可以是一个表达式,亦可多个表达式,之间用,进行间隔,表示条件or,注意不是and

case Is >0,Is <22 大于0或者小于22

注意:表达式中可以用单个值,也可以是连续值,还可是逻辑表达式, 主要是Is和To

Is用于逻辑表达,如>=,<>等,但只能一个单一的逻辑表达式,不能是复杂的,如 Is >0 and Is<22这种是错误

To表示连接的之间的值,如 case 2 To 6,9,注意用To只能是小值在前,大值在后。

当条件值中是字串时,case中实际值还应用字串(引号)



for start to end step N

....

exit for

end counter

注意:步长默认为1,step可正可负,可小数,此时应匹配计数器为相应类型。如果计数器为整形,步长为小数,就可能出现死循环。

因为VB会自动隐形转为整形时,可能保持计数器不变,就死循环了。




while 条件 ‘ 条件为真时执行内部语句,为假时跳出语句

。。。。

wend ' while end之意



for each element in group ' group可能是数组或集合,element在数组时,只能是Variant变量,因此元素不能用于自定义类型(type)

.......

exit for

next element

例:

Dim a As Variant '若声明为与数组匹配的Integer将出错,必须声明为Variant
Dim b(10) As Integer
For Each a In b()
Print a
Next a



先判断后执行

do(while/untill) 条件 ‘ while当循环,为真执行下面;untill直循环,为假执行,为真跳出。

。。。。

exit do

loop

先执行后判断

do 条件

。。。。

exit do

loop(while/untill) 条件



with 省略写法

with object

属性或成员值

。。。

end with

注意:一次只能省略一个对象前缀,多个时,须嵌套使用

with form1

.forecolor=vbred

with text1

.text="asd"

end with

end with

猜你在找的VB相关文章