白耙齿菌能治肾病吗:[分享]初学VB -

来源:百度文库 编辑:偶看新闻 时间:2024/04/23 18:10:48
初学VB
第一部分 VB语言篇
数据类型和变量、常数
在 VB 环境下进行计算时,常常需要临时存储数据。例如,可能想要计算几个值,将它们进行比较,并根据比较的结果对它们进行不同的操作。如果想要比较这些值,就要存储它们,但不必把它们存入属性。
像大多数编程语言那样,VB 使用变量来存储值。变量具有名字(用来引用该变量所含的值的名词)和数据类型(确定变量可以存储的数据的种类)。数组可以用来存储建立了索引的相关变量集。
常数也存储数值,顾名思义,在整个应用程序执行过程中,这些值都保持不变。常数的使用增加了代码的可读性,因为我们看到的是具有含义的名字而不是数字。
VB 有许多内部常数,但也可以建立自定义常数。在 VB 中,数据类型控制了数据的内部存储。按照缺省规定,VisualBasic 使用了变体数据类型。在不需要 Variant 提供的灵活性时,还有许多其它可用的数据类型,它们可用来优化代码的速度和大小。
1.1 变量
在 VB 中执行应用程序期间,用变量临时存储数值。变量具有名字(用来引用变量所包含的值的词)和数据类型(确定变量能够存储的数据的种类)。
可以把变量看作内存中存放未知值的所在处。例如,假定正在为水果铺编一个销售苹果的软件。在销售实际发生之前并不知道苹果的价格和销量。此时,可以设计两个变量来保存未知数,将它们命名为 ApplePrice和ApplesSold。每次运行程序时,用户就这两个变量提供具体值。为了计算总的销售额,并且将结果显示在名叫 txtSales的文本框中,代码应该是这样的:
Dim ApplePrice as Currency
Dim ApplesSold as Integer
txtSales.txt = ApplePrice * ApplesSold
每次根据用户提供的数值,这个表达式返回不同的金额。由于有了变量,就可以设计一个算式,而不必事先知道实际的输入是多少。在这个例子中,ApplePrice 的数据类型是货币,而 ApplesSold的数据类型是整数。变量还可以表示许多其它数值,比如:文本数值、日期、各种数值类型,甚至对象也在此列。
变量的定义:
|dim|static|public 变量名 as 变量类型
1.2 常数
执行程序时保持常数值的命名项目。常数可以是字符串、数值、另一常数、任何( 除乘幂与 Is 之外的)算术运算符或逻辑运算符的组合。每个主应用程序皆可定义自己的一组常数。用户也可以 Const语句定义附加常数。可在代码中的任何地方使用常数代替实际的值。
A 数值常量 15,19.66
B 字符串常量 “小学生”,“FGHY”,“67”
C 布尔常量 false true
D 日期常量 # 11/22/1999#
E 符号常量
Const pi=3.1415
S=pi*R*R
语法:[Public | Private] Const constname [As type] = expression
'声明公用常数。
Public Const MyString = "HELP"
1.3 数据类型
变量的特性,用来决定可保存何种数据。数据类型包括 Byte、Boolean、Integer、Long、Currency、Decimal、Single、Double、Date、String、Object、Variant ( 默认 ) 和用户定义类型等。
1. Byte 字节型 占1字节 0-255 可表示无符号整数
2. Interger 整型 占2字节 -32768—32767
3. Long 长整型 占4字节
4. Single 单精度浮点数 占4字节
5. Double 双精度浮点数 占8字节
6. Currency 货币型 点8字节
7. String 字符串型 变长 231个,定长 65526
dim aa as string ‘变长
dim bb as *7 ‘定长7位(不足用空格补)
8. Date 日期型 占64位 浮点数
标准格式为:
A # 月/ 日/ 年 # 如 1999年11月22日表示为 # 11/22/1999 #
B # 时:分: 秒 AM(PM) # 如: #2:30:15PM#
C # 月/ 日/ 年 时:分: 秒 AM(PM) # 如:11/ 22/1999 2:30:15 PM #
9. Boolean 布尔类型
false:0 true:非零
10. Object 对象类型
dim objfrm as object
set object=form1
objfrm.caption=‘图片浏览窗’
11. Variant 变体类型 可自动提升数值范围
12. 用户自定义型 Type
数组
2.1 数组
数组是存储在一个变量中由单个变量名引用的有序数据集合。数组中的每一个元素都可以通过一个数值下标被引用。
1. 声明固定大小的数组
Dim MyArray(5) As Integer '声明固定大小的数组。
2. 多维数组
Dim MyArray(5,1 To 10,5 To 15) As Integer '声明多维数组。
3. 动态数组
Dim MyArray() As Integer '声明动态数组。
Redim MyArray(5) '分配 5 个元素。
For I = 1 To 5 '循环 5 次。
MyArray(I) = I '初始化数组。
Next I
过程和函数
将程序分割成较小的逻辑部件就可以简化程序设计任务。称这些部件为过程,它们可以变成增强和扩展 VB 的构件。过程可用于压缩重复任务或共享任务,例如,压缩频繁的计算、文本与控件操作和数据库操作。
用过程编程有两大好处:
过程可使程序划分成离散的逻辑单元,每个单元都比无过程的整个程序容易调试。
一个程序中的过程,往往不必修改或只需稍作改动,便可以成为另一个程序的构件。
在 VB 中使用下列几种过程:
Sub 过程不返回值。
Function 过程返回值。
property 过程返回并指定值,以及设置对象引用。
3.1 Sub 过程
子过程是在响应事件时执行的代码块。将模块中的代码分成子过程后,在应用程序中查找和修改代码变得更容易了。
子过程的语法是:
[Private|Public][Static]Sub procedurename (arguments)
statements
End Sub
每次调用过程都会执行 Sub 和 End Sub 之间的statements。可以将子过程放入标准模块、类模块和窗体模块中。按照缺省规定,所有模块中的子过程为Public(公用的),这意味着在应用程序中可随处调用它们。过程的 arguments 类似于变量声明,它声明了从调用过程传递进来的值。在 VB中应区分通用过程和事件过程这两类子过程。
通用过程
通用过程告诉应用程序如何完成一项指定的任务。一旦确定了通用过程,就必须专由应用程序来调用。反之,直到为响应用户引发的事件或系统引发的事件而调用事件过程时,事件过程通常总是处于空闲状态。为什么要建立通用过程呢?理由之一就是,几个不同的事件过程也许要执行同样的动作。将公共语句放入一分离开的过程(通用过程)并由事件过程来调用它,诚为编程上策。这样一来就不必重复代码,也容易维护应用程序。
事件过程
当 VB 中的对象对一个事件的发生作出认定时,便自动用相应于事件的名字调用该事件的过程。因为名字在对象和代码之间建立了联系,所以说事件过程是附加在窗体和控件上的。
一个控件的事件过程将控件的(在 Name 属性中规定的)实际名字、下划线 (_) 和事件名组合起来。例如,如果希望在单击了一个名为cmdPlay 的命令按钮之后,这个按钮会调用事件过程,则要使用cmdPlay_Click 过程。
一个窗体事件过程将词汇 "Form"、下划线和事件名组合起来。如果希望在单击窗体之后,窗体会调用事件过程,则要使用Form_Click 过程。(和控件一样,窗体也有唯一的名字,但不能在事件过程的名字中使用这些名字。)如果正在使用 MDI窗体,则事件过程将词汇 " MDIForm" 、下划线和事件名组合起来,如 MDIForm_Load。所有的事件过程使用相同的语法。
控件事件的语法
Private Sub controlname_eventname (arguments )
StatementsEnd
Sub
窗体事件的语法
Private Sub Form_eventname (arguments)
StatementsEnd
Sub
虽然可以自己编写事件过程,但使用 VB 提供的代码过程会更方便,这个过程自动将正确的过程名包括进来。从“对象框”中选择一个对象,从“过程框”中选择一个过程,就可在“代码编辑器” 窗口选择一个模板。
在开始为控件编写事件过程之前先设置控件的 Name 属性,这不失为一个好主意。如果对控件附加一个过程之后又更改控件的名字,那么也必须更改过程的名字,以符合控件的新名字。否则,VB 无法使控件和过程相符。过程名与控件名不符时,过程就成为通用过程。
3.2 Function 过程
VB 包含内置的或内部的函数,如 Sqr、Cos 或 Chr。此外,还可用 Function 语句编写自己的 Function 过程。
函数过程的语法是:
Private|Public][Static]Function procedurename (arguments) [As type]
Statements
End Function
与 Sub 过程一样,Function 过程也是一个独立的过程,可读取参数、执行一系列语句并改变其参数的值。与子过程不同,Function 过程可返回一个值到调用的过程。在Sub 过程与Function 过程之间有三点区别:
一般说来,让较大的语句或表达式的右边包含函数过程名和参数(returnvalue = function),这就调用了函数。
与变量完全一样,函数过程有数据类型。这就决定了返回值的类型(如果没有 As 子句,缺省的数据类型为 Variant)。
给 procedurename 自身赋一个值,就可返回这个值。Function 过程返回一个值时,该值可成为较大表达式的一部分。
在 VB 中调用 Function 过程的方法和调用任何内部函数的方法是一样的。
3.3 使用过程
创建新过程
要创建新的通用过程,请在“代码”窗口输入过程头并按下回车键。过程头以 Sub 或 Function 打头,再接一个名字。例如,可以用以下任一方式输入:
Sub UpdateForm ()
Function GetCoord ()
通过完成新过程的模板, VB 作出反应。
选择现有过程
要在当前模块中查看过程,请
为了查看现有通用过程,在“代码”窗口的“对象框”中选择“通用”,然后在“过程框”中选择过程。
或者为查看事件过程,在“代码”窗口的“对象框”中选择适当的对象,然后在“过程框”中选择事件。要查看其它模块中的过程,请
1. 在“视图”菜单中选取“对象浏览器”。
2. 在“工程/库”框中选择工程。
3. 在“类/模块”列表中选择模块,并在“成员”列表中选择过程。
4. 选取“查看定义”。
3.4 调用过程
调用过程有诸多技巧,它们与过程的类型、位置以及在应用程序中的使用方式有关。下面的章节说明如何调用 Sub 过程和 Function 过程。
1. 调用 Sub 过程
与 Sub 过程不同,在表达式中,Sub 过程不能用其名字调用。调用 Sub 过程的是一个独立的语句。Sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 Function过程一样,Sub 过程也可以修改传递给它们的任何变量的值。
调用 Sub 过程有两种方法:
Call MyProc (FirstArgument, SecondArgument)
MyProc FirstArgument, SecondArgument
注意,当使用 Call 语法时,参数必须在括号内。若省略 Call 关键字,则也必须省略参数两边的括号。
2. 调用函数过程
通常,调用自行编写的函数过程的方法和调用 VB 内部函数过程(例如 Abs)的方法一样;即在表达式中写上它的名字。
就像调用 Sub 过程那样,也能调用函数。下面的语句都调用同一个函数:
Call Year (Now)
Year Now
当用这种方法调用函数时,VB 放弃返回值。
3. 调用其它模块中的过程
在工程中的任何地方都能调用其它模块中的公用过程。可能需要指定这样的模块,它包含正在调用的过程。调用其它模块中的过程的各种技巧,取决于该过程是在窗体模块中、类模块中还是标准模块中。
a. 窗体中的过程
所有窗体模块的外部调用必须指向包含此过程的窗体模块。如果在窗体模块 Form1 中包含 SomeSub 过程,则可使用下面的语句调用 Form1 中的过程:
Call Form1.SomeSub(arguments)
b. 类模块中的过程
与窗体中调用过程类似,在类模块中调用过程要调用与过程一致并且指向类实例的变量。例如,DemoClass 是类 Class1 的实例:
Dim DemoClass as New Class1
DemoClass.SomeSub
但是不同于窗体的是,在引用一个类的实例时,不能用类名作限定符。必须首先声明类的实例为对象变量(在这个例子中是DemoClass )并用变量名引用它。
c. 标准模块中的过程
如果过程名是唯一的,则不必在调用时加模块名。无论是在模块内,还是在模块外调用,结果总会引用这个唯一过程。如果过程仅出现在一个地方,这个过程就是唯一的。如果两个以上的模块都包含同名的过程,那就有必要用模块名来限定了。在同一模块内调用一个公共过程就会运行该模块内的过程。例如,对于Module1 和 Module2 中名为 CommonName 的过程,从 Module2 中调用CommonName 则运行 Module2中的CommonName过程,而不是 Module1中的 CommonName 过程。从其它模块调用公共过程名时必须指定那个模块。例如,若在Module1 中调用 Module2 中的 CommonName 过程,要用下面的语句:
Module2.CommonName (arguments)
4. 向过程传递参数
过程中的代码通常需要某些关于程序状态的信息才能完成它的工作。信息包括在调用过程时传递到过程内的变量。当将变量传递到过程时,称变量为参数。
a. 参数的数据类型
过程的参数被缺省为具有 Variant 数据类型。不过,也可以声明参数为其它数据类型。
b. 按值传递参数
按值传递参数,传递的只是变量的副本。如果过程改变了这个值,则所作变动只影响副本而不会影响变量本身。用 ByVal 关键字指出参数是按值来传递的。例如:
Sub PostAccounts (ByVal intAcctNum as Integer)
Statements
End Sub
c. 按地址传递参数
按地址传递参数使过程用变量的内存地址去访问实际变量的内容。结果,将变量传递给过程时,通过过程可永远改变变量值。按地址传递参数在VB 中是缺省的。
如果给按地址传递参数指定数据类型,就必须将这种类型的值传给参数。可以给参数传递一个表达式,而不是数据类型。VB计算表达式,如果可能的话,还会按要求的类型将值传递给参数。把变量转换成表达式的最简单的方法就是把它放在括号内。例如,为了把声明为整数的变量传递给过程,该过程以字符串为参数,则可以用下面的语句:
Sub CallingProcedure ()
Dim intX As Integer
intX = 12 * 3
Foo (intX)
End SubSub
Foo (Bar As String)
MsgBox Bar 'Bar 的值为字符串‘ 36 ’。
End Sub
d. 使用可选的参数
在过程的参数列表中列入 Optional关键字,就可以指定过程的参数为可选的。如果指定了可选参数,则参数表中此参数后面的其它参数也必是可选的,并且要用 Optional关键字来声明。下面两段示例代码假定有一个窗体,其内有一命令按钮和一列表框。例如,这段代码提供所有可选参数:
Dim strName As String
Dim strAddress As String
Sub ListText(Optional x As String, Optional y _As String)
List1.AddItem x
List1.AddItem y
End Sub
Private Sub Command1_Click ()
strName = "yourname"
strAddress = 12345 '提供了两个参数。
Call ListText (strName, strAddress)
End Sub
而下面的代码并未提供全部可选参数:
Dim strName As String
Dim varAddress As Variant
Sub ListText (x As String, Optional y As Variant)
List1.AddItem x
If Not IsMissing (y) Then
List1.AddItem y
End If
End Sub
Private Sub Command1_Click ()
strName = "yourname" '未提供第二个参数。
Call ListText (strName)
End Sub
控制结构概述
有了控制结构就可控制程序执行的流程。如果未复选控制流语句,程序便从左至右、自顶向下地贯穿这些语句。有些简单程序可以只用单向流程来编写,有些流程可以依靠运算符的优先级来控制,但任何编程语言的效力和用途皆由其通过结构和循环改变语句顺序的能力而得。
4.1 判定结构
VB 过程能够测试条件式,然后根据测试结果执行不同的操作。VB 支持的判定结构有:
If...Then;If...Then...Else;Select Case
1. If...Then
用 If...Then 结构有条件地执行一个或多个语句。单行语法和多行块语法都可以使用:If condition Then statement
If condition Then
Statements
End If
condition 通常是比较式,但它可以是任何计算数值的表达式。VB 将这个值解释为 True 或 False:一个为零的数值为False,而任何非零数值都被看作 True。若 condition 为 True,则 VB 执行 Then 关键字后面的所有statements。可以使用单行或多行语法有条件地执行一个语句。
注意:If...Then 的单行格式不用 End If 语句。如果 condition 为 True 时要执行多行代码,则必须使用多行块 If...Then...End If 语法。
2. If...Then...Else
用 If...Then...Else 块定义几个语句块,执行其中一个语句:
If condition1 Then
[statementblock-1]
[ElseIf condition2 Then
[statementblock-2]] ...
[Else
[statementblock-n]]
End If
VB 首先测试 condition1。如果它为 False,VB就测试condition2,依此类推,直到找到一个为 True的条件。当它找到一个为 True的条件时,VB就会执行相应的语句块,然后执行 End If 后面的代码。作为一个选择,可以包含 Else语句块,如果条件都不是 True,则 VisualBasic 执行 Else 语句块。If...Then...ElseIf 只是If...Then...Else 的一个特例。注意,可以使用任意数量的 ElseIf 子句,或者一个也不用。可以有一个 Else子句,而不管有没有 ElseIf 子句。
注意,总是可以添加更多的 ElseIf 块到 If...Then 结构中去。但是,当每个ElseIf 都将相同的表达式比作不同的数值时,这个结构编写起来很乏味。在这种情况下可以使用 Select Case 判定结构。
3. Select Case
VB 提供 Select Case 结构替代 If...Then...Else,从而可在多个语句块中有选择地执行其中一个。SelectCase 语句的能力与 If...Then...Else 语句类似,但对多重选择的情况,Select Case 语句使代码更加易读。SelectCase 在结构的上方处理一个测试表达式并只计算一次。然后,VisualBasic 将表达式的值与结构中的每个 Case的值进行比较。如果相等,就执行与该 Case 相关联的语句块。
Select Case testexpression
[Case expressionlist1
[statementblock-1]]
[Case expressionlist2
[statementblock-2]]...
[Case Else
[statementblock-n]]
End Select
每一个 expressionlist 是一个或几个值的列表。如果在一个列表中有多个值,就用逗号把值隔开。每一个 statementblock 中含有零个或多个语句。
如果不止一个 Case与测试表达式相匹配,则只对第一个匹配的 Case 执行与之相关联的语句块。如果在表达式列表中没有一个值与测试表达式相匹配,则 VB 执行 Case Else 子句(此项是可选的)中的语句。
注意 Select Case 结构每次都要在开始处计算表达式的值。而 If...Then...Else结构为每个 ElseIf语句计算不同的表达式。只有在 If 语句和每一个 ElseIf语句计算相同表达式时,才能用 Select Case 结构替换If...Then...Else 结构。
4.2循环结构
循环结构允许重复执行一行或数行代码。VB 支持的循环结构有: Do...Loop;For...Next;For Each...Next。
1. Do...Loop
用 Do 循环重复执行一语句块,且重复次数不定。Do...Loop 语句有几种演变形式,但每种都计算数值条件以决定是否继续执行。如同If...Thencondition 必须是一个数值或者值为 True(非零)或 False(零)的表达式。在下面的 Do...Loop循环中,只要 condition 为 True 就执行 statements。
Do While condition
Statements
Loop
当 VB 执行这个 Do 循环时会首先测试 condition。如果 condition为 False(零),则跳过所有语句。如果condition 为 True(非零),则 VisualBasic 执行语句,然后退回到 Do While 语句再测试条件。
因此,只要 condition 为 True 或非零,循环可以随意执行多少次。如果condition 一开始便为 False,则不会执行语句。
Do...Loop 语句的另一种演变形式是先执行语句,然后在每次执行后测试condition。这种形式保证 statements 至少执行一次:
Do
Statements
Loop While condition
其它两种演变形式类似于前两个,所不同的是,只要 condition 为 False 而不是 True,它们就执行循环。
循环零次或多次至少循环一次
Do Until condition
Statements
Loop
Do
Statements
Loop Until condition
2. For...Next
在不知道循环内需要执行多少次语句时,宜用 Do 循环。但是,在知道要执行多少次时,则最好使用 For...Next 循环。与 Do循环不同, For 循环使用一个叫做计数器的变量,每重复一次循环之后,计数器变量的值就会增加或者减少。For 循环的语法如下:
For counter = start To end [Step increment]
Statements
Next [counter]
参数 Counter、Start、end 和 increment 都是数值型的。注意 increment 参数可正可负。如果increment 为正,则 Start 必须小于等于end,否则不能执行循环内的语句。如果 increment 为负,则 Start必须大于等于 end,这样才能执行循环体。如果没有设置 Step,则 increment 缺省值为 1。
3. For Each...Next
For Each...Next 循环与 For...Next循环类似,但它对数组或对象集合中的每一个元素重复一组语句,而不是重复语句一定的次数。如果不知道一个集合有多少元素, ForEach...Next 循环非常有用。For Each...Next 循环的语法如下:
For Each element In group
statements
Next elementt
请记住使用 For Each...Next 时的几点限制:
对集合,element 只能是 Variant 变量,或一般的 Object 变量,或“对象浏览器”中列出的对象。
对数组,element 只能是 Variant 变量。
For Each...Next 不能与用户自定义类型的数组一起使用,因为 Variant 不可能包含用户自定义类型。
4.3 使用控制结构
1. 嵌套控制结构
可以把控制结构放入另一个控制结构之内(例如在 For...Next 循环中的If...Then块)。一个控制结构内部包含另一个控制结构叫做 nest(嵌套)。在 VB中,控制结构的嵌套层数没有限制。按一般习惯,为了使判定结构和循环结构更具可读性,总是用缩排方式书写判定结构或循环的正文部分。
例如,下面的过程要把打印机和屏幕共有的字体名全部打印出来:
Private Sub Form_Click ()
Dim SFont, PFont
For Each SFont In Screen.Fonts ()
For Each PFont In Printer.Fonts ()
If SFont = PFont Then
Print Sfont
End If
Next Pfont
Next Sfont
End Sub
注意,第一个 Next 关闭了内层的 For 循环,而最后一个 For 关闭了外层的 For 循环。同样,在嵌套的 If 语句中,EndIf 语句自动与最靠近的前一个 If 语句配对。嵌套的 Do...Loop 结构的工作方式也是一样的,最内圈的 Loop 语句与最内圈的 Do语句匹配。
2. 退出控制结构
用 Exit 语句可以直接退出 For 循环、Do 循环、子过程或函数过程。Exit 语句的语法很简单:Exit For 在 For 循环中出现的次数没有限制,Exit Do 在Do 循环中出现的次数也没有限制。
For counter = start To end [Step increment]
[statementblock]
[Exit For]
[statementblock]
Next [counter[, counter] [,...]]
Do [{While | Until} condition]
[statementblock]
[Exit Do]
[statementblock]
Loop
Exit Do 语句可以在 Do 循环语法的所有版本中使用。
Exit For 和 Exit Do非常有用,因为它有时适于立即退出循环,而且不再执行循环中的任何进一步迭代或者语句。例如,在前面的打印屏幕和打印机共有字体的例子中,程序不断将打印机字体和给定的屏幕字体作比较,甚至在已经找到了一个相符的打字机字体后还在继续寻找。对这个函数有一个效率更高的改进版,在此,只要找到相匹配的字体后就立即退出循环:
Private Sub Form_Click ()
Dim SFont, Pfont
For Each SFont In Screen.Fonts ()
For Each PFont In Printer.Fonts ()
If SFont = PFont Then
Print Sfont
Exit For '退出内圈循环。
End If
Next PFont
Next Sfont
End Sub
正如此例所表明的, Exit 语句几乎总是出现在 If 语句或 Select Case 语句内部,而 If 语句或 Select Case 语句在循环内嵌套。
用 Exit 语句中断循环时,计数器变量的值会因退出循环的方式而不同:
在完成循环时,计数器的值等于上限值加上步进值。
在提前退出循环时,计数器变量保持其值,并遵从有关取值范围的一般规则。
在集合之外叠代时,如果计数器变量为 Object 类型,则其值为Nothing;如果计数器变量为 Variant 类型,则其值为 Empty。
退出子过程或函数
过程也可从控制结构内部退出过程。Exit Sub 和 Exit Function 的语法, Exit For 和 Exit Do相似。Exit Sub 可以出现在子过程主体内的任何地方,出现的次数随需要而定。当过程已完成每个任务并可直接返回时,Exit Sub 和Exit Function 是非常有用的。例如,如果想改动前面的例子,使得对查找到的打印机和屏幕的共有字体,只打印其中的第一个,则可用 ExitSub :
¼ ¼
If SFont = PFont Then
Print Sfont
Exit Sub'退出过程。
End If
VB内部函数
6.1 字符函数
函数名
功能
示例
ASC
返回一个 Integer,代表字符串中首字母的字符代码。
Asc(string)
CHR
返回 String,其中包含有与指定的字符代码相关的字符
Chr(charcode)
Format
返回 Variant (String),其中含有一个表达式,它是根据格式表达式中的指令来格式化的。
Format(expression[, format[, firstdayofweek[, firstweekofyear]]])
Hex
返回代表十六进制数值的 String。
Hex(number)
InStr
返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。
InStr([start, ]string1, string2[, compare])
InstrRev
返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。
InstrRev(string1, string2[, start[, compare]])
Join
返回一个字符串,该字符串是通过连接某个数组中的多个子字符串而创建的。
Join(list[, delimiter])
LCase
返回转成小写的 String。
LCase(string)
Left
返回 Variant (String),其中包含字符串中从左边算起指定数量的字符。
Left(string, length)
Len
返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。
Len(string | varname)
Ltrim Rtrim Trim
返回 Variant (String),其中包含指定字符串的拷贝,没有前导空白 (LTrim)、尾随空白 (RTrim) 或前导和尾随空白 (Trim)。
LTrim(string)RTrim(string)Trim(string)
Mid
返回 Variant (String),其中包含字符串中指定数量的字符。
Mid(string, start[, length])
Partition
返回一个 Variant (String),指定一个范围,在一系列计算的范围中指定的数字出现在这个范围内。
Partition(number, start, stop, interval)
Replace
返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,且替换发生的次数也是指定的。
Replace(expression, find, replacewith[, start[, count[, compare]]])
Right
返回 Variant (String),其中包含从字符串右边取出的指定数量的字符。
Right(string, length)
Space
返回特定数目空格的 Variant (String)。
Space(number)
Split
返回一个下标从零开始的一维数组,它包含指定数目的子字符串。
Split(expression[, delimiter[, count[, compare]]])
StrComp
返回 Variant (Integer),为字符串比较的结果。
StrComp(string1, string2[, compare])
String
返回 Variant (String),其中包含指定长度重复字符的字符串。
String(number, character)
StrReverse
返回一个字符串,其中一个指定子字符串的字符顺序是反向的。
StrReverse(string1)
UCase(string)
返回 Variant (String)其中包含转成大写字符串。
UCase(string)
6.2 数字函数
函数名
功能
示例
FormatNumber
返回一个数字格式的表达式。
FormatNumber(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])
FormatPercent
返回一个百分比格式(乘以100)的表达式,后面有%符号。
FormatPercent(Expression[,NumDigitsAfterDecimal [,IncludeLeadingDigit [,UseParensForNegativeNumbers [,GroupDigits]]]])
Int Fix
返回参数的整数部分。
Int(number) Fix(number)
IsNumeric
返回 Boolean 值,指出表达式的运算结果是否为数。
IsNumeric(expression)
Round
返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。
Round(expression [,numdecimalplaces])
Sgn
返回一个 Variant (Integer),指出参数的正负号
Sgn(number)
Oct
返回 Variant (String),代表一数值的八进制值
Oct(number)
Rnd
返回一个包含随机数值的 Single。
Rnd[(number)]