资源描述
写给初学者
假如你是首次接触编程,那么我们给你多个很关键提议:
一、凡事就怕不敢入门
即使Foxtable看上去比易表难了部分,不过只要你静下心来看帮助,你会发觉其实并没有难到哪去,深入以后,你可能会认为更轻易。
凡事就怕不敢入门,一旦入门就会认为:不过如此嘛!
二、不要尝试去记住一切
学习编程关键,不是记住什么,而是要了解每一段示例代码原理和逻辑。
要知道,优异程序员之所以优异,绝不是因为她们记住了什么,她们和你我一样,需要不停地借助帮助文件。
三、不要急于求成
磨刀不误砍柴工,心急也吃不得热豆腐。
帮助文件很具体,提供了大量示例,内容也是循序渐进,只要你多点耐心,就一定能掌握。
有用户只是粗略地看了一次帮助,连基础概念全部没有掌握,就开始开发系统,结果往往是事倍功半。
四、实践出真知
要想全方面、深入地掌握Foxtable,在学习早期,应该将帮助中示例全部实际操作一次,方便加深印象。
学习后期,能够自己尝试写一写代码进行测试,尤其是有迷惑地方。
五、三人行必有我师
假如你在学习和应用过程中碰到难题,自己无法处理,能够访问Foxtable小区。
在寻求帮助同时,也别忘记帮助她人,让我们一起进入Foxtable编程奇妙天地,一起来提升吧。
Foxtable小区地址:
最关键两章
Foxtable开发篇很庞大,其中最关键有两章,分别是《编程基础》和《Foxtable编程》。
这两章既是基础,又是精华,能够说掌握了这两章内容,剩下内容全部是“小菜”,因为开发篇除这两章之外内容,基础上全部是参考性质,在学习过程中,只需做到有所了解即可,在实际开发时候再来查阅。
所以我们在学习开发篇时候,应该在这两章花上最多精力,尤其是《Foxtable编程》这一章,要反复看,细致看,多实践,只有基础打好了,才能融会贯通,才能在开发过程中做到游刃有余。再好程序员,也不能确保自己代码和设置100%正确,肯定要反复调试,才能最终达成目标。部分错误可能直到运行时候才被发觉,一般错误没关系,重新修改代码和设置即可;不过有错误可能很严重,以致每次打开项目文件时,Foxtable就会瓦解退出,或无法正常进入操作界面;怎样才能回到正常操作界面,给开发者提供更改错误机会呢?
很简单,首先按住Ctrl键,然后打开出现错误项目文件,直到项目文件被完全打开,再松开Ctrl键即可。假如打开过程中出现了登录窗口,先松开Ctrl键,选择以开发者身份登录,输入密码,然后重新按住Ctrl键,单击登录窗口确实定按钮,直到项目文件被完全打开,再松开Ctrl键。
以这种方法打开项目文件:
1、不会实施用户代码。
2、外部表不会加载数据,只加载结构。
3、系统菜单将替换用户菜单。
在修改错误代码和设置后,重新打开项目文件。
提醒:假如你确定你代码没有问题,不过还是出现莫名其妙错误,能够尝试先删除项目目录下子目录Catch,然后重新打开项目。FoxTable使用编程语言是Visual Basic,即使您完全没有接触过编程,也不用担心,因为Foxtable使用只是Visual Basic中极少一部分,大多数人全部能够在短时间内掌握。Visual Basic近似于自然语言,不区分大小写,很适合一般用户学习使用,这就是我们选择Visual Basic作为用户二次开发语言原因。Visual Basic编程是面向对象,而面向对象编程,就离不开属性、方法和事件。程序开发任务,就是依据用户动作和要求来设置属性、实施方法和响应事件。那么什么是属性、方法和事件呢?我们暂不讲编程,先来一个现实生活例子,比如对于一辆汽车来说:
1、品牌、型号、颜色、座椅个数、发动机排量等等,就是汽车属性。
2、开启、熄火、转弯、刹车就是汽车方法,汽车经过实施这些方法来完成日常工作。
3、为何踩油门会加速,而踩刹车会减速? 这是因为驾驶员每一个操作,全部会被看成一个“事件”,并经过传感装置通知到汽车控制系统。再来看Foxtable中表,表名、行数、列数就是它属性;增加行、删除行就是它方法;而实施方法,又会引发对应事件,通知系统某个表已经增加了一行、已经删除了一行。任何你在Foxtable中所看到,包含表,行、列,窗口、菜单等等,全部能够看作是一个对象,有自己属性、方法和事件。
甚至简单到一个数据,也能够看作是一个对象,也会有自己属性、方法;比如一个字符串,它也有自己属性,比如长度,还有自己方法,比如替换、插入、大小写转换等等。
数据类型
Visual Basic 有以下数据类型:
数据类型
说明
String
任意个数字符,常称为字符串。
Date
日期时间
Boolean
逻辑值,逻辑值就两个,分别是True(是)和False(否)。
Byte
微整数,介于 0 到 255 之间微整数
Short
短整数,介于 –32768 到 32767 之间短整型
Integer
整数,介于 – 到 之间整数。
Long
长整数,值范围为 -4775808 到 4775807。
Single
单精度小数,单精度小数,有效数字为7位。
Double
双精度小数,有效数字为15位。
Decimal
高精度小数,有高达28位有效数字,适适用于要求使用大量有效整数及小数位数而且没有舍入错误财务计算。
Object
通用型,可存放任何类型数据。
数值类型较多,通常情况下,小数用Double型,整数用Integer型即可,假如整数范围较大,能够用Long型。我们最常见数据类型是:String、Date、Boolean、Integer、Long、Double。
什么是有效数字?
简单地说,就是从左边第一个不是0数字算起,直到最终一个数字,就是一个数值有效数字,比如1.324有效数字是4位(1、3、2、4),1.3240有效数字是5位(1、3、2、4、0),而0.024有效数字是两位(2、4)。
申明变量
变量用来在实施代码过程中临时存放数据,要使用一个变量,必需先申明它。
申明一个变量,就是要指定变量名称和它数据类型。
申明变量语法是:
Dim 变量名 As 数据类型
比如:Dim Name As String
表示申明了一个新String(字符串)型变量,变量名为“Name”。
再比如:Dim riqi As Date
表示申明了一个新Date(日期)型变量,变量名为“riqi”。
能够在定义变量同时指定其初始值,比如:
Dim Name As String = "foxtable"
表示申明了一个新String(字符串)型变量,变量名为“Name”,初始值为“foxtable”。
能够在同一行定义多个变量,前提是这些变量类型相同,变量名之间用逗号分割,比如:
Dim Val1,Val2 As Integer
Dim Str1,Str2 As String
上面代码,定义了两个整数型变量Val1、Val2,和两个字符型变量Str1、Str2。提醒:上面出现彩色字符,是Foxtable代码编辑器自动加上去,只是为了便于阅读,并无特殊意义。
相关变量名
变量名称必需以字符或下划线( _ )开始,而且最少应该包含一个字符或数字。
变量名不能包含除下划线( _ )之外符号和空格。变量名也不能是关键词,所谓关键词,就是对Visual Basic有特殊意义单词,比如上面Dim、As。关键词有几百个,你极难全部记住,但你只要记住一点,假如输入代码,单击“确定”按钮后,提醒“关键词作为标识符无效!”,那么就表明你可能用关键词作为变量名了。
圆点符号
任何对象方法和属性,全部必需经过圆点符号才能调用和访问,比如:
Dim d As Date
Dim i As Integer
i = d.Month
d = d.AddDays(36)
日期型数据有一个属性Month,用于返回该日期月份,我们经过圆点符号来访问该属性:
i = d.Month 现在变量i值等于日期d月份。
日期型数据有一个AddDays方法,用于给日期加上指定天数,并返回新日期,我们一样经过原点符号调用这个方法:d = d.AddDays(36)
现在变量d等于原日期加上36天后新日期。上面属性和方法我们会在后续章节介绍,你现在只需了解圆点符号使用方法即可。
共享组员
比如我们定义了一个日期变量d,那么经过该变量Month属性可得到其月份值:
Dim d As Date = #12/31/#
Dim i As integer = d.Month
上面代码经过Month属性取得日期型变量d月份值,并保留在整数型变量i中。
Month属性和具体日期变量相关,不一样日期变量,Month属性返回不一样值;实际上,绝大多数属性,全部和Month属性一样,是和具体变量相关。不过有部分属性是不一样,它不是经过变量,而是经过类型名称访问,比如要得到今天日期值:
Dim d As Date
d = Date.Today
上面代码将今天日期值保留在变量d中。请注意用于返回当日日期值Today属性,它不属于任何一个日期型变量,而是属于日期类型Date,我们直接经过Date类型来访问这个属性。
这很好了解,Today这个属性返回是今天日期值,和具体日期变量无任何关系。我们将这种直接经过类型名称访问属性,称为共享属性。一样直接经过类型名称实施方法,称为共享方法。在这里,共享意思就是:大家共用,不属于某个具体变量。
命令窗口
这一节并不是Visual Basic内容,不过为了便于我们接下来学习,我们有必需先插入这么一节。我们在学习过程中,会接触到大量示例代码,有时我们有必需经过实施示例代码,来加深印象、解除疑虑。命令窗口能够直接输入并实施代码。
实施代码
在“杂项”功效区,单击下面按钮,能够打开命令窗口:
命令窗口右下角有一个“实施”按钮,用于实施你输入代码:
查看实施结果
Foxtable提供了一个Output类型,该类型有一个共享方法Show,用于在命令窗口显示信息。
比如将下面代码复制到命令窗口实施:
Dim i1 As Integer = 1
Dim i2 As Integer
i2 = i1 * 2
Output.Show(i2)
Output.Show显示信息,在命令窗口信息显示区,具体位置请看下面图片:
关键特征
命令窗口为非模式窗口,能够在不关闭命令窗口情况下,继续进行其它操作,比如编辑数据、实施菜单命令等等。
命令窗口辅助功效
词汇:对于初学编程人来说,记住Integer、Double、String这些单词不是一件很轻易事,英文基础差用户更甚。不过没关系,命令窗口词汇页,列出了全部常见词汇,双击某个词汇,即可自动输入该词汇:
字段
在编写代码时候,要记住全部表名和列名,几乎是一个不可能任务。
其实完全不需要为此担心,命令窗口字段页列出了全部表字段(列),双击即可自动插入字段名。
你还能够选择插入字段名是否用双引号或单引号括起来,还是不需要任何引号。
帮助
命令窗口帮助页内置了整套帮助文档,能够让大家更便捷地取得帮助。
不过我个人不太喜爱这个内置帮助,我认为独立帮助文档使用起来更方便。
命令窗口自动输入功效
在命令窗口输入:
Dim x As d
然后按Tab键,将列出全部以d开头类型供选择:
按上下箭头键移动光标,能够选择类型,将光标移到Date,按回车即可输入类型Date:
回车后,按下图所表示输入"x.",然后按Tab键,系统会自动判定出变量x为日期型,然后列出日期类型全部方法和属性供选择:
选择AddMonths,然后按回车,会自动输入AddMonths,同时显示AddMonths帮助:
不是任何时候全部需要选择,比如输入:
Dim x As String
x.e
按Tab键,会自动输入EndsWith:
Dim x As String
x.EndsWith
这是因为x是一个字符型变量,而字符型变量以E开头属性或方法,就只有EndsWith。
再比如:
Dim x As String
x.r
按Tab键,将列出字符型以r开头属性和方法:
显然手工输入能记住开头字符,能够愈加紧速定位所需要组员。
现在介绍是命令窗口(代码编辑器)基础功效,其它功效,我们会伴随学习深入逐一介绍。
能够看到,在Foxtable中编写代码,并不需要死记,不仅能够自动输入类型、属性和方法,甚至连帮助全部是自动显示。
自动全角转换和着色
在默认情况下,代码编辑器会自动将全角字符转换为半角,假如你不喜爱这种强制转换,能够在第一行代码输入:'''。
比如:
'''
Dim s1 As String
s1 = "我喜爱Foxtable,因为..."
Output.Show(s1)
另外编辑器会用不一样颜色标出多种关键词,和表名和列名,假如你电脑性能不太好,代码又比较长,这种代码自动着色功效会花费较长时间,此时你只需在第一行输入"'...",即可关闭自动着色。
比如:
'...
Dim s1 As String
s1 = "我喜爱Foxtable,因为..."
Output.Show(s1)
假如你期望同时关闭全角转换和着色,只需在第一行输入"'''..."。
比如:
'''...
Dim s1 As String
s1 = "我喜爱Foxtable,因为..."
Output.Show(s1)
代码注释
给代码关键位置加上注释,是一个很好习惯。
注释以符号 '开始,通常是单独一行,或在某一行代码以后。
假如注释和代码在同一行,注释和代码之间应该最少有一个空格。
注释不会对代码运行有任何影响。
比如:
'下面代码用于测试Month属性,请复制到命令窗口实施
Dim d1 As Date '定义变量d1
d1 = #12/31/# '给变量赋值
Output.Show(d1.Month) '在命令窗口显示月份
上面代码只是为了说明怎样加注释,实际使用时候,只需给关键位置加上注释即可,太多注释,反而会影响代码可读性。
在代码编辑窗口,注释颜色为灰色。
字符常量
字符型常量用双引号括起来,比如:
Dim s As String
s = "NBA"
等效于:
Dim s As String = "NBA"
表示定义一个字符变量s,并将s值设为“NBA”。
能够在定义变量时候,设定该变量为指定个数某字符组成,语法为:
Dim 变量名 As New String(字符, 反复次数)
比如:
Dim s As New String("*", 5)
变量s值将等于"*****",也就是由5个符号*组成。
也能够在定义变量后,用New String语句给变量赋值,比如:
Dim s As String
s = New String("*", 5)
实际上上面语句完全等效于:
Dim s As String
s = "*****"
或:
Dim s As String = "*****"
不过假定你要将变量设置为100个空格或100个符号*,此时用New String赋值显然要简练得多。
假如字符串中本身包含双引号,那么用每两个双引号表示一个双引号。
将下面代码复制到命令窗口实施:
Dim s1 As String = "利马是有名""无雨之全部"""
Output.Show(s1)
你会发觉s1值为:利马是有名"无雨之全部"
日期常量
日期型常量必需包含在符号#之间,格式为:#月/日/年#
比如:
Dim d1 As Date = #12/31/#
等效于:
Dim d1 As Date
d1 = #12/31/#
表示定义一个日期变量d1,初始值为12月31日。
下面是另一个定义日期变量语法:
Dim 变量名 As New Date(年,月,日)
比如:
Dim StartDate As New Date(,12,31)
一样表示定义一个日期变量StartDate,初始值为12月31日。
New Date表示创建一个新日期,既然是创建一个日期,当然得指定年、月、日。
New Date是能够单独使用,比如:
Dim StartDate As Date
StartDate = New Date(,12,31) '变量值设为12月31日
Output.Show(StartDate)
这一行代码:
StartDate = New Date(,12,31)等效于:StartDate = #12/31/#
逻辑常量
逻辑常量值就两个,分别为True(是)和False(否)。
逻辑变量通常见于保留某一个条件表示式值。
比如:Dim v1 As Boolean = (1 = 2)
Dim v2 As Boolean = (1 < 2)
Dim v3 As Boolean = True
Dim v4 As Boolean
上述代码实施后,变量v1值等于False,变量v2值等于True,因为1=2是不成立,而1<2是成立。逻辑变量默认初始值为False,所以变量v4值等于False,而变量v3值显然等于True。
枚举
枚举就是一组有名称整数,比如星期一、星期二、星期三....,就能够看作是枚举,因为她们实际上代表着一个整数,这个整数表示这一天是该星期第几天。程序中枚举,通常见于选项设置,选项通常是部分整数,0、1、2表示不一样设置,为了提升程序可读性,我们用部分更具描述性字符型名称来替换这些整数,这些代表着不一样整数名称,就是枚举。比如在列属性设置中,有一个名为“汉字输入”属性,它就是一个枚举类型,包含三个值,分别是:
Default:保持目前输入法状态不变
True: 自动打开汉字输入法
False: 自动关闭汉字输入法
显然,对于用户来说,用Default、True、False表示不一样设置,比用0、1、2表示不一样设置,要轻易了解得多。相关枚举,你现在只需要了解这么多,以后我们会接触到更具体枚举类型,那时你会认为枚举其实是很轻易了解。
数组
数组是同一数据类型一组变量集合。定义数组语法为:
Dim 数组名(索引上限) As 数据类型
比如:
Dim Names(3) As String表示定义了一个字符型(String)数组,数组名为“Names”,数组索引从0开始,所以该数组包含4个字符型变量(我们称之为数组元素),分别是:
Names(0), Names(1), Names(2), Names(3)
数组有一个Length属性,用于返回数组长度。
下面是一段完整代码,用于测试数组基础特征,请复制到命令窗口实施:
Dim Names(3) As String
Names (0) = "杨国辉"
Names (1) = "柯迎"
Names (2) = "陈绍月"
Names (3) = "朱志欣"
Output.Show(Names(1)) '在命令窗口显示第二个数组元素值。
Output.Show(Names.Length) '在命令窗口显示数组长度。
能够在定义数组时候,直接给数组元素赋值,比如:
Dim Values() As Integer = {1,3,5}
上面代码定义了一个整数型数组,数组包含三个元素,分别是1、3、5。
再比如:
Dim s1() As String = {"中国","美国","日本","俄罗斯"}
上面代码定义了一个字符型数组,数组包含四个元素。
假如采取直接赋值方法定义数组,不需要指定数组索引上限,此时索引上限由值个数确定。
能够在定义数组以后,再给数组批量赋值:
Dim s1() As String
s1 = New String() {"中国","美国","日本","俄罗斯"}
集合
集合类似于数组,不过比数组更为灵活,定义集合语法是:
Dim 集合名称 As New List(Of 数据类型)
比如:
Dim Names As New List(Of String)
表示定义了一个字符型(String)集合,集合名称为Names。
集合组员包含:
名称
类型
说明
Add
方法
向集合中增加一个值
Insert
方法
向集合指定位置插入一个值
Remove
方法
删除指定值
RemoveAt
方法
删除指定位置值
Contains
方法
判定集合中是否包含某个值
AddRange
方法
批量增加多个值
Count
属性
返回集合中值个数
一旦定义了集合,我们就能够用Add方法向其中添加值,比如:
Names.Add("电视机")
Names.Add("电冰箱")
Names.Add("洗衣机")
能够用Remove方法删除指定值,比如:
Names.Remove("电视机")
能够用RemoveAt删除指定位置值,比如:
Names.RemoveAt(0)
表示删除第一个值。
还能够用Insert方法将值插入到指定位置,比如:
Names.Insert(0,"电视机")
能够用Contains方法判定集合中是否包含某一个对象,比如:
If Names.Contains("电视机")= False Then
Names.Add("电视机")
End If和数组一样,我们经过索引来引用集合中指定位置值,比如:
Names(0)
Names(1)
当然也能够改变指定位置值,比如:
Names(0) = "微波炉"
能够用集合Count属性返回集合中值个数:Names.Count
下面是一段完整代码,用于测试集合基础特征,请复制到命令窗口实施:
Dim Names As New List(Of String)
Names.Add( "电视机")
Names.Add("电冰箱")
Names.Add("洗衣机")
Names.Remove("电视机")
If Names.Contains("电视机")= False Then
Names.Add("电视机")
End If
Names.Insert(0,"传真机")
Names(2) = "微波炉"
Output.Show(Names.Count) '显示集合长度
OutPut.Show(Names(0)) '显示第一个值
用AddRange方法,能够将一个数组或另一个集合中全部元素加入到集合中,比如:
Dim v1() As String = {"中国","美国","日本","俄罗斯"}
Dim s1 As New List(of String)
Dim s2 As New List(of String)
s1.AddRange(v1) '将数组中元素全部加入到集合中
s2.AddRange(s1) '将集合s1中元素全部加入到集合s2中
字典
Dictionary表示键和值集合,俗称字典。定义一个字典语法是:
Dim 变量名 As New Dictionary(Of 键类型, 值类型)
比如:
Dim zd As New Dictionary(Of Integer, String)
表示定义了一个字典zd,键类型是整数型(Integer),值类型是字符型(String)。
键和值能够是任何类型,比如:
Dim zd As New Dictionary(Of String, Date)
字典组员包含:
名称
类型
说明
Add
方法
将指定键和值添加到字典中
Remove
方法
移除指定键和值
Clear
方法
清除全部键和值
ContainsKey
方法
判定是否包含指定键
ContainsValue
方法
判定是否包含指定值
Count
属性
返回字典中键/值正确数目
Keys
属性
返回键集合
Values
属性
返回值集合
示例
Dim zd As New Dictionary(Of Integer, String)
zd.Add(1,"苹果")
zd.Add(2,"香蕉")
zd.Add(3,"波罗")
zd.Add(4,"桔子")
zd.Add(5,"桃子")
zd.Remove(1) '移除键1及其对应值
zd.Remove(5) '移除键5及其对应值
Output.Show(zd(2)) '显示键2对应值
Output.Show(zd(3)) '显示键3对应值
If zd.ContainsKey(1) = False Then '是否存在键1
zd.Add(1,"苹果")
End If
If zd.ContainsValue("桃子") = False Then '是否存在值"桃子"
zd.Add(5,"桃子")
End If
For Each k As Integer In zd.Keys '显示全部键及其对应值
Output.Show(K & ":" & zd(k))
Next
For Each v As String In zd.Values '显示全部值
Output.Show(v)
Next
zd.Clear '清除全部键和值
算术运算符
运算符
说明
+
加
-
减
*
乘
/
除,比如:12/8,等于1.5
\
整除,只返回结果整数部分,比如:12\8,等于1
^
指数运算,比如:2^3,表示23次方,等于8
Mod
取模,比如:10 Mod 3,表示10除以3余数,等于1
请将下面代码复制到命令窗口实施:
Output.Show(12/8) '测试除法
Output.Show(12\8) '测试整除
Output.Show(12 Mod 8) '取得余数
Output.Show(2^4) '指数运算
关系运算符
运算符
说明
=
等于
<>
不等于
>
大于
<
小于
>=
大于等于
<=
小于等于
逻辑运算符用于连接两个条件表示式,依据左右表示式计算结果,返回一个新逻辑值。
运算符
说明
And
逻辑和,假如左右表示式值全部为True,则返回True,不然返回False
AndAlso
逻辑和,假如左右表示式值全部为True,则返回True,不然返回False
Or
逻辑或,假如左右表示式值最少有一个True,则返回True,不然返回False
OrElse
逻辑或,假如左右表示式值最少有一个True,则返回True,不然返回False
Not
逻辑非,假如后边表示式为True,则返回False,不然返回True,也就是对后边表示式值取反。
补充说明:
And和Or,全部是先计算左右两个表示式值,然后再返回结果。
AndAlso先计算左边表示式值,假如计算结果为False,则直接返回False,不再计算右边表示式值。
OrElse先计算左边表示式值,假如计算结果为True,则直接返回True,不再计算右边表示式值。
所以通常见AndAlso和OrElse替换And和Or,因为效率高点。
示例
Dim v1 As Boolean = True 'True
Dim v2 as Boolean 'False
Dim v3 As Boolean = (1 < 2 AndAlso 2 > 3) 'False
Dim v4 As Boolean = (1 < 2 OrElse 2 > 3) 'True
Dim v5 As Boolean = (v1 AndAlso v4) 'True
Dim v6 As Boolean = (v2 OrElse v3) 'False
字符串连接符
运算符&来连接字符串,比如:
Dim s As String
s = "abc" & "123" 's值将是"abc123"
&能够用来连接任何数据,比如日期型、数值型,在连接之前会自动将非字符型数据转换为字符型。
比如在命令窗口输入并实施下面代码,即可显示当日日期:
Output.Show( "今天是:" & Date.Today)
需要注意是,&运算符前后必需有空格,将下面代码复制到命令窗口实施:
Dim s1 As String = "abc"
Dim s2 As String = "def"
Output.Show(s1&s2) '因为没有空格,实施时会出现错误.
上述代码在实施时,会出现错误提醒,要正确实施,必需改为:
Dim s1 As String = "abc"
Dim s2 As String = "def"
Output.Show(s1 & s2) '&运算符前后有了空格,能够正常实施了
Like运算符
Like使用通配符来比较字符串。
可用通配符有:
字符
说明
?
任何单个字符
*
零或多个字符
#
任何单个数字(0 到 9)
[字符列表]
字符列表中任何单个字符,比如[abx]表示a、b、x三个字符中任何一个。
[!字符列表]
不在字符列表中任何单个字符,比如[!abx]表示除a、b、x之外任何一个字符。
方括号中字符列表,能够使用连字符 (–) 将范围上下限分开,比如[a-e]表示字母a到e中任意一个,[a-z]就表示任意一个字母,而[0-9]表示任意一数字。将下面代码复制到命令窗口实施,请留心注释和实施结果:
'任意3个字符,后接3个数字
Output.Show( "ABC123" Like "???###") '匹配
Output.Show( "A1212A" Like "???###") '不匹配
'任意一个字符,随即是ABC三字符中任意一个
Output.Show( "RB" Like "?[ABC]") '匹配
Output.Show( "RD" Like "?[ABC]") '不匹配
'任意一个字符,随即是除ABC三字符之外任意一个字符
Output.Show( "RB" Like "?[!ABC]") '不匹配
Output.Show( "RD" Like "?[!ABC]") '匹配
'任意一个字母,随即是两个数字
Output.Show( "a12" Like "[a-z]##") '匹配
Output.Show( "112" Like "[a-z]##") '不匹配
If 语句
If语句有三种形式
单分支形式:
If 条件表示式 Then
代码
End If
假如条件表示式计算结果为True,也就是条件成立话,则实施代码。
比如在命令窗口输入下面代码:
Dim Mark As Integer = 61
If Mark >= 60 Then
Output.Show( "及格")
End If
实施以后,上述代码会得到结果"及格",假如将变量Mark值改为59,则不会返回任何内容。
双分支形式:
If 条件 Then
代码1
Else
代码2
End If
条件成立,则实施代码1,不成立,则实施代码2。
比如,在命令窗口输入下面代码:
Dim Mark As Integer = 61
If Mark >= 60 Then
Output.Show( "及格")
Else
Output.Show( "不及格")
End If
实施以后,上述代码会得到结果"及格",假如将变量Mark值改为59,则会得到结果"不及格"。
多分支形式:
If 条件1 Then
代码1
ElseIf 条件2 Then
代码2
ElseIf 条件3 Then
代码3
.....
Else
代码X
End If
条件1成立,实施代码1,条件2成立,实施代码2,其它类推,全部条件均不成立,则实施代码X。比如在命令窗口输入:
Dim Mark As Integer = 90
If Mark >= 90 Then
OutPut.Show("优异")
ElseIf Mark >= 80 Then
OutPut.Show("良好")
ElseIf Mark >= 60 Then
OutPut.Show("及格")
Else
OutPut.Show("不及格")
End If
在命令窗口改变变量Mark值,实施看看会得到什么结果。
条件拦截:
在多分支形式下,即使多个条件成立,if语句只会实施第一个满足条件分支。
比如在命令窗口实施下面代码:
Dim Mark As Integer = 90
If Mark >= 60 Then
OutPut.Show("及格")
ElseIf Mark >= 80 Then
OutPut.Show("良好")
ElseIf Mark >= 90 Then
OutPut.Show("优异")
Else
OutPut.Show("不及格")
End If
即使变量Mark等于90,不过输出结果是“及格”,而不是“优异”,因为Mark等于90时候,第一个条件(Mark >=60)成立,所以输出“及格”,其它分支不再实施,直接跳转到End If。
Select Case语句
Select Case语句也是条件判定语句,通用性不如If语句,只能依据一个值清单来测试一个变量,不过Select Case语句比If语句要简练部分。
Select Case语句语法为:
Select Case 变量
Case 值1
代码1
Case 值2
代码2
Case 值3
代码3
Case Else
代码X
End Select
假如变量值等于值1,则实施代码1,假如等于值2,则实施代码2,依次类推,假如不等于已经列出任何值,则实施代码X
比如,在命令窗口输入:
Dim Value As Integer = 5
Dim Result As String
Select Case Value
Case 1
Result = "低于20分"
Case 2
Result = "低于60分"
Case 3
Result = "低于80分"
Case 4
Result = "低于90分"
Case 5
Result = "超出90分"
Case Else
Result = "无效值"
End Select
Output.Show(Result)
将变量Value值分别设为1、2、3、4、5、6,然后实施代码,看看会得到什么结果。
一个Case语句能够同时设置多个值,各个值之间用逗号分开,比如:
Dim Value As Integer = 5
Select Case Value
Case 1,3,5,7,9
OutPut.Show("奇数")
Case 2,4,6,8,10
OutPut.Show("偶数")
End Select
Case语句还能够是一个范围,起始值和终止值用关键词To隔开,比如:
Dim Mark As Integer = 65
Dim Result As String
Select Case Mark
Case 0 To 40
Result = "E"
Case 41 To 60
Result = "D"
Case 61 To 70
Result = "C"
Case 71 To 90
Result = "B"
Case 91 T
展开阅读全文