foxtable软件开发基础使用说明书

上传人:h**** 文档编号:231509097 上传时间:2023-09-04 格式:DOC 页数:65 大小:617KB
收藏 版权申诉 举报 下载
foxtable软件开发基础使用说明书_第1页
第1页 / 共65页
foxtable软件开发基础使用说明书_第2页
第2页 / 共65页
foxtable软件开发基础使用说明书_第3页
第3页 / 共65页
资源描述:

《foxtable软件开发基础使用说明书》由会员分享,可在线阅读,更多相关《foxtable软件开发基础使用说明书(65页珍藏版)》请在装配图网上搜索。

1、写给初学者假如你是初次接触编程,那么我们给你几个特别重要的建议: 一、凡事就怕不敢入门虽然Foxtable看上去比易表难了一些,但是只要你静下心来看帮助,你会发觉其实并没有难到哪去,深化之后,你或许会觉得更简洁。凡事就怕不敢入门,一旦入门就会觉得:不过如此嘛!二、不要尝试去记住一切学习编程的重点,不是记住什么,而是要了解每一段示例代码的原理和逻辑。要知道,优秀的程序员之所以优秀,绝不是因为他们记住了什么,他们和你我一样,须要不停地借助帮助文件。三、不要急于求成磨刀不误砍柴工,心急也吃不得热豆腐。帮助文件特别具体,供应了大量的示例,内容也是按部就班的,只要你多点耐性,就确定能驾驭。有的用户只是粗

2、略地看了一次帮助,连基本的概念都没有驾驭,就起先开发系统,结果往往是事倍功半。四、实践出真知要想全面、深化地驾驭Foxtable,在学习初期,应当将帮助中的示例全部实际操作一次,以便加深印象。学习的后期,可以自己尝试写一写代码进行测试,特殊是有怀疑的地方。五、三人行必有我师假如你在学习和应用的过程中遇到难题,自己无法解决,可以访问Foxtable社区。在寻求帮助的同时,也别遗忘帮助他人,让我们一起进入Foxtable编程的奇异天地,一起来提高吧。Foxtable社区地址:最重要的两章Foxtable的开发篇特别浩大,其中最重要的有两章,分别是编程基础和Foxtable编程。这两章既是基础,又是

3、精华,可以说驾驭了这两章的内容,剩余的内容都是“小菜”,因为开发篇除这两章之外的内容,基本上都是参考性质,在学习的过程中,只需做到有所了解即可,在实际开发的时候再来查阅。所以我们在学习开发篇的时候,应当在这两章花上最多的精力,特殊是Foxtable编程这一章,要反复看,细致看,多实践,只有基础打好了,才能融会贯穿,才能在开发过程中做到游刃有余。再好的程序员,也不能保证自己的代码和设置100%正确,确定要反复调试,才能最终达到目标。一些错误可能直到运行的时候才被发觉,一般的错误没关系,重新修改代码和设置即可;不过有的错误可能特别严峻,以致每次打开项目文件时,Foxtable就会崩溃退出,或者无法

4、正常进入操作界面;怎样才能回到正常的操作界面,给开发者供应更改错误的机会呢?很简洁,首先按住Ctrl键,然后打开出现错误的项目文件,直到项目文件被完全打开,再松开Ctrl键即可。假如打开的过程中出现了登录窗口,先松开Ctrl键,选择以开发者身份登录,输入密码,然后重新按住Ctrl键,单击登录窗口的确定按钮,直到项目文件被完全打开,再松开Ctrl键。以这种方式打开的项目文件:1、不会执行用户代码。2、外部表不会加载数据,只加载结构。3、系统菜单将代替用户菜单。在修改错误代码和设置后,重新打开项目文件。提示:假如你确认你的代码没有问题,但是还是出现稀里糊涂的错误,可以尝试先删除项目书目下的子书目C

5、atch,然后重新打开项目。FoxTable运用的编程语言是Visual Basic,即使您完全没有接触过编程,也不用担忧,因为Foxtable运用的只是Visual Basic中很少的一部分,大多数人都可以在短时间内驾驭。Visual Basic近似于自然语言,不区分大小写,特别适合一般用户学习运用,这就是我们选择Visual Basic作为用户二次开发语言的缘由。Visual Basic编程是面对对象的,而面对对象的编程,就离不开属性、方法和事务。程序开发的任务,就是依据用户的动作与要求来设置属性、执行方法和响应事务。那么什么是属性、方法和事务呢?我们暂不讲编程,先来一个现实生活的例子,例

6、如对于一辆汽车来说:1、品牌、型号、颜色、座椅个数、发动机排量等等,就是汽车的属性。2、启动、熄火、转弯、刹车就是汽车的方法,汽车通过执行这些方法来完成日常工作。3、为什么踩油门会加速,而踩刹车会减速? 这是因为驾驶员的每一个操作,都会被当作一个“事务”,并通过传感装置通知到汽车的限制系统。再来看Foxtable中的表,表名、行数、列数就是它的属性;增加行、删除行就是它的方法;而执行方法,又会引发对应的事务,通知系统某个表已经增加了一行、已经删除了一行。任何你在Foxtable中所看到的,包括表,行、列,窗口、菜单等等,都可以看作是一个对象,有自己的属性、方法和事务。甚至简洁到一个数据,也可以

7、看作是一个对象,也会有自己的属性、方法;例如一个字符串,它也有自己的属性,例如长度,还有自己的方法,例如替换、插入、大小写转换等等。数据类型Visual Basic 有以下数据类型:数据类型说明String随意个数的字符,常称为字符串。Date日期时间Boolean逻辑值,逻辑值就两个,分别是True(是)和False(否)。Byte微整数,介于 0 到 255 之间的微整数Short短整数,介于 32768 到 32767 之间的短整型Integer整数,介于 2147483648 到 2147483647 之间的整数。Long长整数,值的范围为 -9223372036854775808 到

8、 9223372036854775807。Single单精度小数,单精度小数,有效数字为7位。Double双精度小数,有效数字为15位。Decimal高精度小数,有高达28位的有效数字,适用于要求运用大量有效的整数及小数位数并且没有舍入错误的财务计算。Object通用型,可存放任何类型的数据。数值类型较多,一般状况下,小数用Double型,整数用Integer型即可,假如整数范围较大,可以用Long型。我们最常用的数据类型是:String、Date、Boolean、Integer、Long、Double。 什么是有效数字?简洁地说,就是从左边第一个不是0的数字算起,直到最终一个数字,就是一个数

9、值的有效数字,例如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 N

10、ame As String = foxtable表示声明白一个新的String(字符串)型变量,变量名为“Name”,初始值为“foxtable”。可以在同一行定义多个变量,前提是这些变量的类型相同,变量名之间用逗号分割,例如:Dim Val1,Val2 As IntegerDim Str1,Str2 As String上面的代码,定义了两个整数型变量Val1、Val2,以及两个字符型变量Str1、Str2。提示:上面出现的彩色字符,是Foxtable的代码编辑器自动加上去的,只是为了便于阅读,并无特殊的意义。关于变量名变量名称必需以字符或者下划线( _ )起先,而且至少应当包括一个字符或者数

11、字。变量名不能包含除下划线( _ )之外的符号和空格。变量名也不能是关键词,所谓关键词,就是对Visual Basic有特殊意义的单词,例如上面的Dim、As。关键词有几百个,你很难全部记住的,但你只要记住一点,假如输入代码,单击“确定”按钮后,提示“关键词作为标识符无效!”,那么就表明你可能用关键词作为变量名了。圆点符号任何对象的方法和属性,都必需通过圆点符号才能调用和访问,例如:Dim d As DateDim i As Integeri = d.Monthd = d.AddDays(36) 日期型数据有一个属性Month,用于返回该日期的月份,我们通过圆点符号来访问该属性:i = d.M

12、onth 现在变量i的值等于日期d的月份。日期型数据有一个AddDays方法,用于给日期加上指定的天数,并返回新的日期,我们同样通过原点符号调用这个方法:d = d.AddDays(36) 现在变量d等于原日期加上36天后的新日期。上面的属性和方法我们会在后续章节介绍,你现在只需了解圆点符号的用法即可。共享成员例如我们定义了一个日期变量d,那么通过该变量的Month属性可得到其月份值:Dim d As Date = #12/31/2023#Dim i As integer = d.Month上面的代码通过Month属性获得日期型变量d的月份值,并保存在整数型变量i中。Month属性和具体的日期

