第三章VB的基本语法.ppt
《第三章VB的基本语法.ppt》由会员分享,可在线阅读,更多相关《第三章VB的基本语法.ppt(44页珍藏版)》请在三一文库上搜索。
1、第三章VB的基本语法,3.1 基本数据类型 数值型 integer long single double currency byte 字符串类型 string 日期类型 date 同时表示日期和时间 dim firstday as date firstday=#99/12/31# firstday=“99/12/31” firstday=“22:30:50”,逻辑类型 boolean 逻辑型变量的取值范围只能是true(-1)或false(0)。 Dim switch as boolean switch=true switch=-1 这两条赋值语句功能是相同。 变体类型 variant 变体型
2、变量是一种十分灵活的变量,可以保存各种类型 的数据。在定义变量中没有明确指明数据类型时,变量缺省时定义为变体类型。 dim x dim y as variant 上述两个语句都是定义一个变体变量。,对象类型 定义对象变量时,可以直接指明对象的类型。 dim obj1 as commandbutton dim obj2 as textbox 定义了对象变量后,使用set语句为对象变量赋值。 Set obje=command1 obj1.caption=“打开” 修改命令按钮的标题 obj1.fontbold=true 用户自定义类型 它类似于C语言中的“结构体”类型的数据。 Type 类型名 元
3、素名 as 类型 元素名 as 类型 元素名 as 类型 end type,例:定义一个employee(职工)类型,其中包括职工号、姓名、年龄。 Type employee empno as integer name as string*10 age as integer end type dim emp as emloyee 在后面的程序中我们可以用“变量.元素”这样的形式来引用各个成员。 emp.name=“张三” emp.no=83001 emp.age=21 3.2 变量的声明 在VB中使用一个变量时,可不加任何声明而直接使用,叫做隐式声明。使用这种方法虽简单,但却不利于程序调试,所
4、以一般对于变量最好先声明,后使用。设置方式: 在“工具”菜单中选“选项”,在对话框中选“编辑器”,在“要求变旦声明”中选中。 dim 变量名 as 数据类型 dim name as string dim sum(3) as integer,使用static声明变量 static 变量名 as 数据类型 static a as integer 使用static声明变量为静态变量。它与dim声明的变量不同之处在于在执行一个过程结束时,过程中所用到的static变量的值会保留,下次再调用此过程时,变量的初值是上次调用结束时被子保存留的值,而dim 声明的变量在过程结束时不保留,每次调用时需要重新初始
5、化。 3.3 运算符和表达式 算术运算符 + - * / (整除) mod 关系运算符 = = 逻辑运算符 not and or xor(逻辑异或) eqv(逻辑等于),3.3 字符串连接运算符 + & c=“abcd” + “ef” c=“abcd” & “ef” 这两式子的运算结果是相同。 但是,由于“+”号同时也是加法运算符,VB又支持变体型的变量,所以将加号用做字符串连接运算符有时会引起混淆。因此,在进行字符串连接时应该 选用“&”操作符而不是“+”操作符。 3.4 基本语句 赋值语句 变量名=表达式 条件语句 1)if then 语句 2)if then 语句组 endif,3)if
6、 then 语句组1 else 语句组2 endif (例:ch03 ex3.vbp) 4)if then 语句组1 else if then 语句组2 else 语句组3 endif (例:ch03ex4.vbp),语句组1,条件,语句组2,T,F,条件1,语句组1,条件2,语句组2,语句组3,T,F,T,F,多分支语句 select case 变量或表达式 case 值1 语句组1 case 值2 语句组2 case 值3 语句组3 case else 语句组n end select (例:ch03ex5.vbp) 变量或表达式:可以是整型或字符串表达式 值:是一组用逗号分隔枚举值。,(例
7、:编写一个分数等级转换表 分数 等级 =90 优 =80 良 =70 中 =60 及格 =60 不及格 x = Val(Text1.Text) Select Case x 10 Case 10, 9 Text2.Text = “优“ Case 8 Text2.Text = “良“ Case 7 Text2.Text = “中“ Case 6 Text2.Text = “及格“ Case 0, 1, 2, 3, 4, 5 Text2.Text = “不及格“ End Select 转向语句 goto 标号 on 表达式 goto 标号1,标号2,,循环语句 1)do while 条件 语句体 e
8、xit do 语句体 loop 2)do 语句体 exit do 语句体 loop while 条件 条件真时退出循环 3)do until 条件 条件假时执行循环体 语句体 exit do 语句体 loop 4)for 循环变量=初值 to 终值 step步长 语句体 exit for 语句体 next 循环变量,例:(实验书第三章练习三)编写求一元二次方程根。(ch03练习3.vbp) 注:format(numer,fmt) 功能:将数值型量转为字符型量。 Numer:为一个数值型 量。 Fmt:为用户定义格式。 #:显示数字,不在前或后补0。 0:显示数字,在前或后补0 . :小数点。
9、,:千位符。 %:百分比。 例:x=2.33333 format(x, “#.#”) 结果为:2.33 字符串 例:求 1+2+3+100的和 (ch03ex6.vbp) 例:设计一个窗体打印九九乘法表 (ch03ex7.vbp) 例:编写求1*1+2*2+3*3+100*100的和。 Vb常用函数:(见P67),3.5 以对象为核心的程序设计 在VB的程序设计中,对象起着最重要的角色,窗体是一个对象,每一个放置在窗体上控件也都是对象。由于VB是面向对象的程序设计语言,它的代码结构与对象有着很大关系,在VB中每一 个窗体和控件都有一些预先定义好了的事件。 例:命令按钮对象,当用户单击命令按钮时
10、,命令按钮对象会产生click事件。,Click事件,Private sub command1_click() 被驱动执行的程序 end sub,(单击鼠标左键),对程序而言,可以不处理这个事件,此时这个事件对程序便没有什么作用。但是如果程序要处理这个事件,该如何进行?,因此,如果觉得某个对象的某种事件有进行处理的必要,则以“该 对象的名称”与“该事件的名称”定义这个事件程序,如下示: private sub 对象名_事件名() 在此编写希望被驱动执行的程序 end sub 将来该对象的这个事件发生时,其对应的事件程序会被驱动。以后学习每一种对象时,需了解该对象会产生哪些事件和事件发生时机,这
11、样才能让用户与所编写的程序充分产生交互关系。 了解对象的特性 其实很多对象只要看它的名字,就可以了解它的基本特性。 例如:textbox 同时亦可以通过了解对象的属性。 懂得控制对象 控制对象的方法不外乎以下两种: 1)设置对象属性 2)调用对象方法,其实方法是对象内部的子程序,这种子程序的作用是要求对象执行某件工作。 例如:很多控件都具有move方法,调用这个方法可让控件移动它的位置。 查阅“方法” 要了解某一种对象提供了哪些方法,可以打开该 对象的MSDN帮助文件,再选取“方法”选。 3.6 常用事件在程序设计中应用 事件驱动模式是VB程序的主流,我们必须了解每一种对象会产哪些事件,以及这
12、些事件产生的时机。随着对象在特性上的差异,可能产生的事件也会有的不同。下面先介绍一些常用事件,及在程序设计中应用。 生与灭事件 事件 发生时机 initialize 窗体第一次被装入时 terminate 窗体最后一次被卸载时 load 窗体每一次被装入时 unload 窗体每一次被卸载时 queryunload 窗体每一次被卸载时,Initialize与load事件区别 同样都是发生在窗体被装入时,两者很容易混淆,实际上intialize事件只有在窗体第一次被装入时发生,而load事件是在窗体每次被装入时都有发生。 例:打开第三章formlife.vbp 什么程序代码写在intialize或
13、load事件程序? 1)控件的初始化:几乎都是放在load事件程序中,因为控件会随着窗体的卸载而一起被清除,所以每次被装入时都要进行初始化。 2)变量的初始化:放在initialize事件程序中居多,因为变量的内容光焕发不会随着窗体的卸载波而消失。当然,如果希望每次窗体被装入时都有重新设置变量的内容,就要将变量的初始化放在load事件程序中。 如何禁止用户使用关闭按钮半闭窗体? 在unload事件程序中含有一个cancel参数,如果将这个参数设置为true则窗体就不能关闭。,例:在程序中不允许用户通过单击关闭按钮关闭窗体。 Dim switch as boolean form_unload i
14、f not switch then cancel=true endif end sub command1_click switch=true unload me end sub Queryunloadd与unload事件有何区别 queryunload比unload事件先发生。,Queryunload事件比unload事件多了一个unloadmode参数 unloadmode可以取值 意义 vbformcontrolmenu(=0) 用户单击窗体上的关闭按钮 vbformcode(=1) unload语句调用 vbappwindows(=2) 用户结束windows操作系统 也即可以利用unl
15、oadmode参数来判断用户是否用鼠标单击了窗体上的关闭按钮。借助queryunload事件的参数简化上面的程序。 Private sub command1_click() unload me end sub private sub form_queryunload(cancel as integer,unloadmode as integer) if unloadmode=vbformcontrolmenu then cancel=true end sub,Queryunload事件另一个应用: 经常用来检验程序结束前,窗口关闭前是否已经保存了该保存的东西,如果尚未保存,就显示一个对话框的信
16、息。 对话框msgbox函数使用。 Msgbox函数格式: msgbox(prompt ,buttons,title) prompt:是一个字符串,设置显示在对话框中信息内容。 Buttons:(可选参数)用于显示对话框中显示按钮数。形式、图样见P77。 Tile:(可选参数)设置显示在对话框标题中信息。,title,prompt,buttons,例:练习使用msgbox函数(ch03练习11.vbp) 1)调用msgbox显示两个按钮(是,否),提示信息“要关闭 窗体吗?”。是,关闭窗体,否, 2)调用msgbox提示信息为“操作错误”显示图标为 3)调用msgbox提示信息为“没有满足条件
17、的记录”,显示图 标为: 例:(第三章练习5)编写一个程序,当用户单击窗体关闭按钮时,弹出对话框,要用户确定是否真的关闭窗体,是关闭,否取消关闭窗体。 状态改变的事件 事件 发生时机 activate 当窗体成为活动窗口时 deactivate 当窗体不再是活动窗口时 gotfocus 对象获得焦点时 lostfocus 对象丢失焦点时 rezies 对象大小改变时,Activate与gotfocus事件有何区别 只有窗体对象才有activate事件,其他控件都有没有activate事件,它表示窗体变成“活动窗口” gotfocus事件中,除了窗体对象含有这个事件外,其它控件如命令按钮,文本框
18、、复选框、图片框等,也都有含有这个事件。 当光标落在某个对象上(对象获得焦点时)则会发生gotfocus事件。 例:当输入光标移到textbox时,整个textbox都变成被选区。 注:在textbox控件对象中有两个属性,用途是用来设置选取区。 Selstart 设置选取区的起始位置 sellength 用来设置选区的长度 private sub text1_gotfocus() text1.selstart=0 text1.sellength=len(text1.text) end sub 例:(第三章练习六)当输入光标移到textbox时,希望将其文字颜色设置为红色,以提醒用户注意,当输
19、入光标离开textbox其文字还原原来的黑色。,当窗体大小改变时会发生resize事件 例:让控件随着窗体一起调整大小。(在窗体上放置textbox及picturebox) private sub form_resize() text1.left=0 text1.top=0 text1.width=me.scalewidth/2 text1.height=me.scaleheight picture1.left=me.scalewidth/2 picture1.top=0 picture1.height=me.scaleheight end sub 键盘类事件 事件 发生时机 keypress
20、 用户按下键盘并且放开时 keydown 用户按下键盘时 keyup 用户放开按键时,例:(ch03/ex12.vbp)P85 鼠标类事件 事件 发生时机 click 用户在对象上按下鼠标左键并且放开时 dblclick 用户在对象上面双击鼠标时 mousedown 用户在对象上面按下鼠标左键时 mouseup 用户在对象上面放开鼠标左键时 mousemove 用户在对象上面移动鼠标时 mouseup和click事件有何区别 1)如果用户在对象上按下鼠标左键,而鼠标仍然在对象上时放开鼠标,会先发生mouseup事件再发生click事件。 2)若用户在对象上按下鼠标左键,然后将鼠标移到对象之外再
21、放开鼠标:只发生mouseup事件。 3)若用户在对象之外按下鼠标左键,然后将鼠标移到对象上再入开鼠标:只发生mouseup事件。,Mouseup与click选择 在windows操作的惯例中,所谓“用鼠标单击”指的是“按下鼠标左键,不要移开鼠标并放开鼠标左键”(也就是click意思)。因此,如果程序想要针对用户“用鼠标单击”做反应,就应该 将程序编写在click事件程序中。 至于mouseup事件通常与mousedown配对使用。 例:写一个可供用户画线的程序,当用户按下鼠标左键时,决定线段的第一点,然后用户会移动鼠标,当放开鼠标左键时,就由第一点画一条线到鼠标指针所在的位置。(ch03练习
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第三 VB 基本 语法
链接地址:https://www.31doc.com/p-3438344.html