当前位置:文档之家› vb实用技巧

vb实用技巧

3.2
1、赋值语句写法举例:let.text1.text=3+2,一般情况下let可以省略
3.3
1、注释语句写法举例:标识符为Rem或者'
Private Sub Command1_Click()
a = 4
b = 3
'a = b(此行为注释语句,不参与执行,可以使任何字符)
Print a
End Sub
次程序输出值为4
2、注释语句不能放在续行符后面使用,即不能放在“_”后使用。
3、结束语句 标识符为end
4、常用的地方
end sub 结束sub过程
end function 结束一个function(函数)过程
end if 结束 一个if语句
end type 结束记录类型的定义
end select 结束情况语句
3.4
1、程序举例
Private Sub Command1_Click()
Text1.Text = "欢迎使用Visual Basic6.0中文版"
End Sub

Private Sub Command2_Click()
Text1.Text = ""
End Sub

Private Sub Command3_Click()
End
End Sub
3.6
1、窗体的扩展名为.frm
2、公用的标准模块扩展名为.bas
3、类模块的扩展名为.cls
4、工程文件的扩展名为.vbp
保存过程由小到大
先保存窗体,再保存标准模块,类模块,最后保存工程文件。

38
1、整型数
(1)整数(integer)两个字节 取值范围-32768-32767
(2)长整数(long) 四个字节
2、浮点数
(1)单精度(single) 四个字节 用“E”表示
例:123.45E3 即 123.45*10三次方
(2)双精度(double) 八个字节 用“D”表示
例:123.45D3 即 123.45*10三次方
3、货币
8个字节,只能精确到小数点后为四位

4、变体(wariant)

5、其他数据类型
(1)字节(byte)
以一个字节的无符号二进制数存储,取值范围0-255
(2)布尔(boolean)
布尔型数据是一个逻辑值,用两个字节存储,它只取两种值,即Ture或False
(3)日期(data)
如期存储为8个字节浮点值形式,日期文字需要以符号“#”括起来


39
声明变量 形式如下
Type student
name As String
age As Integer
mm As Single
End Type
40
枚举类型 形势如下
Public Enum xignqi
xingqiyi = 0
xingqier = 1
.......
End Enum
每个变量比前一个变量值加1,可以互相赋予。

41

% 整型
& 长整型
! 单精度浮点数
# 双精度浮点数
@ 货币型
$ 字符串型
42
符号常量的表示方法,const 为关键字
Private Sub Command1_Click()
Const one&(长整形) = 5.3
a = one * 3
Print a
End Sub
输出15,而不是15.9

44
dim 定义变量(动态变量)
Private Sub Command1_Click()
Dim a As Integer, b As Integer, c As Integer
a = 2.5
b = 2.5
c = 2.5
Print a, b, c
End Sub
定义变量格式,abc要分别定义。


Private Sub Command1_Click()
Dim str1 As Str

ing
Dim str2 As String * 5
str1 = "abcdefg"
str2 = "abcdefg"
Print str1, str2
End Sub
输出abcdefg abcde
dim 主要用于标准模块、窗体模块中定义变量或数组。
45
用static 定义变量(静态变量)
用于再过程中定义静态变量及数组变量。与dim不同,如果用static 定义了一个变量,则每次饮用该变量时,其值会继续保留,而当用dim定义的变量时,变量会被重新设置。
Private Sub Command1_Click()
Dim a As Integer
Static b As Integer
a = a + 100
b = b + 100
Print a, b
End Sub
结果为 100 100
100 200
100 300
用public定义全局变量(插入一个标准模块)
编辑vb语句为 public a as integer
即a 变量适用于整个工程当中。

46
def定义语句
DefInt A-F

Private Sub Command1_Click()
art = 3.2
sio = 3.2
Print art, sio
End Sub
以def定义语句,凡是以A-F开头的变量均为整数单精度型,其余开头的无限制。

记录类型变量 type
一般情况下,记录类型应该在标准模块中定义,如果在窗体模块中定义,则必须在“type”关键字前面加上“private”

48
变量的作用域
名称 作用域 声明位置 使用语句
局部变量 过程 过程中 Dim或Static
模块变量 窗体模块或标准模块 模块的声明部分 Dim或private
全局变量 整个应用程序 标准模块的声明部分 Public

49
默认声明
50
(1)
int(x)函数
表示输出不大于X的最小整数
Private Sub Command1_Click()
Dim x As Single
x = 5.2
Print Int(x)
End Sub
程序输出5
(2)
fix(X)函数
输出X的整数部分
Private Sub Command1_Click()
Dim x As Single
x = -5.2
Print fix(x)
End Sub
程序输出值为-5
(3)
Hex(X)函数
把一个十进制数转换为十六进制数
Private Sub Command1_Click()
Dim x As Single
x = 12
Print Hex(x)
End Sub
程序输出C

(4)
Oct(X)函数
把一个十进制数转成八进制数
Private Sub Command1_Click()
Dim x As Single
x = 12
Print Oct(x)
End Sub
程序输出为14
(5)
Asc(X)函数
返回字符串x$中第一个字符的ASCII码
ascII 字符
65 A
97 a
48 0


Private Sub Command1_Click()
Dim x As String
x = "abc"
Print Asc(x)
End Sub

程序输出97
(6)
chr(X)
把X的值转换为响应的ASCII字符
Private Sub Command1_Click()
Dim x As Integer
x = 97
Print Chr(x)
End Sub
程序输出a
(7)
str(x)函数
把X值转换成字符串
Private Sub Command1_Click()
Print Str(10) + "a"
End Sub
输出10a
(8)
cint(X)函数
把x值得小树部分四舍五入,转换为整数
clng(X)
把x值得小树部分四舍五入,转换为长整数,数值范围更广。
Private Sub Command1_Click()
Print Fix(123.99

9)
Print CInt(123.999)
Print CLng(1235467.999)
End Sub
程序输出
123
124
1235468
(9)ccur(x)
讲X值转成货币类型,小树部分最多保留四位小数,四舍五入
Private Sub Command1_Click()
Dim x As Double
x = 123.456789
Print x, CCur(x)
End Sub
程序输出
123.456789 123.4568

(10)
cdbl(x)函数
将x值转换为双精度(单精度仅仅前七位为有效值,以后不输出,最后一位四舍五入)
Private Sub Command1_Click()
Dim x As Single
x = 123.456789
Print x, CDbl(x)
End Sub
程序输出
123.4568 123.456787109375
(11)
csng(X)函数
把x值转换为单精度
Private Sub Command1_Click()
Dim x As Double
x = 123.456789
Print x, CSng(x)
End Sub
程序输出 123.456789 123.4568

数学函数
sin(X) 返回自变量x的正炫值
cos(x) 余弦
tan(x) 正切
atn(X) 反切
Private Sub Command1_Click()
Print Sin(30 * 3.1415926 / 180)
End Sub
输出0.49999999226
abs(x)函数 返回自变量x的绝对值
Private Sub Command1_Click()
Print Abs(-5)
End Sub
程序输出5
sgn(x)函数
当x为正数时 返回值为1
当x为负数时 返回值为-1
当x为o时 返回值为0
即 检测一个值为正负时使用
sqr(x)函数
返回自变量x的平方根,x必须大于或者等于0
Private Sub Command1_Click()
Print Sqr(16)
End Sub
程序输出为4
exp(x)函数
返回以e为底、x为指数的值,即求e的x次方。
Private Sub Command1_Click()
Print Exp(2)
End Sub
程序输出为7.389056098

日期函数
day(now) 返回当前日期
Private Sub Command1_Click()
Print Day(Now)
End Sub
返回值为18(本日为5.18)
weekday(now) 返回当前星期
month(now) 返回当前月份
year(now) 返回当前年份
Private Sub Command1_Click()
Print Day(Now), Weekday(Now), Month(Now), Year(Now)
End Sub
程序输出 18 4 5 2011

时间函数
hour(now) 返回小时(0-23)
minute(now) 返回分钟(0-59)
second(now) 返回秒 (0-59)
Private Sub Command1_Click()
Print Str(Year(Now)) + "年" + Str(Month(Now)) + "月" + Str(Day(Now)) + "日" + "星期" + Str(Weekday(Now))
Print Str(Hour(Now)) + "点" + Str(Minute(Now)) + "分" + Str(Second(Now)) + "秒"
End Sub

程序输出
2011年5月18日星期3
21点33分4秒

rnd(X)函数 产生一个0-1之间的单精度随机数

Private Sub Command1_Click()
Print Rnd(1)
End Sub
输出随机
54
2字节为一个字符
Private Sub Command1_Click()
Dim a As String
a = "basic程序设计"
a = StrConv(a, vbformunicode)
Print Len(a), LenB(a)
a = StrConv(a, vbUnicode)
Print Len(a), LenB(a)
End Sub
55
删除空白字符函数
ltrim(字符串) 去掉“字符串”左边的空白字符
rtrim(字符串) 去掉“字符串”右边的空白字符
trim(字符串) 去掉“

字符串”两边的空白字符
Private Sub Command1_Click()
Dim str1 As String
str1 = " abc "
Print LTrim(str1)
Print RTrim(str1)
Print Trim(str1)
End Sub
程序输出
abc
abc
abc
字符串截取函数
left(字符串,n) 返回“字符串”的前n个字符
mid(字符串,p,n) 从第p个字符开始,向后截取n个字符
right(字符串,n) 返回“字符串”的最后n个字符
Private Sub Command1_Click()
Dim str1 As String
str1 = "abcdefg"
Print str1
Print Left(str1, 3)
Print Right(str1, 3)
Print Mid(str1, 2, 3)
End Sub
程序输出
abcdefg
abc
dfg
bcd

56

len(x) 字符串长度测试函数



Private Sub Command1_Click()
Dim str1 As String
str1 = "abcdefg"
Print Len(str1)
End Sub


输出为7
Private Sub Command1_Click()
Dim str1 As String
str1 = "abcdefg"
Print Len("abcd")
End Sub

输出为4


string函数
格式:string(n,ASCII码)
string(n,字符串)
作用为返回n个指定字符组成的字符串。

Private Sub Command1_Click()
Print String(5, 97)
Print String(5, "bcd")
End Sub

程序输出 aaaaa
bbbbb


空格函数
space(n) 输出n个空格
Private Sub Command1_Click()
Print " 1234567890123456789"
Print "@" + Space(10) + "@"
End Sub
程序输出为 1234567890123456789
@ @

57
instr函数 查找已出现字符
形势为instr( ,“”,“”,n)
n只能取值0.1.2
取值为0时区分大小写查找,取值为1时不区分大小写,取值为2时基本不用。

Private Sub Command1_Click()
Print InStr(3, "abcabcABCABCabcabc", "bc", 1)
End Sub

输出为5

字母大小写转换函数
Ucase(字符串) 把字符串小写转成大写
Lcase(字符串) 把字符串大写转成小写
Private Sub Command1_Click()
Print UCase("Abc")
Print LCase("Abc")
End Sub
输出 ABC
abc

插入字符串语句
mid(字符串,位置,L)
Private Sub Command1_Click()
Dim str1 As String, str2 As String
str1 = "abcdefg"
str2 = "CDE"
Mid(str1, 4) = str2 从第四个字符开始改写
Print str1
End Sub
输出 abcCDEg

Private Sub Command1_Click()
Dim str1 As String, str2 As String
str1 = "abcdefg"
str2 = "CDE"
Mid(str1, 4, 2) = str2 最后一个2是只把str2 字符插入前2个
Print str1
End Sub
输出abcCDfg

58
幂运算 符号 为^
浮点数除法符号 为/
整数除法 为\
取模 符号 为 Mod x mod y 即-5 mod 2 结果为-1 (最后结果的正负与被除数一致)
连接运算 &(与+等价) X & Y

算数运算优先级
幂=取负>乘法=浮点除法>整数除法>取模>加法>减法>连接

59
关系运算符(程序输出为true或者false)
<>或 >< 表示不等于

