大家好,又见面了,我是你们的朋友全栈君。
1.添加、设置对象; 2.对对象添加功能。
事件过程的一般格式:
private sub 对象名称_事件名称()
......
事件响应程序代码
......
End sub
(1)一行需要写多条语句,语句之间用”:”分隔。
sum=sum+x:count=count+1
一行最多1023个字符。 (2)如果一条语句很长,一行写不下,可以使用”空格+_”进行续行。
print text1.text & text2.text & _
text3.text
(3)不区分大小写 (4)关键字和变量名、常量名、过程名之间一定用空格分隔 (5)使用左缩进格式体现代码的逻辑结构和嵌套关系 (6)除字符串常量和注释内容外,都是用英文半角符号
入口
↓
语句1
↓
语句n
↓
出口
入口
↓
真←条件→假
↓ ↓
语句1 语句2
→ ↓ ←
出口
入口
---→↓
| 条件→假---|
| ↓ |
| 真 |
| ↓ |
| 循环体 |
|____| |
↓
出口
1.name(名称) 2.caption(标题) 3.autoRedraw(重绘) 4.backcolor(背景颜色) 5.borderstyle(边框类型) 6.controlbox(控制框) 是否在窗体左上角出现控制菜单按钮,默认为TRUE。 7.enabled(允许) 是否相应用户事件,默认为TRUE。 8.font___(字体) 9.height(高)width(宽)top(顶边位置)left(左边位置) 10.icon(最小化图标) 11.maxbutton,minbutton(是否显示最大/小化按钮) 12.picture(图形) 13.visible(可见性) 14.windowstate(窗口状态) 0(默认)-正常状态;1-最小化状态;2-最大化状态
【格式】
private sub form_事件名(参数表)
......
end sub
【注意】 在事件过程名中的窗体名只能使用form(如form_load),但在过程内对窗体进行引用时必须用到窗体名字(如form1.caption) 【常用事件】 1.load(加载事件) 2.unload(卸载事件) 3.activate(活动事件)deactivate(非活动事件) 4.paint(绘画事件) 该事件被触发的前提是窗体的autoredraw属性被设置为False。当首次显示窗体,窗体被移动或改变大小,或者窗体被其他窗体覆盖时,将触发paint事件。 5.click(单击事件) 6.dblclick(双击事件) 7.keypress(按键事件)
1.show(显示方法)
`private sub form_load()
show
print "内容已显示"
END sub
2.print(打印方法) 3.cls(清除方法) 4.move(移动方法) 移动并改变窗体或控件的位置和大小,格式为
[对象.]move left[,TOP[,WIDTH[],HEIGHT]]
left:移动对象至目标位置的x坐标 top:移动对象至目标位置的y坐标 width:移动后对象的宽度 height:移动后对象的高度
1.焦点
【说明】
焦点在任何时候只能有一个,改变焦点将触发焦点事件。当对象得到或失去焦点时分别产生gotfocus或lostfocus事件。
【将焦点赋给对象的方法】
(1)用鼠标选定对象
(2)按快捷键选定对象
(3)按Tab或shift+tab切换
(4)在代码中用setfocus方法在设置焦点
text1.setfocus '把焦点设置在文本框text1上
【注意】
只有当对象的enabled和visible属性为true时,它才能接受焦点。
2.Tab键序
【说明】
当向窗体中设置控件时,系统会自动按顺序给每个控件指定一个tab键序。tab键序也反映在控件的tabindex属性中。通过改变控件的tabindex属性值,可以改变默认的焦点移动顺序。
1.常用属性 2.常用事件和方法
1.常用属性 2.常用事件和方法
1.常用属性 2.常用事件和方法
【格式】
inputbox(a,b,c,xpos,ypos,helpfile,helpcontext)
【说明】 a表示显示的内容 b表示标题 c表示默认值 xpos表示左边距 ypos表示上边距
【格式】
msgbox(a,type,b)
【说明】 a表示显示的内容 type表示按钮的类型 b表示标题 type值=表1+表2+表3
表1)值 | 符号常量 | 显示的按钮 |
---|---|---|
0 | vbOkOnly | 确定 |
表2)值 | 符号常量 | 显示的图标 |
---|
表3)值 | 符号常量 | 默认活动按钮 |
---|
包含窗体、控件
只有代码,供各个窗体中的事件过程来调用
包含代码和数据,可以看作一个控件,通过它可以制造一个对象,将它应用于窗体模块中
数据类型 | 类型名 | 类型说明符 |
---|---|---|
布尔型 | Boolean | 无 |
字节型 | Byte | 无 |
整型 | Integer | % |
长整型 | Long | & |
单精度型 | Single | ! |
双精度型 | Double | # |
货币型 | Currency | @ |
变长字符串 | String | $ |
定长字符串 | String*常数 | $ |
日期型 | Date | 无 |
对象型 | Object | 无 |
变体(字符) | Variant | 无 |
变体(数值) | Variant | 无 |
将不同类型的变量组合起来定义成一个特定类型的变量 【格式】 Type 用户定义类型名称 元素名 As 基本类型 元素名 As 基本类型 …… End Type 【说明】 标准模块中,Type前面可以是public或private;窗体模块中,Type前面必须是private 【示例】
Type Data_Student
Name as String
Age as Integer
Sex as String
End Type
【格式】 public|private Enum 类型名称 枚举1 =常数表达式 枚举2 =常数表达式 …… End Enum 【示例】 public Enum Days sunday monday End enum
字符串常量:可以是双引号和回车符以外的任何ASCII字符 数值常量:整型、长整型、货币型、单/双精度浮点数
【格式】 const 常量名 = 表达式 【示例】 const π= 3.1415926,dollar = 7.99
(1)变量必须以字母或汉字开头 (2)只能由字母、汉字、数字和下划线组成,不能有小数点、空格等 (3)字符个数不超过255个 (4)不能使用VB关键字 (5)不区分大小写
(1)在定义变量时指定其类型 【格式】 declare 变量名 as 类型 【说明】 – declare 可以是dim、static、redim、public、private – dim自动变量 – static静态变量 – private和dim一样,但是不能在过程中定义变量,只能在标准模块或窗体的声明部分定义变量 – redim主要用于定义数组 – public用来在标准模块中定义全局变量或数组 – 类型可以是基本数据类型或者自定义数据类型 (2)用DefType语句定义 【格式】 DefType 字母范围 【说明】 (3)用类型说明符定义变量 【示例】
Dim Aa$ '定义一个字符串变量Aa
(4)自定义类型变量 【格式】 变量.成员 【示例】 自定义数据类型:
Type Data_Student
Name as String
Age as Integer
Sex as String
End Type
定义一个名为Hunter的Data_Student数据类型变量,并为该变量的每个成员赋值
Dim Hunter as Data_Student
Hunter.age = 18
Hunter.name= “kitty”
Hunter.sex= “女”
【说明】
名称 | 作用域 | 声明位置 | 使用语句 |
---|---|---|---|
局部变量 | 过程 | 过程中 | dim或static |
模块变量 | 窗体模块或标准模块 | 窗体或模块的声明部分 | dim或private |
全局变量 | 整个应用程序 | 标准模块的声明部分 | public或global |
(1)局部变量 又称过程级变量,在过程中声明,只能该过程内部的代码才能访问。用dim、static声明。 (2)模块变量 又称模块级变量,主要包括窗体变量和标准模块变量。用private、dim声明。 (3)全局变量 又称全程变量,在标准模块的声明部分中声明,不能在窗体或过程中声明。用public、global声明。 【示例】
函数类别 | 函数名称 | 返回值 |
---|---|---|
三角函数 | sin(x) | 正弦值 |
cos(x) | 余弦值 | |
tan(x) | 正切值 | |
atn(x) | 反正切(vb中要把角度换算成弧度) | |
绝对值函数 | abs(x) | 绝对值 |
符号函数 | sgn(x) | x为整数,返回1;x为负数,返回-1;x为0,返回0 |
平方根函数 | sqr(x) | 平方根 |
指数函数 | Exp(x) | 以自然对数e的底数2.71828,x为指数的值 |
对数函数 | log(x) | 对数 |
函数类型 | 函数名称 | 函数说明 | 示例 | 返回值 |
---|---|---|---|---|
取整函数 | int(x) | 返回值为不大于x的整数 | int(-3.8) | -4 |
fix(x) | 返回值为x的整数部分 | fix(-3.8) | -3 | |
类型转换函数 | asc(x) | 返回字符串x首字符的ascII码值 | asc(“ab”) | 97 |
chr(x) | 把x值转换成字符 | chr(98) | b | |
val(x) | 返回字符串x中所包含的数值,遇到字母截断 | val(“123men333”) | 123 | |
str(x) | 数值转换成字符串形式 | str(1234) | 1234 | |
cint(x) | 把x的小数部分四舍五入,转成整数 | cint(3.45) | 3 | |
ccur(x) | 把x的值转换成货币类型的值,小数部分最多保留4位且自动四舍五入 | ccur(12.56748) | 12.5675 | |
clng(x) | 把x的小数部分四舍五入转换成长整型 | clng(3455.63) | 3456 |
函数类型 | 函数名称 | 函数说明 | 示例 | 返回值 |
---|---|---|---|---|
删除空白字符 | LTrim(s) | 去掉s左边的空白字符 | LTrim(” nice “) | “nice “ |
删除空白字符 | RTrim(s) | 去掉s右边的空白字符 | RTrim(” nice “) | ” nice” |
删除空白字符 | TTrim(s) | 去掉s左右2边的空白字符 | TTrim(” nice “) | “nice” |
字符串截断函数 | Left(s,n) | 截取字符串s左边的n个字符 | Left(“string”,3) | str |
字符串截断函数 | Right(s,n) | 截取字符串s右边的n个字符 | Left(“string”,3) | ing |
字符串截断函数 | Mid(s,n1,n2) | 从s第n1个字符开始,向后截取n2个字符 | mid(“string”,3,2) | ri |
求字符串长函数 | len(s) | 返回字符串s的长度 | len(“金蝶”) | 2 |
空格函数 | space(n) | 生成由n个空格组成的字符串 | space(3) | ” “ |
string函数 | string(n,s) | 生成n个同一字符s组成的字符串 | string(4,”ab”) | aaaa |
字符串匹配函数 | instr(s1,s2) | 查找字符串s2在s1中的位置,返回值为s2的第一个字符在s1中的位置;如果找不到,返回0 | instr(“kingdee”,”de”) | 5 |
字母大小写转换函数 | Ucase(s) | 把字符串s中的小写字母转换成大写字母 | ucase(“kingdee”) | KINGDEE |
Lcase(s) | 把字符串s中的大写字母转换成小写字母 | lcase(“KingDee”) | kingdee | |
插入字符串语句 | mid(s,s1,s2)= s1 | 用s1代替s中s1开始,长度为s2的字符 | s=”i hate you” mid(s,3,4)= “love” | i love you |
函数类型 | 函数名称 | 函数说明 | 示例 | 结果 |
---|---|---|---|---|
now | 返回系统日期和时间 | 2002/9/24 8:3:28 | ||
date | 返回系统日期 | 2002/9/24 | ||
time | 返回当前时间 | 8:3:28 | ||
日期函数 | day() | 返回当前日期 | day(#2002/9/24#) | 24 |
weekday() | 返回当前是星期几 | weekday(#2002/9/24#) | 3 | |
month() | 返回月份 | month(#2002/9/24#) | 9 | |
year() | 返回当前年份 | year(##2002/9/24#) | 2002 | |
时间函数 | hour() | 返回小时 | hour(#8:3:32#) | 8 |
minute() | 返回分钟 | minute(#8:3:28#) | 3 | |
second() | 返回秒 | second(#8:3:28#) | 28 |
【格式】 format (表达式,[,格式串]) 【功能】 根据“格式串”规定的格式输出表达式的值。其中,“表达式”为输出的内容,可以是数值、日期/时间、字符串 【格式串常用符号】
符号 | 示例 | 结果 |
---|---|---|
‘# | print format(12345.6,”##,###.##”) | 12,345.6 |
0 | print format(12345.6,”0000000”) | 0012346 |
. | 小数点 | |
% | 百分比符号 | |
, | 千位分隔符,可放在小数点左面任何位置 | |
E-,E+ | print format(123.45,”0.000e+00”) | 1.235E+02 |
-,+,$ | print format(12345.6,”+####,#.00”) | +12,345.60 |
【说明】 rnd(x)随机产生一个0~1(不包括0和1)之间的单精度随机数。(x)可以省略不写。 【示例】 生成一个1~16之间的随机数
private sub form_click()
randomize '用来避免每次重启程序后产生和上次一样的随机数
print rnd()*16
End sub
生成一个1~4之间的随机整数
private sub form_click()
randomize '用来避免每次重启程序后产生和上次一样的随机数
print int(rnd()*4+1)
End sub
生成一个a~b之间的随机整数
private sbu form_click()
randomize
print int((b-a+1)*rnd()+a)
End sub
以下运算优先级从上到下,由高到低;从做到右,由高到低
算术运算符 | 比较关系运算符 | 逻辑运算符 |
---|---|---|
幂^ | = | not |
负数- | <> | and |
乘法和浮点除法*,/ | < | or |
整除\ | > | 异或Xor |
求模mod | <= | 等价Eqv |
减法和加法-,+ | ‘>= | 蕴涵Imp |
字符串连接& | Like | |
IS |
【格式】 [LET] 变量名或属性名 = 表达式 【功能】 计算右端的表达式,并把结果赋值给左端的变量或对象属性。let表示复制,通常可以省略。符号=被称为赋值号。
【格式】 [对象名.] print [表达式列表] 【说明】 (1)对象名可以是窗体(form)、图片框(picturebox)或打印机(printer)的名称。如果省略对象名,则在当前窗体上直接输出。 (2)当输出多个表达式时,各表达式之间用分号“;”或“,”隔开。使用分号分隔符,则按紧凑格式输出;使用逗号分隔符,则各输出项按区段格式输出。 【示例】
private sub form_click()
a=3:b=4
print a,b,4+a,
print 2*b
print a,,b
print
print "a=";a,"b=";b
end sub
(3)用print输出字符串时,前后不留空格;输出数值数据时,前面有一个符号位,后面留有一个空格。 (4)print 后面没有内容则输出一个空行。 (5)若语句行末没有分隔符,则自动换货。若以分号或逗号结束,则输出不换行。
从第n列开始输出,一个汉字占2个位置,当n大于行宽时,输出位置为:n Mod行宽
输入:
print tab(2);"学号";tab(11);"姓名";tab(21);"成绩"
结果:
_ 学号 _ _ _ _ _ 姓名 _ _ _ _ _ _ 成绩
输入:
print "学号";spc(2);"姓名";spc(5);"成绩"
输出:
学号 _ _ 姓名 _ _ _ _ _ 成绩
输入:
print tab(2);"学号";tab(11);"姓名";tab(21);"成绩"
输出: _ 学号 _ _ _ _ _ 姓名 _ _ _ _ _ _ 成绩
VB中实现选择结构的语句主要有:IF语句和select case语句。
条件表达式分为俩类:关系表达式和逻辑表达式。取值为:真和徦。
是用比较运算符把俩个表达式连接起来的式子。 【表达式示例】
运算符 | 名称 | 关系表达式示例 | 结果 |
---|---|---|---|
< | 小于 | 3<8 | true |
<= | 小于等于 | 2<=4 | true |
> | 大于 | 6>8 | false |
‘>= | 大于等于 | 7>=9 | false |
= | 等于 | ac=a | false |
<> | 不等于 | 3<>6 | true |
like | 比较样式 | “abc” like “?bc” | true |
is | 比较对象变量 |
【说明】 (1)所有比较运算符的优先级都相同,运算时按其出现的顺序从左到右执行。 (2)比较运算符俩侧可以是算数表达式、字符串或日期表达式,也可以是作为表达式特例的常量、变量或函数,但两侧的数据类型必须一致。 (3)字符型数据按其ascII码值进行比较。比较俩个字符串时,先比较俩个字符串的第一个字符,其中字符大的字符串大。如果第一个字符相同,则取第二个字符比较。 例如: a 小于 b abc 小于 b 123 小于 2 abc 大于 ab2 abc 大于 ab
【逻辑运算符】 and、or、not、xor(异或)、eqv(等价)、imp(蕴含) 【说明】 (1)逻辑表达式的运算顺序是:先进行算数运算或字符串运算,在做比较运算,最后运行逻辑运算。括号优先,同级运算从左到右执行。 (2)一个逻辑表达式里还包含多个逻辑符,运算时,按not、and、or、xor、eqv、imp的优先级执行。
【分类】 单分支IF语句 双分支IF语句 嵌套IF语句(多分支IF语句) 【单分支IF语句】
↓
条件----
↓真 |假
语句组 |
↓————
(1)单行结构
if 条件 then 语句组
(2)块结构
if 条件 then
语句组
end if
【双分支IF语句】
↓
—条件—
↓真 |假
语句组1 语句组2
| |
—— ——
↓
(1)单行结构
if 条件 then 语句组1 else 语句组2
(2)块结构
if 条件 then
语句组1
else
语句组2
End if
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151914.html原文链接:https://javaforall.cn