




已阅读5页,还剩74页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,visual basic 程序设计教程 第三版,2,第1章 visual basic程序设计概述 第2章 vb可视化编程基础 第3章 vb语言基础 第4章 vb控制结构 第5章 数组和自定义类型 第6章 过 程 第7章 用户界面设计 第8章 数据文件 第9章 图形操作 第10章 数据库应用基础,目 录,3,教学安排,4,第1章 visual basic程序设计概述,1.1 visual basic 简介 1.2 vb集成开发环境 1.3 建应用程序过程 1.4 vb帮助系统,5,1.1 visual basic 简介,程序设计基本概念 visual basic的发展 visual basic的特点,6,1.1.1 visual basic的发展,20世纪60年出现basic语言; 20世纪80年代,true basic、quick basic和turbo basic等; 1991年microsoft公司推出visual basic1.0,以可视化工具为界面设计、结构化basic语言为基础,以事件驱动为运行机制。 1998年出版vb6.0,功能更强大、完善,应用面更广; 2002年正式发布visual basic.net。,7,1.1.2 vb的特点,例1 设计一个滚动文字的广告程序,一行文字在具有背景图案的窗体上、下移动。 设计思路: 在窗体上使用标签label对象来存放文字; 利用timer控件来快速触发移动; 利用单击按钮来手动触发移动.,8,当一个标签放在窗体上时,标签的左上角坐标(用left、top表示)就被指定了。,如果改变标签的左上角坐标就可移动标签,即移动文字。 例如: label1.top = label1.top+50 可使标签label1向下移动50单位,9,实现连续移动,可通过时钟对象timer,在规定的时间间隔执行: label1.top = label 1.top+50 就可使标签label1连续向下移动。 时钟对象的interval可指定时间间隔,1秒为1000单位。每隔0.2秒移动一次可设置interval = 200,10,程序进一步改进: 连续循环移动,首先要能判断出标签是否超出窗体范围。,窗体,欢迎光临,该点在top方向上的坐标为: 窗体的高度height 如果标签的top窗体的高度,表示已越出窗体范围,可将标签移到窗体上方,此时标签的top=?,height,11,具有基于对象的可视化设计工具 事件驱动的编程机制 提供了易学易用的应用程序集成开发环境 支持结构化程序设计语言 强大的网络、数据库、多媒体功能 完备的帮助功能,vb功能特点,12,vb系统的安装 vb系统的启动 vb集成开发环境的使用,1.2 vb集成开发环境,13,安装,vb6.0有学习版、专业版和企业版三种版本。执行vb6.0的setup.exe,在安装程序的提示下进行,初学者可采用典型安装方式。 vb6.0联机帮助文件使用msdn文档格式,联机帮助文件不在vb6.0系统盘上,而与visual studio产品的帮助集合在两张cd盘上,安装过程中,系统会提示插入msdn盘。,14,启动,启动vb选择开始菜单中的 microsoft visual basic 6.0中文版程序。 vb6.0窗口列出了vb能够建立的应用程序类型,初学者只要选择默认标 准.exe。单击新建按钮, 就可创建该类型的应用 程序。,15,1.2.1集成开发环境使用,16,1.2.2 主窗口,三种工作模式 设计模式 界面的设计和代码的编制 运行模式 运行应用程序 中断模式 暂时中断程序运行,调试程序 2. 菜单栏 包括13个下拉菜单 3. 工具栏,17,1.2.3 窗体设计窗口,窗体是建立vb应用程序的主要部分,一个应用程序至少有一个窗体窗口。 每个窗体必须有一个唯一的窗体名,默认名为form1. 设计状态的窗体由网格点构成,方便用户对控件的定位,网格点间距可以通过工具|选项|通用进入窗体网格设置. 运行时可通过属性控制窗体的可见性(窗体的网格始终不显示)。,18,代码设计窗口,代码设计:各种事件过程、过程代码的编写和修改。 打开代码设计窗口的方法: 双击窗体、控件 资源管理器窗口的 “查看代码”,19,1.2.4 属性窗口,设置窗体或控件的属性,如 颜色、字体、大小等。,本章目录,20,1.2.5 工程管理器窗口,保存一个应用程序所有属性以及组成这个应用程序所有的文件。 工程文件的扩展名为.vbp,工程文件名显示在工程文件窗口的标题框内。,已存盘,未存盘,21,1.2.6 工具箱窗口,由21个被绘制成按钮形式的图标构成,利用这些工具,用户可以在窗体上设计各种控件。其中20个控件称为标准控件(注意,指针不是控件,仅用于移动窗体和控件,以及调整它们的大小)。 也可通过工程|部件命令将第3方开发的其他控件装入到工具箱。,22,1.3 创建应用程序的过程,建立一个应用程序分为以下几步: (1) 建立用户界面的对象 (2) 对象属性的设置 (3) 对象事件过程及编程 (4) 保存和运行程序 例1.2 编写一个人民币与美元兑换的程序。 要求:通过输入兑换比率与人民币或美元金额,单击命令按钮显示兑换结果。,23,设计思路: 建立用户界面的对象 输入使用文本框textbox; 提示使用标签label; 按钮command的click事件执行处理命令。,24,1.4 使用帮助系统,使用msdn library查阅器 通过vb的帮助菜单,选择内容、索引或搜索菜单项,25,本章小节,visual basic 6.0 一个基于对象的可视化设计工具 vb的三种工作模式 设计模式、运行模式、中断模式 vb程序组成,工程,窗体文件,控件和属性设置,模块文件,事件代码,26,第2章 vb可视化编程基础,2.1 vb对象概念 2.2 窗体和基本控件 2.3 综合应用,27,2.1 vb对象的概念,2.1.1 对象和类 对象指现实世界中的实体。如一个人、一辆汽车、一台电脑、一份报表等。 每个对象有自己的特征(属性)、行为(方法)和发生在该对象上的活动(事件)。 例如人具有身高、体重等特征,具有行走、说话等行为,外界作用在人对象上的各种活动,如下雨等。,28,类的概念,在现实世界中,许多对象具有相似性质,执行相同的操作,称之为同一类对象。类是对同一种对象的集合与抽象。 如人类是“人”的抽象。类是创建对象实例的模板,对象则是类的一个实例。 类包含所创建对象的属性数据,以及对这些数据进行操作的方法。封装和隐藏是类的重要特性,将数据结构和对数据的操作封装在一起,类的内部实现细节对用户来说是透明的。,29,vb中的类和对象,vb工具箱中的可视图标是vb系统设计好的标准控件类。通过将控件类实例化,得到真正的控件对象。在窗体上画一个控件,就将类转换为对象,创建了一个控件对象。,30,例如:工具箱内的textbox是类(它确定了textbox的属性、方法和事件) 窗体上显示的是两个textbox对象,31,属性、事件和方法构成对象的三要素 属性 存放对象的数据(决定对象外观及功能) 例如,控件名称、文本、大小等属性。 对象属性的设置方法: 设计阶段 利用属性窗口直接设置属性值 程序运行时 通过语句对象名.属性名=属性值 例如:command1.caption = “确定“ 注意:若属性只能在设计阶段设置,在程序运行阶段不可改变,称为只读属性。,2.1.2 对象的属性、事件和方法,32,事件 发生在对象上的事情 同一事件,对不同的对象,会引发不同的反应:,事件,教师_铃声() 讲课 end sub,学生_铃声() 听讲 end sub,vb为对象预先定义了一系列的事件。例如,单击click、获取焦点gotfocus 、按下键盘keypress 等,其他人员_铃声() 可不于响应 end sub,33,事件过程 应用程序处理事件的步骤 应用程序设计的主要工作就是为对象编写事件过程的代码。事件过程的形式如下: sub 对象名_事件(参数) 事件过程代码 end sub,事件过程,34,例:单击按钮 ,使text1的字体为20磅. sub command1_click() text1.fontsize = 20 end sub 一个动作可能同时发生多个事件。例如单击鼠标同时发生了: click、mousedown、mouseup事件 编程时,只要对需要的事件过程编码。 注意:在代码窗,自动产生事件过程的模板,不要修改模板的内容,只需键入过程的代码。,模板产生,用户输入,35,程序执行的次序与程序设计者无关,取决于用户的操作,这就是事件驱动程序设计方式。 vb程序的执行步骤如下: 启动应用程序,装载和显示窗体; 窗体(或窗体上的控件)等待事件的发生; 事件发生时,执行对应的事件过程; 重复执行步骤和。,事件驱动,36,方法,面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为方法。 方法是面向对象的,调用时一定要指明对象。对象方法的调用格式为: 对象.方法 参数名表 若省略对象,表示当前对象,一般指窗体。 例如:text1.setfocus 此语句使text1控件获得焦点,光标在本文框内闪烁。,37,2.2 窗体和基本控件,窗体和控件具有基本属性 例2.1 (1) name 名称属性 所创建的对象名称,在程序中引用。 (2) caption 标题属性 该属性决定了对象上显示的内容。 (3) height、width、top和left属性 决定对象的高度、宽度,和位置。,38,(4) enabled 属性 对象是否允许操作 (5) visible 属性 对象是否可见 (6) font 属性组 文本的外观 fontname字体、fontsize大小 fontbold粗体、fontitalic斜体、 fontstrikethru 删除线、 fontunderline 下划线,39,(7) forecolor属性 前景颜色 (8) backcolor属性 背景颜色 (9) mousepointer 鼠标指针类型 设置值范围015,由系统指定 。若为99,由用户提供的图形文件定义鼠标指针形状。 (10) mouseicon属性 在mousepointer属性值为99时,存放自定义的鼠标图标文件(.ico或.cur)。图标库在graphics目录下。,40,控件默认属性 所谓默认属性是程序运行时,可以改变某控件的值,而不必指定该控件的哪个属性。,例如,下面两条语句是等价的: text1.text=“visual basic“ text1 =“visual basic“,41,2.2.2 窗体,窗体是一块画布,是所有控件的容器,用户可以根据自己的需要利用工具箱上的控件在画布上画界面。 窗体属性决定了窗体的外观和操作。,42,窗体-事件,常用的事件有click、dblclick和load。 load事件是在窗体被装入工作区时触发的事件。当应用程序启动,自动执行该事件,该事件通常用来在启动应用程序时对属性和变量进行初始化。 例2.2 窗体无最大化按钮和最小化按钮,窗体启动时,在标题栏显示“装入窗体”,并装入一背景图;单击窗体装入另一图、双击窗体清除背景图,同时显示不同的文字。,43,窗体-方法,使用方法的语法形式: 对象.方法 参数列表 cls方法 清除运行时在窗体或图形框中产生的文本或图形, cls方法不能清除窗体在设计时的文本和图形 move方法 可移动窗体或控件,并可改变其大小。 语法格式如下: 对象.move 左边距离,上边距离,宽度,高度,44,2.2.3 标签,标签用来显示文本信息(不能输入) 例2.3 标签属性演示,45,2.2.4 文本框,文本框是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容。 (1) text 显示或输入的正文内容 (2) maxlength 设置文本框可输入的文字最大长度。默认值为0,表示可以输入任意长字符串。 注意:在vb中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1。,46,(3) multiline 多行属性 设置为true时,文本框可以输入或显示多行正文,同时具有文字处理器的自动换行功能,按enter键可插入一空行。 (4) scrollbars 滚动条属性 none 无滚动条 horizontal 水平滚动条 vertical 垂直滚动条 both 同时加水平和垂直滚动条 当multiline为true时,scrollbars才有效,47,(5) passwordchar 设置显示文本的替代符。例如,当设置为“*”,则在文本框输入的内容均以“*”显示,而存储的值是用户输入的原文。一般用于设置口令的输入。 当multiline为true时,该属性不起作用,密码不允许多行。 (6) locked 指定文本控件是否可被编辑,默认值为false(可编辑),当设置为true时,文本控件相当于标签控件的作用。,48,(7)文本内容进行选择操作 selstart 选定的正文开始位置 sellength 选定的正文长度 seltext 选定的正文内容 这3个属性互相关联,例如设置selstart、sellength后,seltext 自动存放指定的文本。 例2.4 利用属性实现文本信息的复制。,49,文本框-事件,(1) changed事件 当text属性值发生改变时引发该事件 例 在文本框每输入一个字符就引发一次事件 (2) keypress事件 按下并且释放键盘上的一个键时,引发焦点所在控件的keypress事件,所按键的值存放在参数keyascii中 例 对回车的判断 keyascii=13,50,(3) lostfocus事件 对象失去焦点时发生lostfocus事件 该事件主要是用来对数据进行验证和确认,常用于检查text属性的内容。 (4) gotfocus事件 gotfocus事件与lostfocus事件相反,当一个对象获得焦点时发生,51,文本框-方法,文本框最有用的方法是setfocus,把光标移到指定的文本框中。其形式如下: 对象. setfocus setfocus还可以用于如checkbox、commandbutton、listbox、combobox等控件。 例2.5 对输入的数据进行合法性检验,过滤不合法的数据。,52,2.2.5 命令按钮,用于程序运行时执行相应的事件 1. 属性 (1) caption 命令按钮上显示的文字 (2) style 按钮样式 0 standard:默认,按钮上不能显示图形 1 graphical:按钮上可以显示图形和文字 (3) picture 在按钮装入图形 (4) tooltiptext 加以文字提示 2. 事件 命令按钮一般接收click事件,53,2.3 综合应用,例2.6建立一个类似记事本的应用程序,提供: (1) 剪切、复制和粘贴的编辑操作 (2) 字体大小的格式设置 分析: (1) 建立一个文本框输入文本,文本框应该有滚动条,为了便于调试,程序运行时文本框有初始值。 (2) 利用文本框的seltext属性实现“剪切、复制和粘贴”的编辑操作。 (3) “格式”设置利用font对象实现。,54,本章小节,类是同种对象的集合与抽象,包含所创建对象的属性描述和行为特征的定义,是创建对象实例的模板。 对象三要素:属性、事件、方法 窗体 是所有控件的容器 基本控件 标签、文本框、命令按钮,55,第三章 vb语言基础,3.1 数据类型 3.2 变量和常量 3.3 运算符和表达式 3.4 程序结构和编码规则 3.5 综合应用,56,3.1 数据类型,57,3.2 变量,变量 在程序运行中其存储的值可以改变 命名规则: 必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度小于等于255个字符 不能使用vb中的关键字 vb不区分变量名的大小写,一般变量名首字母用大写,其余用小写字母表示;常量全部用大写字母表示,58,变量声明,用dim语句显式声明变量 dim 变量名 as 类型 as部分缺省,创建的变量为变体类型 一条dim语句可同时定义多个变量,但每个变量应有类型说明,否则为变体型 。 例如:dim m,n as integer, x,y as single 则创建了变体型变量m、x,整型变量n和单精度型变量y,59,常量,常量是在程序运行中不变的量,vb有三种常量: 直接常量 其常数值直接反映了其类型 符号常量 用户声明,便于程序阅读或修改 const 符号常量名 as 类型 = 表达式 例如: const pi = 3.14159 系统常量 系统提供许多内部常量 例如:vbcrlf 回车/换行组合符,60,3.3 运算符和表达式,和其他语言一样,vb中也具有丰富的运算符,通过运算符和操作数组合成表达式,实现程序编制中所需的大量操作。 运算符是表示实现某种运算的符号。vb中的运算符可分算术运算符、字符串运算符、关系运算符和逻辑运算符4类。,61,算术运算符,例:5+10 mod 10 9 / 3+2 2 结果:10,注意:对算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成数值类型后再运算。 例如: 30-true 结果是31,逻辑量true转为数值-1,false转为数值0 false + 10 + “4“ 结果是14,62,字符串运算符,& 两旁的操作数可任意,转换成字符型后再连接 + 两旁的操作数应均为字符型; 1)数值型:则进行算术加运算 2)一个为数字字符,另一个为数值,自动将数 字字符转换为数值后进行算术加 3)一个为非数字字符,另一个为数值型,出错 例如: 操作 结果 操作 结果 “ab“ & 123 “ab123 “ “ab“ + 12 出错 “12“ & 456 “ 12456 “ “12“ + 456 468 “12“ & true “12true“ “12“ + true 11,63,关系运算符,关系运算符是双目运算符,作用是对两个操作数进行大小比较,若关系成立,则返回true,否则返回false。操作数可以是数值型、字符型。,64,逻辑运算符,逻辑运算符除not是单目运算符外,其余都是双目运算符,作用是将操作数进行逻辑运算,结果是逻辑值true或false。,65,表达式,1.组成 变量、常量、函数、运算符和圆括号 2.书写规则 运算符不能相邻 例a+ -b是错误的 乘号不能省略 例x 乘以y 应写成:x*y 括号必须成对出现(均使用圆括号) 表达式从左到右在同一基准上书写,无高低、大小 3. 不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠 integer=字符运算符关系运算符逻辑运算,66,表达式书写举例,a*b*c*d/e/f/g 或 a*b*c*d/(e*f*g),例逻辑表达式书写,选拔优秀生的条件为:年龄(age)小于19岁,三门课总分(total)高于285分,其中有一门为100分,如果其表达式写为: age285 and ( mark1=100 or mark2 =100 or mark3=100 ) 如果取消括号有何问题?请读者考虑。,sin(45*3.14/180)+(exp(10)+log(10)/sqr(x+y+1),67,3.3.3 常用函数,vb函数: 内部函数和用户自定义函数,内部函数,数学函数 转换函数 字符串函数 日期函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级学习探秘
- 图木舒克职业技术学院《奥尔夫与柯达伊音乐教学法》2023-2024学年第二学期期末试卷
- 湘西市重点中学2025年高三下学期期末模拟英语试题含解析
- 平利县2025年数学四下期末统考模拟试题含解析
- 山东省潍坊市昌邑市2025届小升初模拟数学测试卷含解析
- 山东省宁津县市级名校2024-2025学年初三年级第二学期语文试题周练一(含附加题)含解析
- 上海市浦东新区2024-2025学年高三下学期期末考试(生物试题文)试题含解析
- 江苏省南通市海安市2025届初三下学期尖子生物理试题含解析
- 上海市度嘉定区2024-2025学年高中毕业班第二次模拟(语文试题文)试卷含解析
- 2025年营养师职业资格考试试题及答案
- XX站既有雨棚拆除及新建雨棚安装施工专项方案
- 机器人技术在环境监测中的应用
- 《业主见面会》课件
- 内镜室护理组长竞聘演讲
- 酒店如何做年度经营分析
- 办公楼维修合同-办公楼维修合同
- 《物控培训资料》课件
- 初二八年级下物理期中考试分析
- 金蝶K3-WISE财务管理全操作手册
- 单位工程施工组织设计实训任务书
- 1.技术交流PPT-输电线路分布式故障诊断装置
评论
0/150
提交评论