逻辑运算符
not(非)
由真变假或由假变真,进行取反运算
and(与)
两个表达式值均为真结果才为真,其他形式

为假
or(或)
只有两个表达式值均为假,结果才为假
Xor (异或)
如果两个表达式同事为真或者同时为假的时候,结果才为假,否则为真。
Eqv(等价)
如果两个表达式同时为真或者同时为假的时候,结果为假。
Imp(蕴含)
只有当第一个表达式为真时,第二个为假的时候,结果才为假,其余均
为真。
60
表达式的执行顺序
1,首先进行函数运算
2,接着进行算术运算符
幂、取负、乘/浮点除、整除、取模、加/减、连接
3,然后进行关系运算。
4,最后进行逻辑运算,顺序为
not>and>or>xor>eqv>imp
注:上述操作顺序有一个例外,就是当幂和负号相邻时,负号优先。

61

Private Sub Command1_Click()
P1.Print 3 + 5 = 8

End Sub

输出为ture
输出数字型数据 时 左右各占一个空格,左边空格为符号位,右边为空格位

Private Sub Command1_Click()
P1.Print "30+50=",
P1.Print 30 + 50
P1.Print "30+50=";
P1.Print 80
End Sub
输出30+50= 80
30+50= 80


62
Tab(n)函数
把光标移动到由参数n指定的位置,从这个位置开始输出信息。要输出的内容放在Tab函数的后面,并用分号隔开。

Private Sub Command1_Click()
Print "1234567890123456789"
Print Tab(10); "abc"; Tab(15); "ABC"
End Sub

输出
1234567890123456789
abc ABC

spc(n)函数
在print的输出中,用spc函数可以跳过n个空格
Private Sub Command1_Click()
Print "1234567890123456789"
Print "abc"; Spc(5); "ABC"
End Sub
输出
1234567890123456789
abc ABC
space(n)函数
跳过n个空格,可以用加号连接,而spc函数不可以用加号,只能用分号
Private Sub Command1_Click()
Print "1234567890123456789"
Print "abc" + Space(5) + "ABC"
End Sub
输出
1234567890123456789
abc ABC


63
format(数值表达式,格式字符串)
该函数按“格式字符串”指定的格式输出“数值表达式”的值。如果省略“格式字符串”,则功能与str函数基本相同,唯一区别是,当把证书转换成字符串时,str函数在字符串前面留一个空格,而format函数则不留空格。
Private Sub Command1_Click()
Print Format(1234)
Print Str(1234)
End Sub
输出
1234
1234

64
cls函数
作用:cls清除由print方法显示的文本或者图片框中的图形,并把光标移到对象的左上角(0,0),这里“对象”可以是窗体或者图片框,如果省略“对象”,则清除窗体内的显示内容。
Private Sub Command1_Click()
Print Format(1234)

End Sub

Private Sub Command2_Click()
Cls
End Sub
按钮2清屏作用

move(对象)
用来移动窗体或者控件,并可以改变其大小,其中“对象”可以是窗体及除了计时器外的所有控件,如果省略“对象”,则表示要移动窗

体。

Private Sub Command1_Click()
L1.Move 100, 100, 4000, 4000
End Sub

输出 标签L1距离左边框100,上边框100,标签大小4000X4000。



65
【对象】.textheight(字符串)
【对象】.textwidth(字符串)
租用:Textheight方法返回一个文本字符串的高度值,textwidth返货一个文本字符串的宽度值。当字符串的字形和大小不同时,所返回的值不一样。


66
inputbox函数
输入函数
Private Sub Command1_Click()
Dim a As Integer
a = InputBox("请输入一个正确的数字", "输入数据", 100, 500, 500)
Print a
End Sub

68
msgbox(“提示语言”,0-5,图标部分16.32.48.64,默认按钮0.256.512.768,0)
0 只显示确定按钮
1 显示确定和取消按钮
2 显示终止,重试及忽略按钮
3 显示是,否,及取消按钮
4 显示是及否按钮
5 显示重试及取消按钮
16 显示critical message 图标
32 显示warning query 图标
48 显示warning message 图标
64 显示information message图标
0 第一个按钮是默认值
256 第二个按钮是默认值

Private Sub Command1_Click()
x = MsgBox("dangqiancaozuoyouwu", 0 + 32 + 256, "tishi")
End Sub

msgbox函数返回值
1 确定
2 取消
3 终止
4 重试
5 忽略
6 是
7 否
512 第三个按钮是默认值
768 第四个按钮是默认值
0 应用程序强制返回

Private Sub Command1_Click()
x = MsgBox("请确认此数据是否正确", 3 + 16 + 0, "数据检查对话框")
If x = 6 Then
Print 6 * 6
ElseIf x = 7 Then
Print "请重新输入"
End If
End Sub


69

Private Sub Command1_Click()
Dim x As Integer, y As Integer, z As Integer, i As Integer, f As Integer
x = InputBox("请输入一个0到10之间的x值", "输入", "100")
If x > 10 Or x < 0 Then
x = InputBox("请重新输入一个0到10之间的x值", "输入", "100")
End If
y = InputBox("请输入一个0到10之间的y值", "输入", "100")
If y > 10 Or y < 0 Then
y = InputBox("请重新输入一个0到10之间的y值", "输入", "100")
End If
z = x * y
i = InputBox("请输入x,y的乘积", "答案", "100")
If z = i Then
Print i
ElseIf z <> i Then
f = MsgBox("输入有误请重新输入", 36, "提示")
If f = 6 Then
i = InputBox("请重新输入x,y的乘积", "答案", "100")
If z = i Then
Print i
Else
End
End If

ElseIf f = 7 Then
End
End If
End If

End Sub

70
msgbox语句
与msgbox函数不同点是它不产生返回值

Private Sub Command1_Click()
Dim x As Integer, y As Integer
x = InputBox("请输入x值", "输入", "10")
y = InputBox("请输入y值", "输入", "10")
z% = x * y
i = InputBox("请输入x,y乘积", "答案", "10")
If z = i Then
Print i
ElseIf z <> i

Then
MsgBox "输入有误"
End
End If

End Sub

71

改变字体
Private Sub Command1_Click()
Print "中国"
FontName = "隶书"
FontSize = 20 大小
FontBold = True 粗体
FontItalic = True 斜体
FontUnderline = True 加下划线
FontStrikethru = True 加删除线
Print "中国"
End Sub

73
标签的属性
(1)alignment
0 从标签的左边开始显示标题
1 标签靠右显示
2 标签居中显示
(2)autosize
如果把该属性值设置为ture,则可根据caption属性指定的标题自动调整标签大小,如果设置为false,则标签保持设计时候的大小。
(3)boderstyle
显示边框有无,0没有边框,1有边框。
(4)caption标题属性
(5)backstyle背景
该属性只能取两个值,0或者1,当值为1时,标签将覆盖背景,如果为0,则标签为透明。默认
为1。
(6)wordwrap
属性为ture或者false,默认false。若为ture,则标签在垂直方向变化大小与标题文本相适应,水平方向与原来所画的标签相同。
75
sellength属性
Private Sub Command1_Click()
Dim x As Integer
x = Text1.SelLength
Print x
End Sub
输出文本框中选中的字符个数

selstart属性
定义当前选择的文本的起始位置。0表示选择的开始位置再第一个字符之前,1表示从第二个字符之前开始选择,依次类推
seltext属性
当属性含有当前所选择的文本字符串,如果没有选择文本,则该属性含有一个空字符串,如果在长须中设置seltext属性,则用该值代替文本框中选中的文本。
Private Sub Command1_Click()
Text1.SelStart = 1
Text1.SelLength = 3
Text2.Text = Text1.SelText
End Sub

locked属性
该属性用来指定文本框是否可被编辑,当设置值为false(默认)时,可以编辑文本框中的文本:当设置值为ture时,可以滚动和选择控件中的文本,但是不能编辑。

