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# 基础类型怎么判断类型呢? 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
先判断后执行 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |