1、处理机制
在VB4.0以后,字符串采用统一编码方式,即“UniCode”。
早期英文字符占用1个字节,汉字占用2个字节,即ANSI方式;UniCode方式下,所有字符都占用2个字节。
在字符串函数中,考虑的是字符个数,而不是字节数。
为了兼容早期的软件,可使用转换函数StrConv把字符串转换为指定格式。
新字符串=StrConv(待转字符串,转换常数)
常数
值
说明
vbUpperCase
1
将字符串文字转成大写。
vbLowerCase
2
将字符串文字转成小写。
vbProperCase
3
将字符串中每个字的开头字母转成大写。
vbUnicode
64
根据系统的缺省码页将字符串转成 Unicode。
vbFromUnicode
128
将字符串由 Unicode 转成系统的缺省码页。
当在Unicode方式下,必须用加了“B”的字符串函数来处理ANSI的字符串才能得到正确的值,函数如下:
处理Unicode的字符串的函数名
处理ANSI的字符串的函数名
len
lenB
left
leftB
right
rightB
mid
midB
instr
instrB
函数说明见下面:
例:运行下面程序,查看两种编码的使用区别。
Private Sub Command1_Click()
Dim tempStr, newStr As String
tempStr = "VB程序设计"
Print "tempStr="; tempStr
newStr = StrConv(tempStr, vbFromUnicode)
Print "******"
Print "执行newStr = StrConv(tempStr, vbFromUnicode)后:"
Print "newStr="; newStr
Print "LenB(newStr)="; LenB(newStr)
Print "注:每个长度单位为1个字节,字符占1个,汉字占2个"
Print "Len(newstr)="; Len(newStr)
Print "注:每个长度单位为2个字节,字符占半个,汉字占1个"
Print "******"
newStr = StrConv(newStr, vbUnicode)
Print "执行newStr = StrConv(tempStr, vbUnicode)后:"
Print "newStr="; newStr
Print "LenB(newStr)="; LenB(newStr)
Print "注:每个长度单位为1个字节,字符占2个,汉字占2个"
Print "Len(newStr)="; Len(newStr)
Print "注:每个长度单位为2个字节,字符占1个,汉字占1个"
End Sub
2、字符串函数
删除空格字符串
去掉字符串左部连续空格:LTrim$(字符串)
去掉字符串左部连续空格:RTrim$(字符串)
去掉字符串两边连续空格:Trim$(字符串)
例:使用函数。查看运行结果。
Private Sub Command1_Click()
aaa1 = "aaaaa "
bbb1 = " bbbbb"
ccc1 = " ccccc "
Print "|" + LTrim(aaa1) + "|" + LTrim(bbb1) + "|" + LTrim(ccc1) + "|"
Print "|" + RTrim(aaa1) + "|" + RTrim(bbb1) + "|" + RTrim(ccc1) + "|"
Print "|" + Trim(aaa1) + "|" + Trim(bbb1) + "|" + Trim(ccc1) + "|"
End Sub
字符串截取函数
左部截取:Left$(字符串,n) 从左部开始取n个字符
右部截取:Right$(字符串,n) 从右部取n个字符
中部截取:Mid$(字符串,p,n) 从左部开始的第p个字符,取连续n个字符
例:使用函数。查看运行结果。
Private Sub Command1_Click()
MyString = "Mid Function Demo"
FirstWord = Left(MyString, 3) ' 返回 "Mid"。
LastWord = Right(MyString, 4) ' 返回 "Demo"。
MidWords = Mid(MyString, 5) ' 返回 "Funcion Demo"。
Print FirstWord, LastWord, MidWords
End Sub
字符串长度测试函数
Len(字符串):字符串的长度。
Len(变量名):变量的存储空间。
例:使用函数。查看运行结果。
Private Type CustomerRecord ' 定义用户自定义的数据类型。
ID As Integer ' 将此定义放在常规模块中。
Name As String * 10
Address As String * 30
End Type
Private Sub Command1_Click()
Dim Customer As CustomerRecord ' 声明变量。
Dim MyInt As Integer, MyCur As Currency
Dim MyString, MyLen
MyString = "Hello World" ' 设置变量初值。
MyLen = Len(MyInt) ' 返回 2。
Print MyLen
MyLen = Len(Customer) ' 返回 42。
Print MyLen
MyLen = Len(MyString) ' 返回 11。
Print MyLen
MyLen = Len(MyCur) ' 返回 8。
Print MyLen
End Sub
String$函数
String$(n,ASCII码值):返回由该ASCII码指定的字符组成的n个字符的字符串
String$(n,字符串):返回由该字符串的第一个字符组成n个字符的字符串
例:使用函数。查看运行结果。
Private Sub Command1_Click()
Print String$(6, 65) '返回字符串"AAAAAA
Print String$(3, "c") '返回字符串"ccc"
End Sub
空格函数
Space$(n):返回由n个空格组成的字符串
例:使用函数。查看运行结果。
Private Sub Command1_Click()
Print "start" + Space(3) + "END" '返回字符串"start END"
Print "start" + "123" + "END" '返回字符串"start123END"
End Sub
字符串匹配函数
Instr$([开始位置,]string1,string2[,n]) 查找某字符串在另一个字符串中首次出现的位置。
n为0,二进制比较(区分大小写);n为1,文本方式比较(不区分大小写);n为2,数据库信息比较。
返回的结果:
如果
InStr返回
string1 为零长度
0
string1 为 Null
Null
string2 为零长度
开始位置
string2 为 Null
Null
string2 找不到
0
在 string1 中找到string2
找到的位置
开始位置 > string2
0
例:使用函数。查看运行结果。
Private Sub Command1_Click()
Dim SearchString, SearchChar, MyPos
SearchString = "XXpXXpXXPXXP" ' 被搜索的字符串。
SearchChar = "P" ' 要查找字符串 "P"。
' 从第四个字符开始,以文本比较的方式找起。返回值为 6(小写 p)。
' 小写 p 和大写 P 在文本比较下是一样的。
MyPos = InStr(4, SearchString, SearchChar, 1)
Print MyPos
' 从第一个字符开使,以二进制比较的方式找起。返回值为 9(大写 P)。
' 小写 p 和大写 P 在二进制比较下是不一样的。
MyPos = InStr(1, SearchString, SearchChar, 0)
Print MyPos
' 缺省的比对方式为二进制比较(最后一个参数可省略)。
MyPos1 = InStr(SearchString, SearchChar) ' 返回 9。
mypos2 = InStr(1, SearchString, "W") ' 返回 0。
Print MyPos1, mypos2
End Sub
字母大小写转换函数
Ucase$(字符串):将字符串转换为大写
Lcase$(字符串):将字符串转换为小写
例:使用函数。查看运行结果。
Private Sub Command1_Click()
Print UCase$("Rose") '返回字符串"ROSE"
Print LCase$("Rose") '返回字符串"rose"
End Sub
替换字符串命令
Mid$(字符串,位置[,L])=子字符串
说明:在字符串中,从指定位置开始L个字符被子字符串替换,如果子字符串长度大于L,子字符串被截取;如果L没有,则替换后的字符串长度和被替换前的字符串长度一样。
例:使用函数。查看运行结果。
Private Sub Command1_Click()
Dim MyString
MyString = "The dog jumps" ' 设置字符串初值。
Mid(MyString, 5, 3) = "fox"
Print MyString ' MyString = "The fox jumps"
Mid(MyString, 5) = "cow"
Print MyString ' MyString = "The cow jumps"
Mid(MyString, 5) = "cow jumped over"
Print MyString ' MyString = "The cow jumpe"
Mid(MyString, 5, 3) = "duck"
Print MyString ' MyString = "The duc jumpe"
End Sub
2000年6月23日星期五
VB文件操作
在VB中,对于顺序文件、随机文件、二进制文件的操作通常都有3个步骤:
(1)打开文件
文件操作的第一步是打开文件。在创建新文件或使用旧文件之前,必须先打开文件。打开文件的操作,会为这个文件在内存中准备一个读写时使用的缓冲区,并且声明文件在什么地方,叫什么名字,文件的处理方式。
(2)访问文件
访问文件是文件操作的第二步。所谓访问文件,即对文件进行读/写操作。从磁盘将数据送到内存称为“读”,从内存将数据存到磁盘称为“写”。
(3)关闭文件
打开的文件使用(读/写)完后,必须关闭,否则会造成数据丢失。关闭文件会把文件缓冲区中的数据全部写入磁盘,释放掉该文件缓冲区占用的内存。
A 顺序文件
顺序文件用于处理一般的文本文件,它是标准的ASCII文件。顺序文件中各数据的写入顺序、在文件中的存放顺序、和从文件中的读出顺序3者是一致的。
顺序文件按行组织信息。每行由若干项组成,行的长度不固定,每行由回车换行符号结束。
a 顺序文件的打开与关闭
在对顺序文件进行操作之前,必须用Open语句打开要操作的文件。在对一个文件操作完成后,要用Close语句将它关闭。
1.Open语句的一般格式
Open 文件名 [For打开方式 ] As [#]文件号
(1)文件名。
(2)打开方式包括以下3种。
Input Output Append
(3)文件号。
是一个1~511之间的整数。它用来代表所打开的文件,文件号可以是整数或数值型变量。
例如:
① Open "d:\shu1.dat" For Input As #1
该语句以输入方式打开文件shu1.dat,并指定文件号为1。
② Open "d:\shu2.dat" For Output As #5
该语句以输出方式打开文件shu2.dat,即向文件shu2.dat进行写操作,并指定文件号为5。
③ Open "d:\shu3.dat" For Append As #7
该语句以添加方式打开文件shu3.dat,即向文件shu3.dat添加数据,并指定文件号为7。
2.Close语句的一般格式
Close [文件号表列]
例如:
① Close #1
关闭文件号为1的文件。
② Close #2,#7,#8
关闭文件号为2,7,8的文件。
③ Close
关闭所有已打开的文件。
b 顺序文件的写操作
VB用Print语句或Write语句向顺序文件写入数据。创建一个新的顺序文件或向一个已存在的顺序文件中添加数据,都是通过写操作实现的。另外,顺序文件也可由文本编辑器(记事本、Word等)创建。
1.Print语句
Print语句的一般格式:
Print #文件号 [,输出表列]
例如:
Open "d:\shu2.dat" For Output As #2
Print # 2, "zhang";"wang";"li"
Print # 2, 78;99;67
Close #2
执行上面的程序段后,写入到文件中的数据如下:
zhangwangli
78 99 67
2.Write语句
用Write语句项文件写入数据时,与Print语句不同的是,Write语句能自动在各数据项之间插入逗号,并给各字符串加上双引号。
Write语句的一般格式:
Write #文件号 [,输出表列]
例如:
Open "d:\shua.dat" For Output As #6
Write # 6, "zhang";"wang";"li"
Write # 6, 78;99;67
Close #6
执行上面的程序段后,写入到文件中的数据如下:
"zhang","wang","li"
78,99,67
c 顺序文件的读操作
顺序文件的读操作,就是从已存在的顺序文件中读取数据。在读一个顺序文件时,首先要用Input方式将准备读的文件打开。VB提供了Input、Line Input语句和Input函数将顺序文件的内容读入。Input函数将在9.4节中介绍。
1.Input语句
Input语句一般格式:
Input #文件号,变量表列
例如:
Private Sub form_Click()
Dim x$,y$,z$,a%,b%,c%
Open "c:\_vb\shua.dat" For Input As #1
Input #1,x,y,z
Input #1,a,b,c
Print x,y,z
Print a,b,c
Print a + b + c
Close #1
End Sub
如果顺序文件shua.dat的内容如下:
"zhang","wang","li"
78,99,67
执行Form_Click过程,在窗体上显示的内容为:
zhang wang li
78 99 67
244
2.Line Input语句
Line Input语句是从打开的顺序文件中读取一行。
Line Input语句的一般格式:
Line Input #文件号,字符串变量
例如:
如果顺序文件shua.dat的内容如下:
"zhang","wang","li"
78,99,67
我们用Line Input语句将数据读出并且把它显示在文本框中。
Private Sub Command1_Click()
Dim a$,b$
Open "c:\_vb\shua.dat" For Input As #2
Line Input #2,a
Line Input #2,b
Text1.Text = a & b
End Sub
执行以上过程,文本框中显示的内容为:
"zhang","wang","li"78,99,67
B 随机文件
使用顺序文件有一个很大的缺点,就是它必须顺序访问,即使明知所要的数据是在文件的末端,也要把前面的数据全部读完才能取得该数据。而随机文件则可直接快速访问文件中的任意一条记录,它的缺点是占用空间较大。
随机文件由固定长度的记录组成,一条记录包含一个或多个字段。具有一个字段的记录对应于任一标准类型,比如整数或者定长字符串。具有多个字段的记录对应于用户定义类型。随机文件中每个记录都有一个记录号,只要指出记录号,就可以对该文件进行读写。
1 随机文件的打开与关闭
在对一个随机文件操作之前,也必须用Open语句打开文件,随机文件的打开方式必须是Random方式,同时要指明记录的长度。与顺序文件不同的是,随机文件打开后,可同时进行写入与读出操作。
Open语句的一般格式:
Open 文件名 For Random As #文件号 Len=记录长度
说明:
记录长度是一条记录所占的字节数。可以用Len函数获得。
例如,定义以下记录:
Type student
Name As String*10
Age As Integer
End Type
就可以用下面的语句打开:
Open "d:\Test.dat" For Random As #9 Len=Len(student)
随机文件的关闭同顺序文件一样,用Close 语句。
2 随机文件的写操作
用Put语句进行随机文件的写操作。
Put语句一般格式为:
Put # 文件号,记录号,变量
说明:
Put语句把变量的内容写入文件中指定的记录位置。记录号是一个大于或等于1的整数。
例如,Put # 1,9,t
表示将变量t的内容送到1号文件中的第9号记录去。
3 随机文件的读操作
用Get语句进行随机文件的读操作。
Get语句格式一般为:
Get # 文件号,记录号,变量
说明:
Get语句把文件中由记录号指定的记录内容读入到指定的变量中。
例如,Get # 2,3,u
表示将2号文件中的第3条记录读出后存放到变量u中。
D 二进制文件
二进制文件被看作是字节顺序排列的。由于对二进制文件的读写是以字节为单位进行的,所以能对文件进行完全的控制。如果知道文件中数据的组织结构,则任何文件都可以当作二进制文件来处理使用。
1 二进制文件的打开与关闭
二进制文件的打开用Open语句。
其格式为:
Open 文件名 For Binary As #文件号
使用Close语句关闭二进制文件。
2 二进制文件的读/写操作
对二进制文件的读/写同随机文件一样用Put和Get语句。
它们的格式如下:
Put # 文件号,位置,变量
Get # 文件号,位置,变量
文件操作常用函数
1.LOF函数
格式:LOF(文件号)
功能:返回一个已打开文件的大小,类型为Long,单位是字节。
2.FileLen函数
格式:FileLen(文件名)
功能:返回一个未打开文件的大小,类型为long,单位是字节。文件名可以包含驱动器以及目录。
3.EOF函数
格式:EOF(文件号)
功能:用于判断读取的位置是否已到达文件尾。当读到文件尾时,返回True,否则返回False。对于顺序文件,用EOF 函数测试是否到达文件尾;对于随机文件和二进制文件,如果读不到最后一个记录的全部数据,返回True,否则返回False。对于以Output 方式打开的文件,EOF 函数总是返回True。
4.LOC函数
格式:LOC(文件号)
功能:返回文件当前读/写的位置,类型为Long。 对于随机文件,返回最近读/写的记录号;对于二进制文件,返回最近读/写的字节的位置。对于顺序文件,返回文件中当前字节位置除以 128 的值。对于顺序文件而言,Loc 的返回值无实际意义。
5.Input函数
格式:Input(字符数,#文件号)
功能:从打开的顺序文件读取指定数量的字符。Input函数返回从文件中读出的所有字符,包括逗号、回车符、换行符、引号和空格等。
例如:Text1.Text=Input(Lof(2),#2)
该语句是将2号文件的内容全部复制到文本框中。
(1)打开文件
文件操作的第一步是打开文件。在创建新文件或使用旧文件之前,必须先打开文件。打开文件的操作,会为这个文件在内存中准备一个读写时使用的缓冲区,并且声明文件在什么地方,叫什么名字,文件的处理方式。
(2)访问文件
访问文件是文件操作的第二步。所谓访问文件,即对文件进行读/写操作。从磁盘将数据送到内存称为“读”,从内存将数据存到磁盘称为“写”。
(3)关闭文件
打开的文件使用(读/写)完后,必须关闭,否则会造成数据丢失。关闭文件会把文件缓冲区中的数据全部写入磁盘,释放掉该文件缓冲区占用的内存。
A 顺序文件
顺序文件用于处理一般的文本文件,它是标准的ASCII文件。顺序文件中各数据的写入顺序、在文件中的存放顺序、和从文件中的读出顺序3者是一致的。
顺序文件按行组织信息。每行由若干项组成,行的长度不固定,每行由回车换行符号结束。
a 顺序文件的打开与关闭
在对顺序文件进行操作之前,必须用Open语句打开要操作的文件。在对一个文件操作完成后,要用Close语句将它关闭。
1.Open语句的一般格式
Open 文件名 [For打开方式 ] As [#]文件号
(1)文件名。
(2)打开方式包括以下3种。
Input Output Append
(3)文件号。
是一个1~511之间的整数。它用来代表所打开的文件,文件号可以是整数或数值型变量。
例如:
① Open "d:\shu1.dat" For Input As #1
该语句以输入方式打开文件shu1.dat,并指定文件号为1。
② Open "d:\shu2.dat" For Output As #5
该语句以输出方式打开文件shu2.dat,即向文件shu2.dat进行写操作,并指定文件号为5。
③ Open "d:\shu3.dat" For Append As #7
该语句以添加方式打开文件shu3.dat,即向文件shu3.dat添加数据,并指定文件号为7。
2.Close语句的一般格式
Close [文件号表列]
例如:
① Close #1
关闭文件号为1的文件。
② Close #2,#7,#8
关闭文件号为2,7,8的文件。
③ Close
关闭所有已打开的文件。
b 顺序文件的写操作
VB用Print语句或Write语句向顺序文件写入数据。创建一个新的顺序文件或向一个已存在的顺序文件中添加数据,都是通过写操作实现的。另外,顺序文件也可由文本编辑器(记事本、Word等)创建。
1.Print语句
Print语句的一般格式:
Print #文件号 [,输出表列]
例如:
Open "d:\shu2.dat" For Output As #2
Print # 2, "zhang";"wang";"li"
Print # 2, 78;99;67
Close #2
执行上面的程序段后,写入到文件中的数据如下:
zhangwangli
78 99 67
2.Write语句
用Write语句项文件写入数据时,与Print语句不同的是,Write语句能自动在各数据项之间插入逗号,并给各字符串加上双引号。
Write语句的一般格式:
Write #文件号 [,输出表列]
例如:
Open "d:\shua.dat" For Output As #6
Write # 6, "zhang";"wang";"li"
Write # 6, 78;99;67
Close #6
执行上面的程序段后,写入到文件中的数据如下:
"zhang","wang","li"
78,99,67
c 顺序文件的读操作
顺序文件的读操作,就是从已存在的顺序文件中读取数据。在读一个顺序文件时,首先要用Input方式将准备读的文件打开。VB提供了Input、Line Input语句和Input函数将顺序文件的内容读入。Input函数将在9.4节中介绍。
1.Input语句
Input语句一般格式:
Input #文件号,变量表列
例如:
Private Sub form_Click()
Dim x$,y$,z$,a%,b%,c%
Open "c:\_vb\shua.dat" For Input As #1
Input #1,x,y,z
Input #1,a,b,c
Print x,y,z
Print a,b,c
Print a + b + c
Close #1
End Sub
如果顺序文件shua.dat的内容如下:
"zhang","wang","li"
78,99,67
执行Form_Click过程,在窗体上显示的内容为:
zhang wang li
78 99 67
244
2.Line Input语句
Line Input语句是从打开的顺序文件中读取一行。
Line Input语句的一般格式:
Line Input #文件号,字符串变量
例如:
如果顺序文件shua.dat的内容如下:
"zhang","wang","li"
78,99,67
我们用Line Input语句将数据读出并且把它显示在文本框中。
Private Sub Command1_Click()
Dim a$,b$
Open "c:\_vb\shua.dat" For Input As #2
Line Input #2,a
Line Input #2,b
Text1.Text = a & b
End Sub
执行以上过程,文本框中显示的内容为:
"zhang","wang","li"78,99,67
B 随机文件
使用顺序文件有一个很大的缺点,就是它必须顺序访问,即使明知所要的数据是在文件的末端,也要把前面的数据全部读完才能取得该数据。而随机文件则可直接快速访问文件中的任意一条记录,它的缺点是占用空间较大。
随机文件由固定长度的记录组成,一条记录包含一个或多个字段。具有一个字段的记录对应于任一标准类型,比如整数或者定长字符串。具有多个字段的记录对应于用户定义类型。随机文件中每个记录都有一个记录号,只要指出记录号,就可以对该文件进行读写。
1 随机文件的打开与关闭
在对一个随机文件操作之前,也必须用Open语句打开文件,随机文件的打开方式必须是Random方式,同时要指明记录的长度。与顺序文件不同的是,随机文件打开后,可同时进行写入与读出操作。
Open语句的一般格式:
Open 文件名 For Random As #文件号 Len=记录长度
说明:
记录长度是一条记录所占的字节数。可以用Len函数获得。
例如,定义以下记录:
Type student
Name As String*10
Age As Integer
End Type
就可以用下面的语句打开:
Open "d:\Test.dat" For Random As #9 Len=Len(student)
随机文件的关闭同顺序文件一样,用Close 语句。
2 随机文件的写操作
用Put语句进行随机文件的写操作。
Put语句一般格式为:
Put # 文件号,记录号,变量
说明:
Put语句把变量的内容写入文件中指定的记录位置。记录号是一个大于或等于1的整数。
例如,Put # 1,9,t
表示将变量t的内容送到1号文件中的第9号记录去。
3 随机文件的读操作
用Get语句进行随机文件的读操作。
Get语句格式一般为:
Get # 文件号,记录号,变量
说明:
Get语句把文件中由记录号指定的记录内容读入到指定的变量中。
例如,Get # 2,3,u
表示将2号文件中的第3条记录读出后存放到变量u中。
D 二进制文件
二进制文件被看作是字节顺序排列的。由于对二进制文件的读写是以字节为单位进行的,所以能对文件进行完全的控制。如果知道文件中数据的组织结构,则任何文件都可以当作二进制文件来处理使用。
1 二进制文件的打开与关闭
二进制文件的打开用Open语句。
其格式为:
Open 文件名 For Binary As #文件号
使用Close语句关闭二进制文件。
2 二进制文件的读/写操作
对二进制文件的读/写同随机文件一样用Put和Get语句。
它们的格式如下:
Put # 文件号,位置,变量
Get # 文件号,位置,变量
文件操作常用函数
1.LOF函数
格式:LOF(文件号)
功能:返回一个已打开文件的大小,类型为Long,单位是字节。
2.FileLen函数
格式:FileLen(文件名)
功能:返回一个未打开文件的大小,类型为long,单位是字节。文件名可以包含驱动器以及目录。
3.EOF函数
格式:EOF(文件号)
功能:用于判断读取的位置是否已到达文件尾。当读到文件尾时,返回True,否则返回False。对于顺序文件,用EOF 函数测试是否到达文件尾;对于随机文件和二进制文件,如果读不到最后一个记录的全部数据,返回True,否则返回False。对于以Output 方式打开的文件,EOF 函数总是返回True。
4.LOC函数
格式:LOC(文件号)
功能:返回文件当前读/写的位置,类型为Long。 对于随机文件,返回最近读/写的记录号;对于二进制文件,返回最近读/写的字节的位置。对于顺序文件,返回文件中当前字节位置除以 128 的值。对于顺序文件而言,Loc 的返回值无实际意义。
5.Input函数
格式:Input(字符数,#文件号)
功能:从打开的顺序文件读取指定数量的字符。Input函数返回从文件中读出的所有字符,包括逗号、回车符、换行符、引号和空格等。
例如:Text1.Text=Input(Lof(2),#2)
该语句是将2号文件的内容全部复制到文本框中。
VB基础知识
一:变量定义
Dim a as integer,b as long,c as single , d as String
等价于
Dim a%,b&,c! , d$
二:注意“+”和“&”的区别
三:输入框
Dim r!
r = InputBox("请输入半径","输入框")
四:消息框
dim inta
inta=MsgBox(“密码错”,21,“密码核对” )
五:if 语句
Dim weight as single,pay as single
weight= Text1.Text
If weight > 50 Then
pay =(weight - 50)* 0.5 + 50 * 0.2
Else
pay = weight * 0.2
End If
六:if elseif 语句
Dim score!
score = Text1.Text
If score >= 90 Then
Text2.Text = "优秀"
ElseIf score >= 80 Then
Text2.Text = "良好"
ElseIf score >= 70 Then
Text2.Text = "中"
ElseIf score >= 60 Then
Text2.Text = "及格"
Else
Text2.Text = "不及格"
End If
七:行If语句
Dim b As Single,max As Single
If b > max Then max = b
八:Select Case语句
Dim score!
score = Text1.Text
Select Case score
Case Is >= 90
Text2.Text = "优秀"
Case Is >= 80
Text2.Text = "良好"
Case Is >= 70
Text2.Text = "中"
Case Is >= 60
Text2.Text = "及格"
Case Else
Text2.Text = "不及格"
End Select
九:for循环
For n=1 To 10 Step 3
Print n,
Next n
十:While循环
x=1
While x<5 Print x, x=x+1 Wend 十一:Do while循环 r = m Mod n Do While r > 0
m = n
n = r
r = m Mod n
Loop
r = m Mod n
十二:Do until循环
Do Until r = 0
m = n
n = r
r = m Mod n
Loop
十三:循环的结束
1.Exit For
该语句用于For…Next循环,在循环体中可以出现一次或多次。当系统执行到该语句时,就强制退出当前循环。常见的使用格式是:If 条件 Then Exit For 即当循环执行过程中满足某个条件时,就执行循环退出语句结束循环。
2.Exit Do 该语句用于Do…Loop循环,具体用法同Exit For一样。
十四:一维数组
Dim A(5)As Integer 等价于 Dim A%(5)
定义了一个一维数组,名字为y,类型为Integer,占据6个(0~5)整型变量的空间。
十五:二维数组
Dim T(2,3)As Integer
定义了一个二维数组,名字为T,类型为Integer,该数组有3行(0~2)4列(0~3),占据12(3×4)个整型变量的空间
十六:子过程
Sub jieCheng(n%,p&)
On Error GoTo Click_Err
Dim i%
p = 1
For i = 1 To n
p = p * i
Next i
Click_Err:
Resume Next
End Sub
子过程的调用
Dim a&,b&,c&,d&
Call jieCheng(7,a)
Call jieCheng(11,b)
Call jieCheng(10,c)
d = a + b-c
Print "7!+11!-10!=";d
十七:函数过程
例子一:
Function jieCheng &(n%)
On Error GoTo Click_Err
Dim i%
jch = 1
For i = 1 To n
jch = jch * i
Next i
Click_Err:
Resume Next
End Function
函数过程的调用
Dim d&
d = jieCheng(7)+ jieCheng(11)-jieCheng(10)
Print "7!+11!-10!=";d
例子二:
Function sum%(b%())
On Error GoTo Click_Err
Dim i%
For i = LBound(b)To UBound(b)
If b(i)< 0 Then
sum = sum + b(i)
End If
Next i
Click_Err:
Resume Next
End Function
函数过程的调用
Dim a%(10),s%,i%
For i = 1 To 10
a(i)= Int(Rnd * 100)- 50
Print a(i);
Next i
Print
s = sum(a())
Print "数组中的负元素之和为:";s
技巧一:格式转换
CStr(value)
将value转换成string型
CInt(value)
将value转换成int形
CLng(value)
将value转换成long形
注:CBool,CByte,CDate,CVar,CVDate,CVErr,用法类似
技巧二:格式化
Format$( value, "0000")
将value格式化成4位
Format(Now, "yyyymmdd")
将当前日期格式化成yyyymmdd格式
Format(Now - 1, "yyyy-mm-dd")
将当前日期减一天后格式化成yyyy-mm-dd格式
Dim a as integer,b as long,c as single , d as String
等价于
Dim a%,b&,c! , d$
二:注意“+”和“&”的区别
"ABC"+"DEF" | → "ABCDEF" |
"姓名:" & "张三" | → "姓名:张三" |
23 & "7" | → "237" |
23+"7" | → 30 |
三:输入框
Dim r!
r = InputBox("请输入半径","输入框")
四:消息框
dim inta
inta=MsgBox(“密码错”,21,“密码核对” )
五:if 语句
Dim weight as single,pay as single
weight= Text1.Text
If weight > 50 Then
pay =(weight - 50)* 0.5 + 50 * 0.2
Else
pay = weight * 0.2
End If
六:if elseif 语句
Dim score!
score = Text1.Text
If score >= 90 Then
Text2.Text = "优秀"
ElseIf score >= 80 Then
Text2.Text = "良好"
ElseIf score >= 70 Then
Text2.Text = "中"
ElseIf score >= 60 Then
Text2.Text = "及格"
Else
Text2.Text = "不及格"
End If
七:行If语句
Dim b As Single,max As Single
If b > max Then max = b
八:Select Case语句
Dim score!
score = Text1.Text
Select Case score
Case Is >= 90
Text2.Text = "优秀"
Case Is >= 80
Text2.Text = "良好"
Case Is >= 70
Text2.Text = "中"
Case Is >= 60
Text2.Text = "及格"
Case Else
Text2.Text = "不及格"
End Select
九:for循环
For n=1 To 10 Step 3
Print n,
Next n
十:While循环
x=1
While x<5 Print x, x=x+1 Wend 十一:Do while循环 r = m Mod n Do While r > 0
m = n
n = r
r = m Mod n
Loop
r = m Mod n
十二:Do until循环
Do Until r = 0
m = n
n = r
r = m Mod n
Loop
十三:循环的结束
1.Exit For
该语句用于For…Next循环,在循环体中可以出现一次或多次。当系统执行到该语句时,就强制退出当前循环。常见的使用格式是:If 条件 Then Exit For 即当循环执行过程中满足某个条件时,就执行循环退出语句结束循环。
2.Exit Do 该语句用于Do…Loop循环,具体用法同Exit For一样。
十四:一维数组
Dim A(5)As Integer 等价于 Dim A%(5)
定义了一个一维数组,名字为y,类型为Integer,占据6个(0~5)整型变量的空间。
十五:二维数组
Dim T(2,3)As Integer
定义了一个二维数组,名字为T,类型为Integer,该数组有3行(0~2)4列(0~3),占据12(3×4)个整型变量的空间
十六:子过程
Sub jieCheng(n%,p&)
On Error GoTo Click_Err
Dim i%
p = 1
For i = 1 To n
p = p * i
Next i
Click_Err:
Resume Next
End Sub
子过程的调用
Dim a&,b&,c&,d&
Call jieCheng(7,a)
Call jieCheng(11,b)
Call jieCheng(10,c)
d = a + b-c
Print "7!+11!-10!=";d
十七:函数过程
例子一:
Function jieCheng &(n%)
On Error GoTo Click_Err
Dim i%
jch = 1
For i = 1 To n
jch = jch * i
Next i
Click_Err:
Resume Next
End Function
函数过程的调用
Dim d&
d = jieCheng(7)+ jieCheng(11)-jieCheng(10)
Print "7!+11!-10!=";d
例子二:
Function sum%(b%())
On Error GoTo Click_Err
Dim i%
For i = LBound(b)To UBound(b)
If b(i)< 0 Then
sum = sum + b(i)
End If
Next i
Click_Err:
Resume Next
End Function
函数过程的调用
Dim a%(10),s%,i%
For i = 1 To 10
a(i)= Int(Rnd * 100)- 50
Print a(i);
Next i
s = sum(a())
Print "数组中的负元素之和为:";s
技巧一:格式转换
CStr(value)
将value转换成string型
CInt(value)
将value转换成int形
CLng(value)
将value转换成long形
注:CBool,CByte,CDate,CVar,CVDate,CVErr,用法类似
技巧二:格式化
Format$( value, "0000")
将value格式化成4位
Format(Now, "yyyymmdd")
将当前日期格式化成yyyymmdd格式
Format(Now - 1, "yyyy-mm-dd")
将当前日期减一天后格式化成yyyy-mm-dd格式
订阅:
博文 (Atom)