13、变量相关,不同的日期变量,Month属性返回不同的值;事实上,绝大多数属性,都和Month属性一样,是和具体变量相关的。但是有一些属性是不同的,它不是通过变量,而是通过类型名称访问,例如要得到今日的日期值:Dim d As Dated = Date.Today上面的代码将今日的日期值保存在变量d中。请留意用于返回当天日期值的Today属性,它不属于任何一个日期型变量,而是属于日期类型Date,我们干脆通过Date类型来访问这个属性。这很好理解,Today这个属性返回的是今日的日期值,和具体的日期变量无任何关系。我们将这种干脆通过类型名称访问的属性,称为共享属性。同样干脆通过类型名称执行的方法,

14、称为共享方法。在这里,共享的意思就是:大家共用的,不属于某个具体变量的。吩咐窗口这一节并不是Visual Basic的内容,但是为了便于我们接下来的学习,我们有必要先插入这么一节。我们在学习的过程中,会接触到大量的示例代码,有时我们有必要通过执行示例代码,来加深印象、解除疑虑。吩咐窗口可以干脆输入并执行代码。执行代码在“杂项”功能区,单击下面的按钮,可以打开吩咐窗口:吩咐窗口右下角有一个“执行”按钮,用于执行你输入的代码:查看执行结果Foxtable供应了一个Output类型,该类型有一个共享方法Show,用于在吩咐窗口显示信息。例如将下面的代码复制到吩咐窗口执行:Dim i1 As Inte

15、ger = 1Dim i2 As Integeri2 = i1 * 2Output.Show(i2) Output.Show显示的信息,位于吩咐窗口的信息显示区,具体位置请看下面的图片:重要特性吩咐窗口为非模式窗口,可以在不关闭吩咐窗口的状况下,接着进行其它操作,例如编辑数据、执行菜单吩咐等等。吩咐窗口的协助功能词汇:对于初学编程的人来说,记住Integer、Double、String这些单词不是一件很简洁的事,英文基础差的用户更甚。不过没关系,吩咐窗口的词汇页,列出了全部的常见词汇,双击某个词汇,即可自动输入该词汇:字段在编写代码的时候,要记居处有的表名和列名,几乎是一个不行能的任务。其实完

16、全不须要为此担忧,吩咐窗口的字段页列出了全部表的字段(列),双击即可自动插入字段名。你还可以选择插入的字段名是否用双引号或单引号括起来,还是不须要任何引号。帮助吩咐窗口的帮助页内置了整套帮助文档,可以让大家更便捷地获得帮助。不过我个人不太喜爱这个内置的帮助,我觉得独立的帮助文档运用起来更便利。吩咐窗口的自动输入功能在吩咐窗口输入:Dim x As d然后按Tab键,将列出全部以d开头的类型供选择:按上下箭头键移动光标,可以选择类型,将光标移到Date,按回车即可输入类型Date:回车后,按下图所示输入x.,然后按Tab键,系统会自动推断出变量x为日期型,然后列出日期类型全部的方法和属性供选择:

17、选择AddMonths,然后按回车,会自动输入AddMonths,同时显示AddMonths的帮助:不是任何时候都须要选择的,例如输入:Dim x As Stringx.e按Tab键,会自动输入EndsWith:Dim x As Stringx.EndsWith这是因为x是一个字符型变量,而字符型变量以E开头的属性或者方法,就只有EndsWith。再例如:Dim x As Stringx.r按Tab键,将列出字符型以r开头的属性和方法:明显手工输入能记住的开头字符,可以更加快速的定位所须要的成员。目前介绍的是吩咐窗口(代码编辑器)的基本功能,其它功能,我们会随着学习的深化逐个介绍。可以看到,在

18、Foxtable中编写代码,并不须要死记的,不仅可以自动输入类型、属性和方法,甚至连帮助都是自动显示的。自动全角转换和着色在默认的状况下,代码编辑器会自动将全角字符转换为半角,假如你不喜爱这种强制转换,可以在第一行代码输入:。例如:Dim s1 As Strings1 = 我喜爱Foxtable,因为.Output.Show(s1)此外编辑器会用不同的颜色标出各种关键词,以及表名和列名,假如你的电脑性能不太好,代码又比较长,这种代码自动着色的功能会耗费较长的时间,此时你只需在第一行输入.,即可关闭自动着色。例如:.Dim s1 As Strings1 = 我喜爱Foxtable,因为.Outp

