版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/第二章:事件、属性与数据类型以后两章可能会比较枯燥,但不可否认也很重要,所以为了学好VB,我们一定要打好基础才行。一、事件通过上一章的例子,你可能对“面向对象的编程”已经有了一定了解,它是由事件驱动的,对于不同的对象,所能感应到的事件也会不同,譬如说当你把鼠标移进某一区域时就会触发MouseMove事件,这很直观,也容易理解,但也有些事件比较抽象,下面我来对一般的事件进行一下解释。窗体和图象框类事件
Paint事件:当某一对象在屏幕中被移动,改变尺寸或清除后,程序会自动调用Paint事件。注意:当对象的AutoDraw属性为True(-1)时,程序不会调用Paint事件。
Resize事件:当对象的大小改变时触发Resize事件。
Load事件:仅适用于窗体对象,当窗体被装载时运行。
Unload事件:仅适用于窗体对象,当窗体被卸载时运行。
2.当前光标(Focus)事件
GotFocus事件:当光标聚焦于该对象时发生事件。
LostFocus事件:当光标离开该对象时发生事件。注意:Focus英文为“焦点”、“聚焦”之意,最直观的例子是,比如有两个窗体,互相有一部分遮盖,当你点下面的窗体时,它就会全部显示出来,这时它处在被激活的状态,并且标题条变成蓝色,这就是GotFocus事件,而相反,另外一个窗体被遮盖,并且标题条变灰,称为LostFocus事件。上面所说的“光标”并非指鼠标指针。
3.鼠标操作事件
Click事件:鼠标单击对象。
DbClick事件:鼠标双击事件。
MouseDown、MouseUp属性:按下/放开鼠标键事件。
MouseMove事件:鼠标移动事件。
DragDrop事件:拖放事件,相当于MouseDown、MouseMove和MouseUp的组合。
DragOver事件:鼠标在拖放过程中就会产生DragOver事件。
4.键盘操作属性
KeyDown、KeyUp事件:按键的按下/放开事件。
KeyPress事件:按键事件。
5.改变控制项事件
Change事件:当对象的内容发生改变时,触发Change事件。最典型的例子是文本框(TextBox)。
DropDown事件:下弹事件,仅用于组合框(ComboBox)对象。
PathChange事件:路径改变事件,仅用于文件列表框()对象。
6.其他事件
Timer事件:仅用于计时器,每隔一段时间被触发一次。二、属性
每个对象都有它的属性,并且“Name”属性是共有的,有了“Name”属性才可以在程序中进行调用。对于属性,可以在窗体的布局操作中完成,也可以在程序运行中改变,这取决你的需要,但有些属性是只读的,它只能在控件布局时改变。我将在以后的实例中具体介绍各个属性的作用。三、数据类型学过编程的人都知道大多数的计算机语言都规定了各自的数据类型,VB也不例外。其实,在一个最简单的程序中数据类型是可以不作规定的,也就是说,变量可以使用各种类型,但是在一个复杂的程序里,这样做就很危险,因为很可能给同一个变量赋予了不同的类型,而导致程序出错。所以,为了程序的严谨和便于查看,正确的定义数据类型是必要的。定义数据的另一个原因是,不同的数据占用不同的内存数量,譬如整型(Interger)数据占2字节,而长整型数据占4个字节,定义合适的数据类型,不管你相信不相信,它可以节省内存!VB常用的数据类型有:整型(Integer,表示-32768至32767之间的整数)、长整型(Long,表示-2,147,483,648至2,147,483,647之间的整数)、实型(Single,表示-3.37E+38至3.37E+38之间的实数)、双精度实型(Double,表示-1.67E+308至1.67E+308之间的实数),字符(String,每个字符占一字节,可以储存0~65,535个字符),布尔(Boolean,只有两个值True/-1,或False/0)。数据类型的定义方法:
定义变量最简单的方法是用“Dim”关键字,它的语法:Dim【变量名】As【数据类型】如:DimIndexAsInteger也可以在一行中定义多个变量,如:DimIndexAsInteger,DimNumberAsLong把多个变量定义成同一类型可以写成:DimIndex,NumberAsInteger更可以在定义时进行初赋值:DimIndex=3有时为了简便,也以符号进行简单的定义,作用是和上面一样的。整型可以用“%”代替,长整型可以用“&”代替,实型可以用“!”,双精度实型可以用“#”定义,如刚才的第一个例子可以写成:DimIndex%等价于DimIndexAsInteger
对于常量的定义用Const定义,如:ConstCOLOR=255。为了在程序中便于查阅,我们对变量和常量的写法进行规定,变量一般用小写方式,常量则全部大写。注意:使用常量的好处,对于程序中经常出现的数值,应设常量等于它,这样一是书写方便,其二,如果要改变该数值,只需改变定义常量的语句值,而不需改变每个语句,提高了效率。
数组的定义类似于变量定义,所不同的是数组需要指定数组中的元素个数,例如:DimIntegerArray(99)AsInteger这个数组中包含100个元素,脚标从0到99。也可以指定脚标的起始值,例如:DimIntegerArray(2to10)AsInteger这个数组含有九个元素,脚标从2到10。还可以定义多维数组:DimThreeD(4,2to5,3to6)AsInteger上例定义了一个三维数组(4×4×4)。
记录的定义记录定义是把控制权交给用户的方法,它让用户可以定义自己的数据类型,它使用关键字“Type”,方法是:Type【数据类型标识符】<域名>As<数据类型>
<域名>As<数据类型>
<域名>As<数据类型>
…………EndType例如,定义一个地址数据:TypeAddressStreetAsString
ZipCodeAsString
PhoneAsStringEndType这个地址数据里包括三个属性,街区、邮政编码和电话,可以把某数据定义成此类型:DimMyHomeAsAddress要调用或改变“MyHome”的值时,类似于对对象的属性的操作:变量名.域名=“……”为了简化书写重复的部分,可以用关键字“With”:WithMyHome.Street=”阜成路”
.ZipCode=”100037”
.Phone=”EndWith
第三章:VB语言本章提要:
VB语法与Basic的异同
注释语句
长语句的分行
条件语句
循环语句
运算操作
数据定义与赋值
函数和过程一、VB与Basic
VB之所以叫做“VisualBasic”就是因为它使用了Basic语言作为代码,所以它们之间有着千丝万缕的关系,如果学过Basic的话,看到VB的程序结构会感到很亲切。但VB作为新生物,也超越了Basic的限制,有了许多自己的特点:
VB建立了一种新的变量类型――货币型变量,通过使用仅带有二位小数的货币变量,就能避免因使用实型变量而带来的数值积累误差问题。
VB在调用函数(Function)时,必须在函数名后跟一对括号。
VB对白兰地使用范围重新做了规范,在Basic里把隐含变量都当作全局变量,而在VB里对隐含变量都当作局部变量。
VB里的说明语句(Declare),仅支持动态链结库(DLL)的子程序和无变量函数。
使用数组,必须事先用Dim或Redim进行定义。二、注释语句在使用注释语句之前必须先了解注释的作用,注释不仅仅是对程序的解释,有时它对于程序的调试也非常有用,譬如说可以利用注释屏蔽一条语句以观察变化,发现问题和错误。以后注释语句将是我们在编程里最经常用到的语句之一。在VB里,注释语句有两种,一种是用“Rem”关键字,这跟DOS里的批处理文件的用法一样,还有一种是利用单引号“’”,例如:‘DimaAsString与RemDimaAsString的作用是一致的。三、长语句的分行在比较早的版本中,因为没有象C等语言用“;”隔开语句与语句,VB的语句是必须写在一行里的,不过后来版本的VB里如许用分行符“_”把一个长语句分成若干行来存放。四、条件语句如果你学过任何一种编程的话,都会知道在程序里控制其流程的有两种语句,条件与循环,VB自然也不例外,其实不管哪种语言,条件和循环的样子都差不多,只不过各有各的规矩罢了。在条件语句里,我们先来学习“If……Then……”语句。它的一般语法是:If<条件>Then<语句>
<语句>
………EndIf与C语言不同,VB的条件语句更符合英语的语法,如果Then后面所跟的语句只有一条,可以写成:If<条件>Then<语句>而不用EndIf。有时我们还会用到If<条件>Then
<语句>
Else
<语句>EndIf更可以在Else里在嵌套If语句,如:If<条件>Then
<语句>
ElseIf
<语句>
Else
<语句>EndIf所有这些可以用一个表格表示:用了过多的Else后你会感到很不方便,而且程序结构也不清晰,所以大多数的语言还有Select语句帮助解决这个问题。VB里的Select语句的格式是这样的:SelectCase<变量名>Case<情况1>
……
Case<情况2>
……
Case<情况3>
……
……
……
CaseElse
……EndSelect例如:SelectCasea%Case1
Print“a=1”
Case2
Print“a=2”
CaseElse
Print“EndSelect五、循环语句循环结构是计算机语言里一种重要的结构,它的应用广泛,最简单的例子是累加器的作用,还可以用于穷举法,更直观的例子是把某件事重复指定的次数,这样就不用把要重复的语句输入多次,而通过循环结构完成,非常方便。C语言里有一个“for”循环语句,VB里也有“For”关键字,作用也差不多,只是VB的“For”语句更容易理解。它的格式是:For<循环变量>=<初赋值>To<终值>[Step<步长>]……
……Next<循环变量>在默认情况下,Step被设为“1”,可以省略,Step也可以设为负值,例如:Dima=0ForI=1To10a=a+INextI这是一个最简单的累加器的例子,把1到10累加在一起,然后赋值给“a”这样的效果和上面是一样的,只不过是倒着加罢了,请看:Dima=0ForI=10To1Step–1a=a+INextIWhile语句也是一个很常用的循环语句,它的形式很多。
DoWhile……Loop语句
While……Wend语句
Do……LoopWhileWhile后面都跟逻辑条件判断,“DoWhile……Loop语句”和“While……Wend语句”作用相似,都是先判断While后面的条件是否为“真”,如果为“真”则执行里面的语句,如果为“假”,则退出循环,循环直至条件为“假”终止。“Do……LoopWhile”与前两者的区别在于,它不管条件的真假,都会先执行“Do”后面的语句,也就是说,它至少执行语句一次。与While用法相似的还有Until语句,它是直至条件为真则终止循环,句式把While上述三个语句的While换成Until即可,但是因为容易记混,所以我建议只用While即可。Until<条件>可以相当于WhileNot<条件>。For循环和Whlie循环应当根据适当的环境使用,它们有时也可替换。
六、运算操作数学运算
+:加法运算,也适合于字符串的之间的合并运算。
-:加法运算。
*:乘法运算。
/:除法运算。
\:整除运算。
Mod:求余运算。例如:aModb表示a被b整除以后的余数。
^:幂运算。A^B表示以A为底的B次方。关系运算关系运算也称比较运算,它表示不等式的真或假,VB共提供六种运算符,分别是=(等于),>(大于),<(小于),>=(大于等于),<=(小于等于)和<>(不等于)。逻辑运算八、函数与过程函数与过程有许多相似的地方,它们之间最大也是最本质的区别就在于,函数有一个返回值,而过程只是执行一系列动作,所以可以简单的把函数理解成为一个变量,而VB中的每个事件都是一个过程,比如Command1_Click()就是一个过程。因为在程序设计中经常会有重复的地方,所以把它做成一个函数或一个过程,在使用时进行调用,可以节省大量的输入代码的时间,而且使用函数和过程也便于程序的结构化和修改查看。函数和过程都可以有参数,也可以没有参数。第六章输入(一)我们为什么要设计计算机程序呢,当然是为了计算机能为我们完成工作,但是要完成不同的任务,我们就必须对计算机下达命令,然后计算机在把信息返馈回来――任务是否完成。以上就是所谓的人机对话或交互功能,尤其是在Windows操作里我们需要进行更多的输入工作,我们需要填写各种各样的表格,设置程序的重要参数,把数据输入给计算机,再又它完成既定的工作就是今天我们本章要重点讨论的问题――在VB中如何建立完整的输入机制。在VB中提供了一个函数InputBox能帮助我们建立一个最简单的输入窗体,语法如下:InputBox(prompt[,title][,default][,xpos][,ypos][,help])该函数返回一个字符串表达式,其参数含义为:(“[]”表示可缺省)prompt――字符串表达式,最大长度为1024字符,窗体上的提示部分。Title――字符串表达式,显示标题栏里的文本。Default――字符串表达式,窗体中文本框的缺省值。xpos,ypos――数值表达式,以Twips为单位指定窗体出现在屏幕上的位置。helpfile――字符串表达式,是帮助文件的完整路径。Context――数值表达式,指定适合的帮助主题。可能你看了上面的说明并不明白,那么下面我们就用Input语句完成一个最简单的程序。第六章输入(二)中间有几个函数需要解释一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年绵阳市事业单位公开选调工作人员25人备考题库有答案详解
- 5G+急诊急救的响应时效优化策略
- 2025年库尔勒公共停车场服务管理有限公司招聘备考题库及1套完整答案详解
- 3D打印技术在功能区脑肿瘤手术规划中的创新
- 2025年浙江省经济建设投资有限公司招聘5人备考题库及答案详解参考
- 2025年长江财产保险股份有限公司总精算师及相关部门负责人招聘备考题库及一套参考答案详解
- 新疆医科大学2025年高层次人才引进备考题库及1套参考答案详解
- 2025年成都市双流区东升第一初级中学招聘教师备考题库及参考答案详解一套
- 2025年黄山太平经济开发区投资有限公司公开招聘高管人员备考题库附答案详解
- 2025年苏州交投新基建科技有限公司公开招聘12名人员备考题库及一套参考答案详解
- 燃气公司收费管理制度
- 运动解剖学第三版课件第十章内分泌系统
- 近视管理白皮书(2025)专家共识-
- TD/T 1032-2011基本农田划定技术规程
- 车库买卖合同终止协议书
- T/CCS 071-2023井工煤矿智能化带式输送机运维管理规范
- DB32/T 4291-2022特种设备安全监督检验研究系统纪检监察基本工作规范
- 《特异性植物的抗逆机制》课件
- 喜播教育课程故事
- 公路工程工点标准化管理指南
- 太阳能路灯采购安装方案投标文件(技术方案)
评论
0/150
提交评论