




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持 写给初学者 如果你是初次接触编程,那么我们给你几个非常重要的建议: 一、凡事就怕不敢入门 虽然 Foxtable 看上去比易表难了一些,但是只要你静下心来看帮助,你会发现其实并没有难到 哪去,深入之后,你也许会觉得更容易。 凡事就怕不敢入门,一旦入门就会觉得:不过如此嘛! 二、不要尝试去记住一切 学习编程的重点,不是记住什么,而是要了解每一段示例代码的原理和逻辑。 要知道,优秀的程序员之所以优秀,绝不是因为他们记住了什么, 他们和你我一样, 需要不停地 借助帮助文件。 三、不要急于求成 磨刀不误砍柴工,心急也吃不得热豆腐。 帮助文件
2、非常详细, 提供了大量的示例, 内容也是循序渐进的, 只要你多点耐心, 就一定能掌握。 有的用户只是粗略地看了一次帮助, 连基本的概念都没有掌握, 就开始开发系统, 结果往往是事 倍功半。 四、实践出真知 要想全面、深入地掌握 Foxtable ,在学习初期,应该将帮助中的示例全部实际操作一次,以便 加深印象。 学习的后期,可以自己尝试写一写代码进行测试,特别是有疑惑的地方。 五、三人行必有我师 如果你在学习和应用的过程中遇到难题,自己无法解决,可以访问 Foxtable 社区。 在寻求帮助的同时,也别忘记帮助他人,让我们一起进入 Foxtable 编程的奇妙天地,一起来提 高吧。 Foxta
3、ble 社区地址: 最重要的两章 Foxtable 的开发篇非常庞大,其中最重要的有两章,分别是编程基础和 Foxtable 编程。 这两章既是基础,又是精华,可以说掌握了这两章的内容, 剩余的内容都是“小菜”, 因为开发 篇除这两章之外的内容,基本上都是参考性质,在学习的过程中, 只需做到有所了解即可, 在实 际开发的时候再来查阅。 所以我们在学习开发篇的时候,应该在这两章花上最多的精力,特别是 Foxtable 编程这一 章,要反复看,细致看,多实践,只有基础打好了,才能融会贯通,才能在开发过程中做到游刃 有余。再好的程序员,也不能保证自己的代码和设置100%正确,肯定要反复调试,才能最终
4、达 到目标。 一些错误可能直到运行的时候才被发现,普通的错误没关系, 重新修改代码和设置即可; 不过有的错误可能非常严重,以致每次打开项目文件时, Foxtable 就会崩溃退出,或者无法正 常进入操作界面;怎样才能回到正常的操作界面,给开发者提供更改错误的机会呢? 很简单,首先按住Ctrl键,然后打开岀现错误的项目文件,直到项目文件被完全打开,再松开 Ctrl键即可。如果打开的过程中岀现了登录窗口,先松开Ctrl键,选择以开发者身份登录,输 入密码,然后重新按住Ctrl键,单击登录窗口的确定按钮,直到项目文件被完全打开,再松开 Ctrl 键。 以这种方式打开的项目文件: 1、不会执行用户代码
5、。 2、外部表不会加载数据,只加载结构。 3、系统菜单将代替用户菜单。 在修改错误代码和设置后,重新打开项目文件 提示:如果你确认你的代码没有问题,但是还是岀现莫名其妙的错误,可以尝试先删除项目目录 下的子目录 Catch,然后重新打开项目。FoxTable使用的编程语言是 Visual Basic,即使您完 全没有接触过编程,也不用担心,因为Foxtable使用的只是 Visual Basic中很少的一部分,大 多数人都可以在短时间内掌握。Visual Basic近似于自然语言,不区分大小写,非常适合普通 用户学习使用,这就是我们选择Visual Basic作为用户二次开发语言的原因。Vis
6、ual Basic 编 程是面向对象的,而面向对象的编程,就离不开属性、方法和事件。程序开发的任务,就是根据 用户的动作与要求来设置属性、执行方法和响应事件。那么什么是属性、方法和事件呢?我们暂 不讲编程,先来一个现实生活的例子,例如对于一辆汽车来说: 1、品牌、型号、颜色、座椅个数、发动机排量等等,就是汽车的属性。 2、启动、熄火、转弯、刹车就是汽车的方法,汽车通过执行这些方法来完成日常工作。 3、 为什么踩油门会加速,而踩刹车会减速?这是因为驾驶员的每一个操作,都会被当作一个“事 件,并通过传感装置通知到汽车的控制系统。再来看Foxtable中的表,表名、行数、列数就 是它的属性;增加行、
7、删除行就是它的方法;而执行方法,又会引发对应的事件,通知系统某个 表已经增加了一行、已经删除了一行。任何你在Foxtable中所看到的,包括表,行、列,窗口、 菜单等等,都可以看作是一个对象,有自己的属性、方法和事件。 甚至简单到一个数据,也可以看作是一个对象,也会有自己的属性、方法;例如一个字符串,它 也有自己的属性,例如长度,还有自己的方法,例如替换、插入、大小写转换等等。 数据类型 Visual Basic有以下数据类型: 数据类型 说明 Stri ng 任意个数的字符,常称为字符串。 Date 日期时间 Boolea n 逻辑值,逻辑值就两个,分别是True(是)和False(否)。
8、Byte 微整数,介于 0到255之间的微整数 Short 短整数,介于2768至U 32767之间的短整型 n teger 整数,介于 -48到47之间的整数。 Lo ng 长整数,值的范围为-808到807 o Si ngle 单精度小数,单精度小数,有效数字为7位。 Double 双精度小数,有效数字为15位。 Decimal 高精度小数,有高达 28位的有效数字,适用于要求使用大量有效的整数及小数位 数并且没有舍入错误的财务计算。 Object 通用型,可存放任何类型的数据。 数值类型较多,一般情况下,小数用Double型,整数用Integer型即可,如果整数范围较大,可 以用 Lon
9、g 型。我们最常用的数据类型是: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) o 声明变量 变量用来在执行代码的过程中临时存放数据,要使用一个变量,必须先声明它。 声明一个变量,就是要指定变量的名称和它的数据类型。 声明变量的语法是: Dim变量名As数据类型 例如:Dim NameAs String 表示
10、声明了一个新的String(字符串)型变量,变量名为Name。 再例如:Dim riqi As Date 表示声明了一个新的Date(日期)型变量,变量名为riqi ”。 可以在定义变量的同时指定其初始值,例如: Dim Name As String = foxtable 表示声明了一个新的String(字符串)型变量,变量名为Nam6,初始值为foxtable ”。 可以在同一行定义多个变量,前提是这些变量的类型相同,变量名之间用逗号分割,例如: 3文档来源为:从网络收集整理.word版本可编辑 文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 Dim Val1 ,Val
11、2 As Integer Dim Str1 ,Str2 As String 上面的代码,定义了两个整数型变量 Val1 、 Val2 ,以及两个字符型变量 Str1 、 Str2 。提示:上 面出现的彩色字符,是 Foxtable 的代码编辑器自动加上去的,只是为了便于阅读,并无特殊的 意义。 关于变量名 变量名称必须以字符或者下划线 ( _ ) 开始,而且至少应该包括一个字符或者数字。 变量名不能包含除下划线 ( _ ) 之外的符号和空格。变量名也不能是关键词,所谓关键词,就是 对Visual Basic 有特殊意义的单词,例如上面的Dim、As。关键词有几百个,你很难全部记住 的,但你只要
12、记住一点, 如果输入代码, 单击“确定” 按钮后, 提示“关键词作为标识符无效! ” 那么就表明你可能用关键词作为变量名了。 圆点符号 任何对象的方法和属性,都必须通过圆点符号才能调用和访问,例如: Dim d As Date Dim i As Integer i = d.Month d = d.AddDays( 36) 日期型数据有一个属性Mo nth,用于返回该日期的月份,我们通过圆点符号来访问该属性: i = d.Month现在变量 i 的值等于日期 d 的月份。 日期型数据有一个 AddDays方法,用于给日期加上指定的天数,并返回新的日期,我们同样通过 原点符号调用这个方法: d =
13、 d.AddDays( 36) 现在变量d等于原日期加上 36天后的新日期。上面的属性和方法我们会在后续章节介绍,你现 在只需了解圆点符号的用法即可。 共享成员 例如我们定义了一个日期变量d,那么通过该变量的 Mon th属性可得到其月份值: Dim d As Date = #12/31/2008# Dim i As integer = d.Month 上面的代码通过 Month 属性获得日期型变量 d 的月份值,并保存在整数型变量 i 中。 Mo nth属性和具体的日期变量相关,不同的日期变量,Mon th属性返回不同的值;事实上,绝大 多数属性,都和 Month 属性一样,是和具体变量相关
14、的。但是有一些属性是不同的,它不是通过 变量,而是通过类型名称访问,例如要得到今天的日期值: Dim d As Date d = Date .Today 上面的代码将今天的日期值保存在变量 d 中。请注意用于返回当天日期值的 Today 属性, 它不属 于任何一个日期型变量,而是属于日期类型Date ,我们直接通过 Date 类型来访问这个属性。 这很好理解, Today 这个属性返回的是今天的日期值,和具体的日期变量无任何关系。我们将这 种直接通过类型名称访问的属性, 称为共享属性。 同样直接通过类型名称执行的方法, 称为共享 方法。在这里,共享的意思就是:大家共用的,不属于某个具体变量的。
15、 命令窗口 这一节并不是 Visual Basic 的内容,但是为了便于我们接下来的学习,我们有必要先插入这么 一节。我们在学习的过程中,会接触到大量的示例代码, 有时我们有必要通过执行示例代码, 来 加深印象、解除疑虑。命令窗口可以直接输入并执行代码。 执行代码 在“杂项”功能区,单击下面的按钮,可以打开命令窗口: 命令窗口右下角有一个“执行”按钮,用于执行你输入的代码: 查看执行结果 Foxtable提供了一个 Output类型,该类型有一个共享方法Show,用于在命令窗口显示信息。 例如将下面的代码复制到命令窗口执行: Dim i1 As Integer = 1 Dim i2 As In
16、teger i2 = i1 * 2 Output.Show(i2) Output.Show 显示的信息,位于命令窗口的信息显示区,具体位置请看下面的图片: 重要特性 命令窗口为非模式窗口,可以在不关闭命令窗口的情况下,继续进行其它操作,例如编辑数据、 执行菜单命令等等。 命令窗口的辅助功能 词汇 : 对于初学编程的人来说,记住 Integer 、 Double 、 String 这些单词不是一件很容易的事, 英文基础差的用户更甚。不过没关系, 命令窗口的词汇页, 列出了所有的常见词汇, 双击某个词 汇,即可自动输入该词汇: 字段 在编写代码的时候,要记住所有的表名和列名,几乎是一个不可能的任务
17、。 其实完全不需要为此担心, 命令窗口的字段页列出了所有表的字段(列) ,双击即可自动插入字段 名。 你还可以选择插入的字段名是否用双引号或单引号括起来,还是不需要任何引号。 帮助 命令窗口的帮助页内置了整套帮助文档,可以让大家更便捷地获得帮助。 不过我个人不太喜欢这个内置的帮助,我觉得独立的帮助文档使用起来更方便。 命令窗口的自动输入功能 在命令窗口输入: Dim x As d 然后按 Tab 键,将列出所有以 d 开头的类型供选择: 按上下箭头键移动光标,可以选择类型,将光标移到Date ,按回车即可输入类型Date: 回车后,按下图所示输入X.,然后按Tab键,系统会自动判断岀变量x为日
18、期型,然后列岀日 期类型所有的方法和属性供选择: 选择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 开头的属性和方法: 显然手工输入能记住的开头字符,可以更加快速的定位所需要
19、的成员。 目前介绍的是命令窗口 ( 代码编辑器 )的基本功能,其它功能,我们会随着学习的深入逐个介绍。 可以看到,在 Foxtable 中编写代码,并不需要死记的,不仅可以自动输入类型、属性和方法, 甚至连帮助都是自动显示的。 自动全角转换和着色 可以 代码 ,即可 在默认的情况下, 代码编辑器会自动将全角字符转换为半角, 如果你不喜欢这种强制转换, 在第一行代码输入: 。 例如: Dim s1 As String s1 = 我喜欢 Foxtable ,因为 . Output.Show(s1) 此外编辑器会用不同的颜色标出各种关键词, 以及表名和列名, 如果你的电脑性能不太好, 又比较长, 这
20、种代码自动着色的功能会耗费较长的时间, 此时你只需在第一行输入 . 关闭自动着色。 例如: Dim s1 As String s1 = 我喜欢 Foxtable ,因为 . Output.Show(s1) 如果你希望同时关闭全角转换和着色,只需在第一行输入 例如: Ill Dim s1 As String s1 = 我喜欢 Foxtable, 因为 . Output.Show(s1) 代码注释 给代码的关键位置加上注释,是一个很好的习惯。 注释以符号 开始,通常是单独一行,或者位于某一行代码之后 如果注释和代码在同一行,注释和代码之间应该至少有一个空格。 注释不会对代码的运行有任何影响。 例如
21、: 下面的代码用于测试 Month 属性,请复制到命令窗口执行 Dim d1 As Date 定义变量 d1 d1 = #12/31/2008# 给变量赋值 Output . Show( d1. Month ) 在命令窗口显示月份 太多 上面的代码只是为了说明如何加注释, 实际使用的时候, 只需给关键的位置加上注释即可, 的注释,反而会影响代码的可读性。 在代码编辑窗口,注释的颜色为灰色。 字符常量 字符型常量用双引号括起来,例如: Dim s As String s = NBA 等效于: Dim s As String = NBA 表示定义一个字符变量 s ,并将 s 的值设为“ NBA”。
22、 可以在定义变量的时候,设定该变量为指定个数的某字符组成,语法为: 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 或: -rAi Dim s As String 不过假定你要将变量设置为 100 个空格或 100 个符号 * ,此时用 Ne
23、wString 赋值显然要简洁得多 如果字符串中本身包括双引号,那么用每两个双引号表示一个双引号。 将下面的代码复制到命令窗口执行: Dim s1 As String = 利马是有名的 无雨之都 Output.Show(s1) 你会发现 s1 的值为:利马是有名的 无雨之都 日期常量 日期型常量必须包括在符号 #之间,格式为: #月/ 日/年 # 例如: Dim d1 As Date = #12/31/2008# 等效于: Dim d1 As Date d1 = #12/31/2008# 表示定义一个日期变量 d1 ,初始值为 2008 年 12 月 31 日。 下面是另一种定义日期变量的语法
24、: Dim 变量名 As New Date( 年 , 月, 日 ) 例如: Dim StartDate As New Date ( 2008, 12, 31) 同样表示定义一个日期变量 StartDate ,初始值为 2008 年 12 月 31 日。 New Date 表示创建一个新的日期,既然是创建一个日期,当然得指定年、月、日。 New Date 是可以单独使用的,例如: Dim StartDate As Date StartDate = New Date(2008,12,31) 变量值设为 2008年12月31日 Output.Show(StartDate) 这一行代码: StartD
25、ate = New Date( 2008, 12, 31)等效于:StartDate =#12/31/2008# 逻辑常量 逻辑常量值就两个,分别为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 是不成立的, 而 12 是成立的。逻辑变量的默认初始值为
26、False ,所以变量 v4 的值等于 False ,而变量 v3 的值显然 等于 True 。 枚举 枚举就是一组有名称的整数,例如星期一、星期二、星期三 ,就可以看作是枚举,因为他们 实际上代表着一个整数, 这个整数表示这一天是该星期的第几天。 程序中的枚举, 通常用于选项 设置,选项通常是一些整数, 0、1、2 表示不同的设置,为了提高程序的可读性,我们用一些更 具描述性的字符型名称来代替这些整数, 这些代表着不同整数的名称, 就是枚举。 例如在列属性 设置中,有一个名为“中文输入”的属性,它就是一个枚举类型,包括三个值,分别是: Default :保持当前输入法状态不变 True :
27、自动打开中文输入法 False : 自动关闭中文输入法 显然,对于用户来说,用 Default 、 True 、 False 表示不同的设置,比用 0、1、2 表示不同的设 置,要容易理解得多。关于枚举,你现在只需要了解这么多,今后我们会接触到更具体的枚举类 型,那时你会觉得枚举其实是很容易理解的。 数组 数组是同一数据类型的一组变量的集合。定义数组语法为: Dim 数组名 (索引上限 ) As 数据类型 例如: Dim Names(3) As String 表示定义了一个字符型 (String) 数组,数组名为“ Name”s ,数组的索 引从 0 开始,所以该数组包括 4 个字符型变量(我
28、们称之为数组元素),分别是: Names(0), Names(1), Names(2), Names(3) 数组有一个 Length 属性,用于返回数组的长度。 下面是一段完整的代码,用于测试数组的基本特性,请复制到命令窗口执行: 10文档来源为 :从网络收集整理 .word 版本可编辑 . 文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 Dim Names 3) As String Names (0)=杨国辉 Names (1)=柯迎 Names (2)=陈绍月 Names (3)=朱志欣 Output . Show( Names 1)在命令窗口显示第二个数组元素的值。
29、 Output . Show( Names.Length )在命令窗口显示数组的长度。 可以在定义数组的时候,直接给数组元素赋值,例如: Dim Values () As In teger = 1 ,3,5 上面的代码定义了一个整数型数组,数组包括三个元素,分别是1、3、5。 再例如: Dim s1() As String = 中国,美国,日本,俄罗斯 上面的代码定义了一个字符型数组,数组包括四个元素。 如果采用直接赋值的方式定义数组,不需要指定数组的索引上限,此时索引上限由值的个数确定。 可以在定义数组之后,再给数组批量赋值: Dim s1 () As Str ing s1 = New St
30、ring () 中国,美国,日本,俄罗斯 隹合 集合 集合类似于数组,但是比数组更为灵活,定义集合的语法是: Dim集合名称 As New List(Of 数据类型) 例如: Dim Names As New List(Of String ) 表示定义了一个字符型 (Stri ng) 集合,集合的名称为Names 集合的成员包括: 名称 类型 说明 Add 方法 向集合中增加一个值 In sert 方法 向集合的指定位置插入一个值 Remove 方法 删除指定的值 RemoveAt 方法 删除指定位置的值| Contains 方法 判断集合中是否包括某个值 AddRa nge 方法 批量增加多
31、个值 Cou nt 属性 返回集合中值的个数 一旦定义了集合,我们就可以用Add方法向其中添加值,例如: Names.Add(电视机) Names.Add(“ 电冰箱) Names.Add(洗衣机) 可以用Remove方法删除指定的值,例如: Names.Remove(电视机) 可以用RemoveAt删除指定位置的值,例如: Names.RemoveAt(O) 表示删除第一个值。 还可以用Insert方法将值插入到指定位置,例如: Names.Insert( 0,电视机) 可以用Contains方法判断集合中是否包括某一个对象,例如: If NamesContains (电视机)=False
32、Then NamesAdc(电视机) End If和数组一样,我们通过索引来引用集合中指定位置的值,例如: Names(0) Names(1) 当然也可以改变指定位置的值,例如: Names(0)= 微波炉 可以用集合的 Count属性返回集合中值的个数:Names.Count 下面是一段完整的代码,用于测试集合的基本特性,请复制到命令窗口执行: Dim NamesAs New List (Of String ) Names Add(电视机) Names Add(电冰箱) Names Adc(” 洗衣机) Names Remove电视机) If Names Con tai ns (电视机)=F
33、alse The n 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 Stri ng) Dim s2 As New List (of String ) s1.AddRange(v1)将数组中的元素全部加入到集合中
34、 s2.AddRange(s1)将集合s1中的元素全部加入到集合s2中 字典 Dicti onary表示键与值的集合,俗称字典。定义一个字典的语法是: Dim变量名 As New Dictionary(Of 键类型,值类型) 例如: Dim zd As New Dictionary (Of Integer , String ) 表示定义了一个字典zd,键的类型是整数型(In teger),值的类型是字符型(Str ing) 键和值可以是任何类型,例如: Dim zd As New Dictionary (Of String , Date) 字典的成员包括: 名称 类型 说明 Add 方法 将指
35、定的键和值添加到字典中 Remove 方法 移除指定的键和值 Clear 方法 清除所有的键和值 Contain sKey 方法 判断是否包含指定的键 Con tai nsValue 方法 判断是否包括指定的值 Cou nt 属性 返回字典中键/值对的数目 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
36、及其对应的值 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 Ea
37、ch v As String In zd. Values 显示所有值 Output . Show( v) Next zd.Clear 清除所有的键和值 算术运算符 运算符 说明 + 加 - 减 * 乘 / 除,例如:12/8,等于1.5 整除,只返回结果的整数部分,例如:128,等于1 A 指数运算,例如:2A3,表示2的3次方,等于8 Mod 取模,例如:10 Mod 3,表示10除以3的余数,等于1 请将下面的代码复制到命令窗口执行: Output.Show( 12/8)测试除法 Output.Show(128) 测试整除 Output.Show( 12 Mod 8)获得余数 Output
38、.Show(2A4)指数运算 关系运算符 运算符 说明 = 等 不等于 大于 = 大于等于 = 小于等于 逻辑运算符用于连接两个条件表达式,根据左右表达式的计算结果,返回一个新的逻辑值 运算符 说明 And 逻辑与,如果左右表达式的值都为True,则返回True,否则返回False An dAlso 逻辑与,如果左右表达式的值都为True,则返回True,否则返回False Or 逻辑或,如果左右表达式的值至少有一个True,则返回True,否则返回False OrElse 逻辑或,如果左右表达式的值至少有一个True,则返回True,否则返回False Not 逻辑非,如果后边的表达式为Tr
39、ue,则返回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
40、3) False Dimv4 AsBoolean= (1 3)True Dimv5 AsBoolean= (v1 AndAlso v4) True Dimv6 AsBoolean= (v2 OrElse v3) False 字符串连接符 运算符&来连接字符串,例如: Dim s As String s = abc & 123 s 的值将是abc123 &可以用来连接任何数据,例如日期型、数值型,在连接之前会自动将非字符型的数据转换为字 符型。 例如在命令窗口输入并执行下面的代码,即可显示当天的日期: Output.Show(今天是:& Date .Today) 需要注意的是,&运算符前后必须有
41、空格,将下面的代码复制到命令窗口执行: 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)&运算符前后有了空格,可以正常执行了 的任何一个字符 方括号中的字符列表,可以使用连字符(-)将范围的上下限分开,例如a-e表示字母a到e 中的任意一个,a-z就表示任意一个字母,而0-9表示任意一数字。将
42、下面的代码复制到命令 窗口执行,请留意注释和执行结果: 任意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) 匹配 任意一个字母, 随后是两个数字
43、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 代码
44、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 ,条件
45、 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 的值,执行看看会得到什么结果。 18文档来源为 :从网络收集整理 .word 版本可编辑 文档来源为 :从网络收集整理 .word
46、版本可编辑 .欢迎下载支持 条件拦截: 在多分支形式下,即使多个条件成立, 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 的时
47、候,第一个条件 (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,依次类推,如
48、果不等于已 经列出的任何值,则执行代码 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、
49、 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 =
50、 E Case 41 To 60 Result = D Case 61 To 70 Result = C Case 71 To 90 Result = B Case 91 To 100 Result = A End Select OutPut.Show(Result) Select Case 语句可以对各种数据类型的变量进行比较,包括字符型、日期型、逻辑型、各种数 值型,例如下面使用字符型变量: Dim Value As String = A Dim Result As String Select Case Value Case E Result = 低于 20 分 Case D Result
51、 = 低于 60 分 Case C Result = 低于 80 分 Case B Result = 低于 90 分 Case A Result = 超过 90 分 Case Else Result = 无效值 End Select Output.Show(Result) For.Next 语句 For.Next 语句是循环语句的一种,可以将一段代码重复执行设定的次数,语法为: For 计数器变量 = 初始值 To 终止值 Step 步长值 代码 Next 每执行一次代码,计数器变量就加上步长值,然后再次执行代码,直到计数器变量超过终止值。 实际使用的时候,如果步长为1,可以省略 Step 语
52、句。 例如,求 1 + 2 + 3 +. + 100的和: Dim Sum As Integer Dim i As Integer For i = 1 to 100 Sum = Sum + i Next Output.Show(Sum) 如果要累加 1 到 100 之间的偶数,那么代码应该是: Dim Sum As Integer Dim i As Integer For i = 2 To 100 Step 2 Sum = Sum + i Next Output.Show(Sum) 在循环过程中,如果提前退出循环,可以用 Exit For 语句,例如: Dim Sum As Integer D
53、im i As Integer For i = 1 To 100 If i = 51 Then Exit For End If Sum = Sum + i Next OutPut.Show(Sum) 上面的代码实际上只是求得 1 到 50 的累计值,因为在计数器变量 i 等于 51 的时候 , ,程序退出 了循环。如果符合特定条件的时候, 不执行循环代码, 而是直接进行下一次循环, 可以用 Continue For 语句,例如对于下面的语句: Dim Sum As Integer Dim i As Integer For i = 1 To 100 If i Mod 2 = 0 Then Con
54、tinue For End If Sum = Sum + i Next Output.Show(Sum) 上面的代码累加了 1 到 100 之间的奇数, 因为碰到偶数, 就直接进行下一次循环, 而没有累加到 变量Sum中。你可以直接在 For语句中声明计数器变量,语法为: For 计数器变量 As 数据类型 = 初始值 To 终止值 Step 步长值 代码 Next 此时计数器变量只能在循环代码中使用,例如: Dim Sum As Integer For i As Integer = 1 To 100 Sum = Sum + i Next Output.Show(Sum) 22文档来源为 :从
55、网络收集整理 .word 版本可编辑 . 文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 For.Next语句经常用于遍历 数组或集合,例如下面的代码,定义一个数组,然后给每个数组 元素设置值: Dim Values( 100) As Integer For Index As Integer= 0 To Values.Length- 1 Values(I ndex) = In dex *2 Next For.Next 再例如下面的代码,首先定义一个字符型集合,接着向集合加入一些值,最后利用 语句列出集合中所有的值: Dim Values As New List(OfStr
56、ing ) Values.Add(北京市”) Values.Add(上海市“) Values.Add(天津市“) For i As Integer = 0 To Values.Count -1 Output.Show(Values(i) Next 我们可以用Step语句将步长设为负值,这样可以倒序来执行,例如: For i As Integer = 100 To 1 Step -1 Output.Show(i) Next 在命令窗口执行下面的代码,会得到: 100 99 98 97 3 2 1 For Each 语句 For Each语句用来遍历一个集合或数组的全部成员,语法为:For Eac
57、h循环变量In集合 代码 Next 针对集合中每一个成员执行代码;语句中的循环变量,其数据类型必须和集合成员的类型相同 如下面的代码,首先定义一个字符型集合,接着向集合加入一些值,最后利用 For Each 语句列 出集合中所有的值: Dim Values As New List(Of String ) Dim Value As String Values.Add( 北京市 ) Values.Add( 上海市 ) Values.Add( 天津市 ) For Each Value In Values Output.Show(Value) Next 你可以直接在 For 语句中声明循环变量,语法为
58、: For Each 循环变量 As 变量类型 In 集合 代码 Next 此时循环变量只能在循环代码中使用,例如: Dim Values As New List(Of String ) Values.Add( 北京市 ) Values.Add( 上海市 ) Values.Add( 天津市 ) For Each Value As String In Values Output.Show(Value) Next For Each 语句,同样支持 Exit For 和 Continue For 。 例如下面的代码,检查集合中的每一个值,如果是北京市,则继续下一次循环,如果是重庆市, 则提示“找到了
59、”,并退出循环;如果是其它值,则显示该值: Dim Values As New List(Of String ) Values.Add( 北京市 ) Values.Add( 上海市 ) Values.Add( 天津市 ) For Each Value As String In Values If Value = 北京市 Then Continue for ElseIf Value = 重庆市 Then Output.Show( 找到了! ) Exit For End If OutPut.Show(Value) Next 实际上, For Each 语句不仅可以用来遍历集合,还可以遍历数组,例如
60、: Dim NamesAs String () = 日期, 客户 , 雇员 For Each NameAs String In Names Output.Show(Name) Next 上面的代码等效于: Dim NamesAs String () = 日期, 客户 , 雇员 For i As Integer = 0 To Names. Length - 1 Output.Show(Names(i) Next 用何种方式,看各人喜好,我个人更喜欢前者。 Do.Loop 语句 Do.Loop 语句比 For.Next 语句更加灵活,因为它既可以在循环的开始,也可以在循环的结 尾测试条件。 Do.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 导游服务礼仪培训
- 课件模板治愈系文案
- 硬件设计培训课件
- 非凡中国:成就与展望
- 遗憾的过客课件
- 儿童行为密码解析课件大纲
- 美术连环漫画课件
- 课件最短路径
- 课件最后照片
- 广东婚姻法自考试题及答案
- 营造清朗空间+课件-2025-2026学年(统编版2024)道德与法治八年级上册
- saas货运管理办法
- excel操作考试题及答案
- 2025新疆生产建设兵团草湖项目区公安局面向社会招聘警务辅助人员考试参考试题及答案解析
- 《涉外法治概论》课件 杜涛 -第1-6章 涉外法治的基础理论-涉外经济管理法律制度
- 2026届广东省广州市高三上学期8月调研考试语文试题(含答案)
- 江苏省南通市如皋市2025-2026学年高三上学期开学考试数学试卷
- DBJ51T 196-2022 四川省智慧工地建设技术标准
- 剪映入门教程PPT
- 律师事务所合同纠纷法律诉讼服务方案
- 高标准农田建设项目施工组织设计 (6)
评论
0/150
提交评论