19、ut.Show(s1)假如你希望同时关闭全角转换和着色,只需在第一行输入.。例如:.Dim s1 As Strings1 = 我喜爱Foxtable,因为.Output.Show(s1)代码注释给代码的关键位置加上注释,是一个很好的习惯。注释以符号 起先,通常是单独一行,或者位于某一行代码之后。假如注释和代码在同一行,注释和代码之间应当至少有一个空格。注释不会对代码的运行有任何影响。例如:下面的代码用于测试Month属性,请复制到吩咐窗口执行Dim d1 As Date 定义变量d1d1 = #12/31/2023# 给变量赋值Output.Show(d1.Month) 在吩咐窗口显示月份上面

20、的代码只是为了说明如何加注释,实际运用的时候,只需给关键的位置加上注释即可,太多的注释,反而会影响代码的可读性。在代码编辑窗口,注释的颜色为灰色。字符常量字符型常量用双引号括起来,例如:Dim s As Strings = NBA等效于:Dim s As String = NBA 表示定义一个字符变量s,并将s的值设为“NBA”。可以在定义变量的时候,设定该变量为指定个数的某字符组成,语法为:Dim 变量名 As New String(字符, 重复次数)例如:Dim s As New String(*, 5)变量s的值将等于*,也就是由5个符号*组成。也可以在定义变量后,用New String

21、语句给变量赋值,例如:Dim s As Strings = New String(*, 5)事实上上面的语句完全等效于:Dim s As Strings = *或:Dim s As String = *不过假定你要将变量设置为100个空格或100个符号*,此时用New String赋值明显要简洁得多。假如字符串中本身包括双引号,那么用每两个双引号表示一个双引号。将下面的代码复制到吩咐窗口执行:Dim s1 As String = 利马是出名的无雨之都Output.Show(s1)你会发觉s1的值为:利马是出名的无雨之都日期常量日期型常量必需包括在符号#之间,格式为:#月/日/年#例如:Dim

22、d1 As Date = #12/31/2023#等效于:Dim d1 As Date d1 = #12/31/2023#表示定义一个日期变量d1,初始值为2023年12月31日。下面是另一种定义日期变量的语法:Dim 变量名 As New Date(年,月,日)例如:Dim StartDate As New Date(2023,12,31)同样表示定义一个日期变量StartDate,初始值为2023年12月31日。New Date表示创建一个新的日期,既然是创建一个日期,当然得指定年、月、日。New Date是可以单独运用的,例如:Dim StartDate As DateStartDate

23、 = New Date(2023,12,31) 变量值设为2023年12月31日Output.Show(StartDate)这一行代码:StartDate = New Date(2023,12,31)等效于:StartDate = #12/31/2023#逻辑常量逻辑常量值就两个,分别为True(是)和False(否)。逻辑变量通常用于保存某一个条件表达式的值。例如:Dim v1 As Boolean = (1 = 2)Dim v2 As Boolean = (1 2)Dim v3 As Boolean = TrueDim v4 As Boolean上述代码执行后,变量v1的值等于False,

24、变量v2的值等于True,因为1=2是不成立的,而12是成立的。逻辑变量的默认初始值为False,所以变量v4的值等于False,而变量v3的值明显等于True。枚举枚举就是一组出名称的整数,例如星期一、星期二、星期三.,就可以看作是枚举,因为他们事实上代表着一个整数,这个整数表示这一天是该星期的第几天。程序中的枚举,通常用于选项设置,选项通常是一些整数,0、1、2表示不同的设置,为了提高程序的可读性,我们用一些更具描述性的字符型名称来代替这些整数,这些代表着不同整数的名称,就是枚举。例如在列属性设置中,有一个名为“中文输入”的属性,它就是一个枚举类型,包括三个值,分别是:Default:保持

25、当前输入法状态不变True: 自动打开中文输入法False: 自动关闭中文输入法明显,对于用户来说,用Default、True、False表示不同的设置,比用0、1、2表示不同的设置,要简洁理解得多。关于枚举,你现在只须要了解这么多,今后我们会接触到更具体的枚举类型,那时你会觉得枚举其实是很简洁理解的。数组数组是同一数据类型的一组变量的集合。定义数组语法为:Dim 数组名(索引上限) As 数据类型例如:Dim Names(3) As String表示定义了一个字符型(String)数组,数组名为“Names”,数组的索引从0起先,所以该数组包括4个字符型变量(我们称之为数组元素),分别是:N