76
change事件
当用户向文本框中输入新信息时。或当程序把text属性设置为新值从而改变文本框的text属性,将触发change事件。
Private Sub Text1_Change()
Text2.Text = LCase(Text1.Text)
Text3.Text = UCase(Text1.Text)
End Sub
gotfacus事件
获得焦点
Private Sub Text2_GotFocus()
Text1.Text = "失去焦点"
End Sub
lostfocus事件
失去焦点
setfocus
把输入光标移动到指定的文本框中
Private Sub Command1_Click()
Text2.SetFocus
End Sub
77
Dim y As Integer

Private Sub Command1_Click()
Text2.Text = y
End Sub

Private Sub Text1_Change()
x = Val(Text1.Text)
If x < 0 Or x > 100 Then
Text1.Text = ""
Text1.SetFocus
Label1.Caption = "请重新输入"
Else: y = x
Label1.Caption = "输入正确"
End If

End Sub

78
currentX和currentY

Private Sub Command1_Click()
P1.CurrentX = 1000
P1.CurrentY = 1000
P1.Print

"abc"
End Sub

picture属性
装入图片
stretch属性来改变图像框中图片适应图像框的大小
79
图片框与图像框的区别
1.图片框是“容器”控件,再图片框中可以包含其他控件,而其他控件不能“属于”一个图像框
2.图片框可以通过print方法接收文本,而图像框不能接受用print方法输入的信息,每个图片框都有一个内部光标的坐标,通过currentX和currentY属性来记录。
3.图像框比图片框占用的内存少,显示速度快。
80
在运行期间装入图片
{对象.}picture=loadpicture(“文件名”)
Private Sub C1_Click()
P1.Picture = LoadPicture("d:/软件.jpg")
End Sub

Private Sub C2_Click()
I1.Picture = LoadPicture("d:/软件.jpg")
End Sub
程序2
Private Sub C1_Click()
P1.Picture = LoadPicture("d:/软件.jpg")
End Sub

Private Sub C2_Click()
I1.Picture = P1.Picture
End Sub

Private Sub C3_Click()
P1.Picture = LoadPicture("")
I1.Picture = LoadPicture("")
End Sub
81、82
直线和形状控件属性
83
按钮cancel属性 为ture时,单击键盘esc与按按钮作用相同
按钮default属性为ture时,单击键盘回车键与按钮作用相同
按钮style属性
0 为标准样式
1 为图形格式。控件用图形样式显示,再命令按钮中不仅显示文本,而且可以显示图形 。
84
按钮属性
首先需把style属性设置为真
picture属性载入按钮图形
downpicture属性表示按下时所示图形
disabledpicture属性表示按钮不可用时候显示的图形
Private Sub Command2_Click()
Command1.Enabled = False
End Sub

Private Sub Command3_Click()
Command1.Picture = LoadPicture("D:\我的文档\桌面背景\1.jpg")
Command1.DownPicture = LoadPicture("D:\我的文档\桌面背景\4.jpg")
Command1.DisabledPicture = LoadPicture("D:\我的文档\桌面背景\3.jpg")
End Sub
85

Private Sub Command1_Click()
If Shape1.Visible = True Then
Shape1.Visible = False
Shape2.Visible = True
ElseIf Shape2.Visible = True Then
Shape2.Visible = False
Shape3.Visible = True
Else
Shape3.Visible = False
Shape1.Visible = True
End If


End Sub

Private Sub Command2_Click()
End
End Sub

Private Sub Form_Load()
Shape1.Visible = False
Shape2.Visible = False
Shape3.Visible = True
End Sub
86
复选框和单选框的value属性,表示是否被选中
88
Private Sub Command1_Click()
If Check1.Value = 1 Then
Text1.FontUnderline = True
End If
If Check2.Value = 1 Then
Text1.FontItalic = True
End If
End Sub
89
Private Sub Form_Click()
If Op1.Value = True Then
Text1.FontSize = 7
ElseIf Op2.Value = True Then
Text1.FontSize = 12
ElseIf Op3.Value = True Then
Text1.FontSize = 18
Else: O4.Value = True
Text1.FontSize = 20

End If
End Sub

相关主题
文本预览
相关文档 最新文档