26、ames(0), Names(1), Names(2), Names(3)数组有一个Length属性,用于返回数组的长度。下面是一段完整的代码,用于测试数组的基本特性,请复制到吩咐窗口执行:Dim Names(3) As StringNames (0) = 杨国辉Names (1) = 柯迎Names (2) = 陈绍月Names (3) = 朱志欣Output.Show(Names(1) 在吩咐窗口显示其次个数组元素的值。Output.Show(Names.Length) 在吩咐窗口显示数组的长度。可以在定义数组的时候,干脆给数组元素赋值,例如:Dim Values() As Integer

27、 = 1,3,5上面的代码定义了一个整数型数组,数组包括三个元素,分别是1、3、5。再例如:Dim s1() As String = 中国,美国,日本,俄罗斯上面的代码定义了一个字符型数组,数组包括四个元素。假如采纳干脆赋值的方式定义数组,不须要指定数组的索引上限,此时索引上限由值的个数确定。可以在定义数组之后,再给数组批量赋值:Dim s1() As Strings1 = New String() 中国,美国,日本,俄罗斯集合集合类似于数组,但是比数组更为敏捷,定义集合的语法是:Dim 集合名称 As New List(Of 数据类型)例如:Dim Names As New List(Of

28、String)表示定义了一个字符型(String)集合,集合的名称为Names。集合的成员包括:名称类型说明Add方法向集合中增加一个值Insert方法向集合的指定位置插入一个值Remove方法删除指定的值RemoveAt方法删除指定位置的值Contains方法推断集合中是否包括某个值AddRange方法批量增加多个值Count属性返回集合中值的个数一旦定义了集合,我们就可以用Add方法向其中添加值,例如:Names.Add(电视机)Names.Add(电冰箱)Names.Add(洗衣机)可以用Remove方法删除指定的值,例如:Names.Remove(电视机)可以用RemoveAt删除指定

29、位置的值,例如:Names.RemoveAt(0)表示删除第一个值。还可以用Insert方法将值插入到指定位置,例如:Names.Insert(0,电视机)可以用Contains方法推断集合中是否包括某一个对象,例如:If Names.Contains(电视机)= False ThenNames.Add(电视机)End If和数组一样,我们通过索引来引用集合中指定位置的值,例如:Names(0)Names(1)当然也可以变更指定位置的值,例如:Names(0) = 微波炉可以用集合的Count属性返回集合中值的个数:Names.Count下面是一段完整的代码,用于测试集合的基本特性,请复制到吩

30、咐窗口执行: Dim Names As New List(Of String)Names.Add( 电视机)Names.Add(电冰箱)Names.Add(洗衣机)Names.Remove(电视机)If Names.Contains(电视机)= False ThenNames.Add(电视机)End IfNames.Insert(0,传真机)Names(2) = 微波炉Output.Show(Names.Count) 显示集合的长度OutPut.Show(Names(0) 显示第一个值用AddRange方法,可以将一个数组或另一个集合中的全部元素加入到集合中,例如:Dim v1() As St

31、ring = 中国,美国,日本,俄罗斯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),值的类型是

32、字符型(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

33、(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 是否存在键1zd.Add(1,苹果)End IfIf zd.ContainsValue(桃子) = False Then 是否存在值桃子zd.Add(5,桃子)End IfFor Each k As Integer In zd.Keys 显示全部键及其对应的值Output.S

34、how(K & : & zd(k)NextFor Each v As String In zd.Values 显示全部值Output.Show(v)Nextzd.Clear 清除全部的键和值算术运算符运算符说明+加-减*乘/除,例如:12/8,等于1.5整除,只返回结果的整数部分,例如:128,等于1指数运算,例如:23,表示2的3次方,等于8Mod取模,例如:10 Mod 3,表示10除以3的余数,等于1请将下面的代码复制到吩咐窗口执行:Output.Show(12/8) 测试除法Output.Show(128) 测试整除Output.Show(12 Mod 8) 获得余数Output.Sh

35、ow(24) 指数运算关系运算符运算符说明=等于不等于大于=大于等于=小于等于逻辑运算符用于连接两个条件表达式,依据左右表达式的计算结果,返回一个新的逻辑值。运算符说明And逻辑与,假如左右表达式的值都为True,则返回True,否则返回FalseAndAlso逻辑与,假如左右表达式的值都为True,则返回True,否则返回FalseOr逻辑或,假如左右表达式的值至少有一个True,则返回True,否则返回FalseOrElse逻辑或,假如左右表达式的值至少有一个True,则返回True,否则返回FalseNot逻辑非,假如后边的表达式为True,则返回False,否则返回True,也就是对后

36、边表达式的值取反。补充说明:And和Or,都是先计算左右两个表达式的值,然后再返回结果。AndAlso先计算左边表达式的值,假如计算结果为False,则干脆返回False,不再计算右边表达式的值。OrElse先计算左边表达式的值,假如计算结果为True,则干脆返回True,不再计算右边表达式的值。所以通常用AndAlso和OrElse代替And和Or,因为效率高点。示例Dim v1 As Boolean = True TrueDim v2 as Boolean FalseDim v3 As Boolean = (1 3) FalseDim v4 As Boolean = (1 3) TrueD

37、im v5 As Boolean = (v1 AndAlso v4) TrueDim v6 As Boolean = (v2 OrElse v3) False字符串连接符运算符&来连接字符串,例如:Dim s As Strings = abc & 123 s的值将是abc123&可以用来连接任何数据,例如日期型、数值型,在连接之前会自动将非字符型的数据转换为字符型。例如在吩咐窗口输入并执行下面的代码,即可显示当天的日期:Output.Show( 今日是: & Date.Today)须要留意的是,&运算符前后必需有空格,将下面的代码复制到吩咐窗口执行:Dim s1 As String = abc

38、Dim s2 As String = defOutput.Show(s1&s2) 因为没有空格,执行时会出现错误.上述代码在执行时,会出现错误提示,要正确执行,必需改为:Dim s1 As String = abcDim s2 As String = defOutput.Show(s1 & s2) &运算符前后有了空格,可以正常执行了Like运算符Like运用通配符来比较字符串。可用的通配符有:字符 说明? 任何单个字符* 零或多个字符# 任何单个数字(0 到 9)字符列表 字符列表中的任何单个字符,例如abx表示a、b、x三个字符中的任何一个。!字符列表 不在字符列表中的任何单个字符,例如!

39、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三字符之外的

40、随意一个字符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 = 61If Mark = 60 ThenOutput.Show( 及格)End If执行之后

41、,上述的代码会得到结果及格,假如将变量Mark的值改为59,则不会返回任何内容。双分支形式:If 条件 Then代码1 Else 代码2 End If条件成立,则执行代码1,不成立,则执行代码2。例如,在吩咐窗口输入下面的代码:Dim Mark As Integer = 61If Mark = 60 ThenOutput.Show( 及格)Else Output.Show( 不及格)End If执行之后,上述的代码会得到结果及格,假如将变量Mark的值改为59,则会得到结果不及格。多分支形式:If 条件1 Then代码1 ElseIf 条件2 Then代码2 ElseIf 条件3 Then代码

42、3 .Else 代码X End If条件1成立,执行代码1,条件2成立,执行代码2,其余类推,全部条件均不成立,则执行代码X。例如在吩咐窗口输入:Dim Mark As Integer = 90If Mark = 90 ThenOutPut.Show(优秀)ElseIf Mark = 80 ThenOutPut.Show(良好)ElseIf Mark = 60 ThenOutPut.Show(及格)Else OutPut.Show(不及格)End If在吩咐窗口变更变量Mark的值,执行看看会得到什么结果。条件拦截:在多分支形式下,即使多个条件成立,if语句只会执行第一个满意条件的分支。例如在

43、吩咐窗口执行下面的代码:Dim Mark As Integer = 90If Mark = 60 ThenOutPut.Show(及格)ElseIf Mark = 80 ThenOutPut.Show(良好)ElseIf Mark = 90 ThenOutPut.Show(优秀)Else OutPut.Show(不及格)End If虽然变量Mark等于90,但是输出的结果是“及格”,而不是“优秀”,因为Mark等于90的时候,第一个条件(Mark =60)成立,所以输出“及格”,其余分支不再执行,干脆跳转到End If。Select Case语句Select Case语句也是条件推断语句,通用

44、性不如If语句,只能依据一个值的清单来测试一个变量,但是Select Case语句比If语句要简洁一些。Select Case语句的语法为:Select Case 变量Case 值1代码1Case 值2代码2Case 值3代码3Case Else代码XEnd Select假如变量的值等于值1,则执行代码1,假如等于值2,则执行代码2,依次类推,假如不等于已经列出的任何值,则执行代码X例如,在吩咐窗口输入:Dim Value As Integer = 5Dim Result As StringSelect Case ValueCase 1Result = 低于20分Case 2Result =

45、低于60分Case 3Result = 低于80分Case 4Result = 低于90分Case 5Result = 超过90分Case ElseResult = 无效值End SelectOutput.Show(Result)将变量Value的值分别设为1、2、3、4、5、6,然后执行代码,看看会得到什么结果。一个Case语句可以同时设置多个值,各个值之间用逗号分开,例如:Dim Value As Integer = 5Select Case ValueCase 1,3,5,7,9OutPut.Show(奇数)Case 2,4,6,8,10OutPut.Show(偶数)End Select

46、Case语句还可以是一个范围,起始值和终止值用关键词To隔开,例如:Dim Mark As Integer = 65Dim Result As StringSelect Case Mark Case 0 To 40 Result = ECase 41 To 60Result = DCase 61 To 70Result = CCase 71 To 90Result = BCase 91 To 100Result = AEnd SelectOutPut.Show(Result)Select Case语句可以对各种数据类型的变量进行比较,包括字符型、日期型、逻辑型、各种数值型,例如下面运用字符型变

47、量:Dim Value As String = ADim Result As StringSelect Case ValueCase EResult = 低于20分Case DResult = 低于60分Case CResult = 低于80分Case BResult = 低于90分Case AResult = 超过90分Case ElseResult = 无效值End SelectOutput.Show(Result)For.Next语句For.Next语句是循环语句的一种,可以将一段代码重复执行设定的次数,语法为:For 计数器变量 = 初始值 To 终止值 Step 步长值代码Next每

48、执行一次代码,计数器变量就加上步长值,然后再次执行代码,直到计数器变量超过终止值。实际运用的时候,假如步长为1,可以省略Step语句。例如,求 1 + 2 + 3 +. + 100的和:Dim Sum As IntegerDim i As IntegerFor i = 1 to 100Sum = Sum + iNext Output.Show(Sum)假如要累加1到100之间的偶数,那么代码应当是:Dim Sum As IntegerDim i As IntegerFor i = 2 To 100 Step 2Sum = Sum + iNext Output.Show(Sum) 在循环过程中,

49、假如提前退出循环,可以用Exit For语句,例如:Dim Sum As IntegerDim i As IntegerFor i = 1 To 100If i = 51 ThenExit ForEnd If Sum = Sum + iNext OutPut.Show(Sum)上面的代码事实上只是求得1到50的累计值,因为在计数器变量i等于51的时候,,程序退出了循环。假如符合特定条件的时候,不执行循环代码,而是干脆进行下一次循环,可以用Continue For语句,例如对于下面的语句:Dim Sum As IntegerDim i As IntegerFor i = 1 To 100If i

50、 Mod 2 = 0 ThenContinue ForEnd If Sum = Sum + iNext Output.Show(Sum)上面的代码累加了1到100之间的奇数,因为遇到偶数,就干脆进行下一次循环,而没有累加到变量Sum中。你可以干脆在For语句中声明计数器变量,语法为:For 计数器变量 As 数据类型 = 初始值 To 终止值 Step 步长值代码Next 此时计数器变量只能在循环代码中运用,例如:Dim Sum As IntegerFor i As Integer = 1 To 100Sum = Sum + iNext Output.Show(Sum)For.Next语句常常

51、用于遍历数组或集合,例如下面的代码,定义一个数组,然后给每个数组元素设置值:Dim Values(100) As IntegerFor Index As Integer = 0 To Values.Length - 1Values(Index) = Index * 2Next 再例如下面的代码,首先定义一个字符型集合,接着向集合加入一些值,最终利用For.Next语句列出集合中全部的值:Dim Values As New List(Of String)Values.Add(北京市)Values.Add(上海市)Values.Add(天津市)For i As Integer = 0 To Val

52、ues.Count -1Output.Show(Values(i)Next 我们可以用Step语句将步长设为负值,这样可以倒序来执行,例如:For i As Integer = 100 To 1 Step -1Output.Show(i)Next在吩咐窗口执行下面的代码,会得到:100999897.321For Each 语句For Each 语句用来遍历一个集合或数组的全部成员 ,语法为:For Each 循环变量 In 集合代码Next针对集合中每一个成员执行代码;语句中的循环变量,其数据类型必需和集合成员的类型相同。如下面的代码,首先定义一个字符型集合,接着向集合加入一些值,最终利用Fo

53、r Each语句列出集合中全部的值:Dim Values As New List(Of String)Dim Value As StringValues.Add(北京市)Values.Add(上海市)Values.Add(天津市)For Each Value In ValuesOutput.Show(Value)Next 你可以干脆在For语句中声明循环变量,语法为:For Each 循环变量 As 变量类型 In 集合代码Next此时循环变量只能在循环代码中运用,例如:Dim Values As New List(Of String)Values.Add(北京市)Values.Add(上海市

54、)Values.Add(天津市)For Each Value As String In ValuesOutput.Show(Value)Next For Each 语句,同样支持Exit For和Continue For。例如下面的代码,检查集合中的每一个值,假如是北京市,则接着下一次循环,假如是重庆市,则提示“找到了”,并退出循环;假如是其它值,则显示该值:Dim Values As New List(Of String)Values.Add(北京市)Values.Add(上海市)Values.Add(天津市)For Each Value As String In ValuesIf Valu

55、e = 北京市 ThenContinue forElseIf Value = 重庆市 ThenOutput.Show(找到了!)Exit ForEnd IfOutPut.Show(Value)Next 事实上,For Each语句不仅可以用来遍历集合,还可以遍历数组,例如:Dim Names As String() = 日期,客户,雇员For Each Name As String In NamesOutput.Show(Name)Next上面的代码等效于:Dim Names As String() = 日期,客户,雇员For i As Integer = 0 To Names.Length

56、-1Output.Show(Names(i)Next用何种方式,看各人喜好,我个人更喜爱前者。Do.Loop语句Do.Loop语句比For.Next语句更加敏捷,因为它既可以在循环的起先,也可以在循环的结尾测试条件。Do.Loop语句有两种形式,分别为:Do While 条件代码Loop 和:Do代码Loop While 条件两者的差别是其次种形式会至少执行一次代码,因为它是在执行完代码后再比较条件,而第一种形式是先比较条件,条件符合再执行代码。例如,求 1 + 2 + 3 +. + 100的和:Dim Sum As IntegerDim i As Integer = 1Do While i

57、= 100Sum = Sum + ii = i + 1LoopOutput.Show(Sum)留意,For.Next中,计数器变量是依据步长设置自动增加的,而在Do.Loop中,须要自行编写代码来变更计数器变量的值(粗体代码部分),否则程序将处于死循环之中。假如要累加1到100之间的偶数,那么代码应当是:Dim Sum As IntegerDim i As Integer = 2Do While i = 100Sum = Sum + ii = i + 2LoopOutput.Show(Sum)在循环过程中,假如提前退出循环,可以用Exit Do语句,例如:Dim Sum As IntegerD

58、im i As Integer = 1Do While i 50 ThenExit DoEnd IfLoopOutput.Show(Sum)上面的代码事实上只是求得1到50的累计值,因为在i大于50的时候退出了循环。假如在满意指定条件的时候,不执行循环代码,而是干脆进行下一次循环,可以用Continue Do语句,例如对于下面的代码:Dim Sum As IntegerDim i As Integer = 0Do While i 100i = i + 1If i Mod 2 = 0 ThenContinue DoEnd IfSum = Sum + iLoopOutput.Show(Sum)上面

59、的代码累加了1到100之间的奇数,因为遇到偶数,就干脆进行下一次循环,而没有累加到变量Sum中。累加1到100之间的奇数,更合理的方法是:Dim Sum As IntegerDim i As Integer = 1Do While i 100Sum = Sum + ii= i + 2LoopOutput.Show(Sum)循环变量i的初始值为1,每次循环之后,i的值加2。With.End With该语句可以用来简化代码,With之后紧跟一个对象,在With和End With之间,可以用圆点符号“.”代替“变量.”。例如:Dim StartDate As Date = Date.TodayWith StartDateOutput.Show(年: & .Year)

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!