
Visual Basic程序设计教程第三版.ppt
79页nowthen@VB程序设计教程程序设计教程Visual Basic程序设计教程程序设计教程第三版第三版1nowthen@VB程序设计教程程序设计教程第第第第1 1章章章章 Visual BasicVisual Basic程序设计概述程序设计概述程序设计概述程序设计概述第第第第2 2章章章章 VBVB可视化编程基础可视化编程基础可视化编程基础可视化编程基础第第第第3 3章章章章 VBVB语言基础语言基础语言基础语言基础第第第第4 4章章章章 VBVB控制结构控制结构控制结构控制结构第第第第5 5章章章章 数组数组数组数组和自定义类型和自定义类型和自定义类型和自定义类型第第第第6 6章章章章 过过过过 程程程程第第第第7 7章章章章 用户界面设计用户界面设计用户界面设计用户界面设计第第第第8 8章章章章 数据文件数据文件数据文件数据文件第第第第9 9章章章章 图形操图形操图形操图形操作作作作第第第第1010章章章章 数据库应用数据库应用数据库应用数据库应用基础基础基础基础目目 录录2nowthen@VB程序设计教程程序设计教程章章内内 容容学时学时实验与学时实验与学时第第1 1章章Visual BasicVisual Basic程序设计程序设计概述概述1 1实验实验1 1+11 1+1第第2 2章章VBVB可视化编程可视化编程基础基础2 2实验实验2 2+22 2+2第第3 3章章vbvb语言基础语言基础3 3实验实验3 2+23 2+2第第4 4章章VBVB控制结构控制结构6 6实验实验4 2+24 2+2第第5 5章章数组数组和自定义类型和自定义类型5 5实验实验5 2+25 2+2第第6 6章章过过 程程4 4实验实验6 1+16 1+1第第7 7章章用户界面设计用户界面设计4 4实验实验7 2+27 2+2第第8 8章章数据数据文件文件3 3实验实验8 2+28 2+2第第9 9章章图形操图形操作作2 2实验实验9 2+29 2+2合计合计1616周周4848学时学时(32+16)+(32+16)+课外课外1616323216 + 1616 + 16* * 第第1010章章数据库应用数据库应用基础基础4 4实验实验10 2+410 2+4教学安排教学安排3nowthen@VB程序设计教程程序设计教程第第1章章 Visual Basic程序设计程序设计概述概述1.1 Visual Basic 简介简介1.2 VB集成开发环境集成开发环境1.3 建应用程序过程建应用程序过程1.4 VB帮助系统帮助系统 4nowthen@VB程序设计教程程序设计教程1.1 Visual Basic 简介简介v 程序设计基本概念程序设计基本概念v Visual Basic的发展的发展v Visual Basic的特点的特点5nowthen@VB程序设计教程程序设计教程1.1.1 Visual Basic1.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 6nowthen@VB程序设计教程程序设计教程1.1.2 VB1.1.2 VB的特点的特点的特点的特点例例例例1 1 设计一个滚动文字的广告程序,一行文字在设计一个滚动文字的广告程序,一行文字在设计一个滚动文字的广告程序,一行文字在设计一个滚动文字的广告程序,一行文字在具有背景图案的窗体上、下移动具有背景图案的窗体上、下移动具有背景图案的窗体上、下移动具有背景图案的窗体上、下移动设计思路:设计思路:设计思路:设计思路: 在窗体上使用标签在窗体上使用标签在窗体上使用标签在窗体上使用标签LabelLabel对象来存放文字对象来存放文字对象来存放文字对象来存放文字; ; 利用利用利用利用TimerTimer控件来快速触发移动控件来快速触发移动控件来快速触发移动控件来快速触发移动; ; 利用单击按钮来手动触发移动利用单击按钮来手动触发移动利用单击按钮来手动触发移动利用单击按钮来手动触发移动. .7nowthen@VB程序设计教程程序设计教程 当当当当一一一一个个个个标标标标签签签签放放放放在在在在窗窗窗窗体体体体上上上上时时时时,,,,标标标标签签签签的的的的左左左左上上上上角角角角坐坐坐坐标标标标((((用用用用LeftLeft、、、、TopTop表示)就被指定了。
表示)就被指定了表示)就被指定了表示)就被指定了如果改变标签的左上角坐标就可移动标签,即移动文字如果改变标签的左上角坐标就可移动标签,即移动文字如果改变标签的左上角坐标就可移动标签,即移动文字如果改变标签的左上角坐标就可移动标签,即移动文字例如例如例如例如: Label1.Top = Label1.Top+50: Label1.Top = Label1.Top+50 可可可可使使使使标签标签标签标签Label1Label1向下移动向下移动向下移动向下移动5050单位单位单位单位欢迎使用欢迎使用VB Top Left0,08nowthen@VB程序设计教程程序设计教程 实实实实现现现现连连连连续续续续移移移移动动动动,,,,可可可可通通通通过过过过时时时时钟钟钟钟对对对对象象象象TimerTimer,,,,在在在在规规规规定定定定的的的的时间间隔执行时间间隔执行时间间隔执行时间间隔执行: : Label1.Top = Label 1.Top+50Label1.Top = Label 1.Top+50 就可就可就可就可使使使使标签标签标签标签Label1Label1连续向下移动。
连续向下移动连续向下移动连续向下移动 时时时时钟钟钟钟对对对对象象象象的的的的IntervalInterval可可可可指指指指定定定定时时时时间间间间间间间间隔隔隔隔,,,,1 1秒秒秒秒为为为为10001000单单单单位每隔0.20.2秒移动一次可设置秒移动一次可设置秒移动一次可设置秒移动一次可设置Interval = 200Interval = 2009nowthen@VB程序设计教程程序设计教程程序进一步改进:程序进一步改进:程序进一步改进:程序进一步改进: 连连连连续续续续循循循循环环环环移移移移动动动动,,,,首首首首先先先先要要要要能能能能判判判判断断断断出出出出标标标标签签签签是是是是否否否否超超超超出出出出窗窗窗窗体范围窗体窗体欢迎光临欢迎光临 该点在该点在该点在该点在TopTop方向上的坐标为方向上的坐标为方向上的坐标为方向上的坐标为: : 窗体窗体窗体窗体的高度的高度的高度的高度HeightHeight如果如果如果如果标签的标签的标签的标签的Top>Top>窗体窗体窗体窗体的高度的高度的高度的高度,表示已越出窗体范围,,表示已越出窗体范围,,表示已越出窗体范围,,表示已越出窗体范围,可将标签移到窗体上方,此时标签的可将标签移到窗体上方,此时标签的可将标签移到窗体上方,此时标签的可将标签移到窗体上方,此时标签的TopTop=?=?HeightHeight10nowthen@VB程序设计教程程序设计教程v 具有基于对象的可视化设计工具具有基于对象的可视化设计工具v 事件驱动的编程机制事件驱动的编程机制v 提供了易学易用的应用程序集成开发环境提供了易学易用的应用程序集成开发环境 v 支持结构化程序设计语言支持结构化程序设计语言v 强大的网络、数据库、多媒体功能强大的网络、数据库、多媒体功能 v 完备的帮助功能完备的帮助功能VB功能特点功能特点11nowthen@VB程序设计教程程序设计教程v VB系统的安装系统的安装v VB系统的启动系统的启动v VB集成开发环境的使用集成开发环境的使用1.2 VB VB集成开发环境集成开发环境 12nowthen@VB程序设计教程程序设计教程安装安装 VB6.0VB6.0有学习版、专业版和企业版三种版本。
执有学习版、专业版和企业版三种版本执有学习版、专业版和企业版三种版本执有学习版、专业版和企业版三种版本执行行行行VB6.0VB6.0的的的的Setup.exeSetup.exe,,,,在安装程序的提示下进行,在安装程序的提示下进行,在安装程序的提示下进行,在安装程序的提示下进行,初学者可采用初学者可采用初学者可采用初学者可采用典型安装典型安装典型安装典型安装方式 VB6.0VB6.0联联联联机机机机帮帮帮帮助助助助文文文文件件件件使使使使用用用用MSDNMSDN文文文文档档档档格格格格式式式式,,,,联联联联机机机机帮帮帮帮助助助助文文文文件件件件不不不不在在在在VB6.0VB6.0系系系系统统统统盘盘盘盘上上上上,,,,而而而而与与与与Visual Visual StudioStudio产产产产品品品品的的的的帮帮帮帮助助助助集集集集合合合合在在在在两两两两张张张张CDCD盘盘盘盘上上上上,,,,安安安安装装装装过过过过程程程程中中中中,,,,系系系系统统统统会会会会提示插入提示插入提示插入提示插入MSDNMSDN盘 13nowthen@VB程序设计教程程序设计教程启动启动 启启启启动动动动VBVB选选选选择择择择开开开开始始始始菜菜菜菜单单单单中中中中的的的的 Microsoft Microsoft Visual Visual Basic 6.0Basic 6.0中文版程序。
中文版程序中文版程序中文版程序 VB6.0VB6.0窗窗窗窗口口口口列列列列出出出出了了了了VBVB能能能能够够够够建建建建立立立立的的的的应应应应用用用用程程程程序序序序类类类类型型型型,,,,初学者只要选择默认标初学者只要选择默认标初学者只要选择默认标初学者只要选择默认标准准准准.EXE.EXE单击新建按钮,单击新建按钮,单击新建按钮,单击新建按钮,就可创建该类型的应用就可创建该类型的应用就可创建该类型的应用就可创建该类型的应用程序 14nowthen@VB程序设计教程程序设计教程1.2.1集成开发环境使用集成开发环境使用 15nowthen@VB程序设计教程程序设计教程1.2.2 主窗口主窗口 1.三种工作模式三种工作模式 设计模式设计模式 界面的设计和代码的编制界面的设计和代码的编制 运行模式运行模式 运行应用程序运行应用程序 中中断断模模式式 暂暂时时中中断断程程序序运运行行,,调调试试程程序序 2. 菜单栏菜单栏 包括包括13个下拉菜单个下拉菜单 3. 工具栏工具栏16nowthen@VB程序设计教程程序设计教程1.2.3 窗体设计窗口窗体设计窗口uu窗窗窗窗体体体体是是是是建建建建立立立立VBVB应应应应用用用用程程程程序序序序的的的的主主主主要要要要部部部部分分分分,,,,一一一一个个个个应应应应用用用用程程程程序序序序至少有一个窗体窗口。
至少有一个窗体窗口至少有一个窗体窗口至少有一个窗体窗口uu 每每每每个个个个窗窗窗窗体体体体必必必必须须须须有有有有一一一一个个个个唯唯唯唯一一一一的的的的窗窗窗窗体体体体名名名名,,,,默默默默认认认认名名名名为为为为Form1.Form1.uu 设设设设计计计计状状状状态态态态的的的的窗窗窗窗体体体体由由由由网网网网格格格格点点点点构构构构成成成成,,,,方方方方便便便便用用用用户户户户对对对对控控控控件件件件的的的的定定定定位位位位,,,,网网网网格格格格点点点点间间间间距距距距可可可可以以以以通通通通过过过过工工工工具具具具| |选选选选项项项项| |通通通通用用用用进进进进入入入入窗窗窗窗体体体体网格设置网格设置网格设置网格设置. .uu 运运运运行行行行时时时时可可可可通通通通过过过过属属属属性性性性控控控控制制制制窗窗窗窗体体体体的的的的可可可可见见见见性性性性( (窗窗窗窗体体体体的的的的网网网网格格格格始终不显示始终不显示始终不显示始终不显示) )17nowthen@VB程序设计教程程序设计教程代码设计窗口代码设计窗口 uu代码设计:各种事件过程、过程代码的编写和修改。
代码设计:各种事件过程、过程代码的编写和修改代码设计:各种事件过程、过程代码的编写和修改代码设计:各种事件过程、过程代码的编写和修改uu 打开代码设计窗口的方法:打开代码设计窗口的方法:打开代码设计窗口的方法:打开代码设计窗口的方法: 双击窗体、控件双击窗体、控件双击窗体、控件双击窗体、控件 资源管理器窗口的资源管理器窗口的资源管理器窗口的资源管理器窗口的 “ “查看代码查看代码查看代码查看代码” ”18nowthen@VB程序设计教程程序设计教程1.2.4 属性窗口属性窗口uu 设置窗体或控件的属性,如设置窗体或控件的属性,如设置窗体或控件的属性,如设置窗体或控件的属性,如 颜色、字体、大小等颜色、字体、大小等颜色、字体、大小等颜色、字体、大小等本章目录本章目录19nowthen@VB程序设计教程程序设计教程1.2.5 工程管理器窗口工程管理器窗口 uu 保保保保存存存存一一一一个个个个应应应应用用用用程程程程序序序序所所所所有有有有属属属属性性性性以以以以及及及及组组组组成成成成这这这这个个个个应应应应用用用用程程程程序序序序所有的文件所有的文件。
所有的文件所有的文件uu 工工工工 程程程程 文文文文 件件件件 的的的的 扩扩扩扩 展展展展 名名名名 为为为为.VBP.VBP,,,,工工工工程程程程文文文文件件件件名名名名显显显显示示示示在在在在工工工工程文件窗口的标题框内程文件窗口的标题框内程文件窗口的标题框内程文件窗口的标题框内 已存盘已存盘未存盘未存盘20nowthen@VB程序设计教程程序设计教程1.2.6 工具箱窗口工具箱窗口 由由由由2121个个个个被被被被绘绘绘绘制制制制成成成成按按按按钮钮钮钮形形形形式式式式的的的的图图图图标标标标构构构构成成成成,,,,利利利利用用用用这这这这些些些些工工工工具具具具,,,,用用用用户户户户可可可可以以以以在在在在窗窗窗窗体体体体上上上上设设设设计计计计各各各各种种种种控控控控件件件件其其其其中中中中2020个个个个控控控控件件件件称称称称为为为为标标标标准准准准控控控控件件件件( (注注注注意意意意,,,,指指指指针针针针不不不不是是是是控控控控件件件件,,,,仅仅仅仅用用用用于于于于移移移移动动动动窗窗窗窗体体体体和和和和控控控控件件件件,,,,以以以以及及及及调调调调整它们的大小整它们的大小整它们的大小整它们的大小) )。
也也也也可可可可通通通通过过过过工工工工程程程程| |部部部部件件件件命命命命令令令令将将将将第第第第3 3方方方方开开开开发发发发的的的的其其其其他控件装入到工具箱他控件装入到工具箱他控件装入到工具箱他控件装入到工具箱21nowthen@VB程序设计教程程序设计教程1.3 创建应用程序的过程创建应用程序的过程 建立一个应用程序分为以下几步:建立一个应用程序分为以下几步:建立一个应用程序分为以下几步:建立一个应用程序分为以下几步: (1) (1) 建立用户界面的对象建立用户界面的对象建立用户界面的对象建立用户界面的对象 (2) (2) 对象属性的设置对象属性的设置对象属性的设置对象属性的设置 (3) (3) 对象事件过程及编程对象事件过程及编程对象事件过程及编程对象事件过程及编程 (4) (4) 保存和运行程序保存和运行程序保存和运行程序保存和运行程序例例例例1.2 1.2 编写一个人民币与美元兑换的程序编写一个人民币与美元兑换的程序编写一个人民币与美元兑换的程序编写一个人民币与美元兑换的程序 要求:通过输入兑换比率与人民币或美元金额,要求:通过输入兑换比率与人民币或美元金额,要求:通过输入兑换比率与人民币或美元金额,要求:通过输入兑换比率与人民币或美元金额,单击命令按钮显示单击命令按钮显示单击命令按钮显示单击命令按钮显示兑换兑换兑换兑换结果。
结果22nowthen@VB程序设计教程程序设计教程设计思路:设计思路:建立用户界面的对象建立用户界面的对象 输入使用文本框输入使用文本框TextBox; 提示使用标签提示使用标签Label; 按钮按钮Command的的Click事件执行处理命令事件执行处理命令23nowthen@VB程序设计教程程序设计教程1.4 使用帮助系统使用帮助系统 使用使用MSDN Library查阅器查阅器通过通过VB的帮助菜单,选择内容、索引或搜索菜单项的帮助菜单,选择内容、索引或搜索菜单项 24nowthen@VB程序设计教程程序设计教程本章小节本章小节Visual Basic 6.0Visual Basic 6.0一个基于对象的可视化设计工具一个基于对象的可视化设计工具vbvb的三种工作模式的三种工作模式设计模式、运行模式、中断模式设计模式、运行模式、中断模式VBVB程序组成程序组成工程工程窗体文件窗体文件控件和属性设置控件和属性设置模块文件模块文件 事件代码事件代码25nowthen@VB程序设计教程程序设计教程第第2章章 VB可视化编程基础可视化编程基础2.1 VB对象概念对象概念2.2 窗体和基本控件窗体和基本控件2.3 综合应用综合应用 26nowthen@VB程序设计教程程序设计教程2.1 VB对象的概念对象的概念2.1.1 对象和类对象和类对对象象指指现现实实世世界界中中的的实实体体。
如如一一个个人人、、一辆汽车、一台电脑、一份报表等一辆汽车、一台电脑、一份报表等每个对象有自己的特征每个对象有自己的特征(属性属性)、行为、行为(方方法法)和发生在该对象上的活动和发生在该对象上的活动(事件事件)例如人具有身高、体重等特征,具有行例如人具有身高、体重等特征,具有行走、说话等行为,外界作用在人对象上走、说话等行为,外界作用在人对象上的各种活动,如下雨等的各种活动,如下雨等27nowthen@VB程序设计教程程序设计教程类的概念类的概念 在在现现实实世世界界中中,,许许多多对对象象具具有有相相似似性性质质,,执执行行相相同同的的操操作作,,称称之之为为同同一一类类对对象象类类是是对对同一种对象的集合与抽象同一种对象的集合与抽象 如如人人类类是是“人人”的的抽抽象象类类是是创创建建对对象象实实例的模板,对象则是类的一个实例例的模板,对象则是类的一个实例 类类包包含含所所创创建建对对象象的的属属性性数数据据,,以以及及对对这这些些数数据据进进行行操操作作的的方方法法封封装装和和隐隐藏藏是是类类的的重重要要特特性性,,将将数数据据结结构构和和对对数数据据的的操操作作封封装装在在一一起,类的内部实现细节对用户来说是透明的。
起,类的内部实现细节对用户来说是透明的28nowthen@VB程序设计教程程序设计教程VB中的类和对象中的类和对象VB工工具具箱箱中中的的可可视视图图标标是是VB系系统统设设计计好好的的标标准准控控件件类类通通过过将将控控件件类类实实例例化化,,得得到到真真正正的的控控件件对对象象在在窗窗体体上上画画一一个个控控件件,,就就将将类转换为对象,创建了一个控件对象类转换为对象,创建了一个控件对象29nowthen@VB程序设计教程程序设计教程例例如如::工工具具箱箱内内的的TextBox是是类类(它它确确定定了了TextBox的属性、方法和事件的属性、方法和事件)窗体上显示的是两个窗体上显示的是两个TextBox对象对象30nowthen@VB程序设计教程程序设计教程属性属性、、事件事件和和方法方法构成对象的三要素构成对象的三要素属性属性 存放对象的数据存放对象的数据(决定对象外观及功能决定对象外观及功能)例如,控件名称例如,控件名称、、文本文本、、大小等属性大小等属性对象属性的设置方法:对象属性的设置方法:v 设计阶段设计阶段 利用属性窗口直接设置属性值利用属性窗口直接设置属性值v 程序运行时程序运行时 通过语句通过语句对象名对象名. .属性名属性名= =属性值属性值 例如:例如:Command1.Caption = "确定确定" 注注意意::若若属属性性只只能能在在设设计计阶阶段段设设置置,,在在程程序序运运行行阶段不可改变,称为只读属性。
阶段不可改变,称为只读属性 2.1.2 对象的属性、事件和方法对象的属性、事件和方法 31nowthen@VB程序设计教程程序设计教程事件事件 发生在对象上的事情发生在对象上的事情同一事件,对不同的对象,会引发不同的反应同一事件,对不同的对象,会引发不同的反应:事件事件教师教师_铃声铃声() 讲课讲课End Sub学生学生_铃声铃声()听讲听讲End SubVB为对象预先定义了一系列的事件例如,为对象预先定义了一系列的事件例如,单击单击Click、、获取焦点获取焦点GotFocus 、、按下键盘按下键盘KeyPress 等等 其他人其他人员员_铃声铃声()可不于响应可不于响应End Sub32nowthen@VB程序设计教程程序设计教程事件过程事件过程 应用程序处理事件的步骤应用程序处理事件的步骤应应用用程程序序设设计计的的主主要要工工作作就就是是为为对对象象编编写写事事件过程的代码事件过程的形式如下:件过程的代码事件过程的形式如下:Sub 对象名对象名_事件事件(参数参数) …事件过程代码事件过程代码End Sub事件过程事件过程33nowthen@VB程序设计教程程序设计教程例例:单击按钮单击按钮 ,使,使Text1的字体为的字体为20磅磅.Sub Command1_Click() Text1.FontSize = 20End Sub一一个个动动作作可可能能同同时时发发生生多多个个事事件件。
例例如如单单击击鼠鼠标同时发生了:标同时发生了:Click、、MouseDown、、MouseUp事件事件编程时,只要对需要的事件过程编码编程时,只要对需要的事件过程编码注注意意::在在代代码码窗窗,,自自动动产产生生事事件件过过程程的的模模板板,,不要修改模板的内容,只需键入过程的代码不要修改模板的内容,只需键入过程的代码模板产生模板产生用户输入用户输入34nowthen@VB程序设计教程程序设计教程程程序序执执行行的的次次序序与与程程序序设设计计者者无无关关,,取取决决于于用用户的操作,户的操作,这就是事件驱动程序设计方式这就是事件驱动程序设计方式VB程序的执行步骤如下:程序的执行步骤如下:①① 启动应用程序,装载和显示窗体;启动应用程序,装载和显示窗体;②② 窗体窗体( (或窗体上的控件或窗体上的控件) )等待事件的发生;等待事件的发生;③③ 事件发生时,执行对应的事件过程;事件发生时,执行对应的事件过程;④④ 重复执行步骤重复执行步骤②②和和③③事件驱动事件驱动35nowthen@VB程序设计教程程序设计教程方法方法面向对象的程序设计语言,为程序设计人员提供面向对象的程序设计语言,为程序设计人员提供了一种特殊的过程和函数,称为了一种特殊的过程和函数,称为方法方法。
方方法法是是面面向向对对象象的的,,调调用用时时一一定定要要指指明明对对象象对对象方法的调用格式为:象方法的调用格式为: [对象对象.]方法方法 [参数名表参数名表]若省略对象,表示当前对象,一般指窗体若省略对象,表示当前对象,一般指窗体例如:例如:Text1.SetFocus此语句使此语句使Text1控件获得焦点,光标在本文框内控件获得焦点,光标在本文框内闪烁 36nowthen@VB程序设计教程程序设计教程2.2 窗体和基本控件窗体和基本控件 窗体和控件具有窗体和控件具有基本基本属性属性 例例2.1 (1) (1) Name 名称属性名称属性所创建的对象名称所创建的对象名称, ,在程序中引用在程序中引用2) (2) Caption 标题属性标题属性该属性决定了对象上显示的内容该属性决定了对象上显示的内容3) (3) Height、、Width、、Top和和Left属性属性决定对象的高度、宽度,和位置决定对象的高度、宽度,和位置37nowthen@VB程序设计教程程序设计教程(4)(4) Enabled 属性属性对象是否允许操作对象是否允许操作(5)(5) Visible 属性属性 对象是否可见对象是否可见(6)(6) Font 属性组属性组 文本的外观文本的外观 FontName字体、字体、FontSize大小大小 FontBold粗体、粗体、FontItalic斜体、斜体、 FontStrikethru 删除线、删除线、 FontUnderline 下划线下划线 38nowthen@VB程序设计教程程序设计教程(7)(7) ForeColor属性属性 前景颜色前景颜色(8)(8) BackColor属性属性 背背景颜色景颜色(9)(9) MousePointer 鼠标指针类型鼠标指针类型设设置置值值范范围围0~~15,,由由系系统统指指定定 。
若若为为99,,由用户提供的图形文件定义鼠标指针形状由用户提供的图形文件定义鼠标指针形状10)(10) MouseIcon属性属性在在MousePointer属属性性值值为为99时时,,存存放放自自定定义义的的鼠鼠标标图图标标文文件件((.ico或或.cur))图图标标库库在在Graphics目录下39nowthen@VB程序设计教程程序设计教程控件默认属性控件默认属性所所谓谓默默认认属属性性是是程程序序运运行行时时,,可可以以改改变变某某控控件的值,而不必指定该控件的哪个属性件的值,而不必指定该控件的哪个属性 控控 件件 默认属性默认属性 控控 件件 默认属性默认属性文本框文本框命令按钮命令按钮单选按钮单选按钮TextDefaultValue标签标签图形、图像框图形、图像框复选框复选框 Caption Picture Value例如,下面两条语句是等价的:例如,下面两条语句是等价的:Text1.Text="Visual BASIC"Text1 ="Visual BASIC"40nowthen@VB程序设计教程程序设计教程2.2.2 窗体窗体 窗窗体体是是一一块块画画布布,,是是所所有有控控件件的的容容器器,,用用户户可可以以根根据据自己的需要利用工具箱上的控件在画布上画界面。
自己的需要利用工具箱上的控件在画布上画界面窗体属性决定了窗体的外观和操作窗体属性决定了窗体的外观和操作41nowthen@VB程序设计教程程序设计教程窗体窗体- -事件事件 常用的事件有常用的事件有Click、、DblClick和和LoadLoad事事件件是是在在窗窗体体被被装装入入工工作作区区时时触触发发的的事事件件当当应应用用程程序序启启动动,,自自动动执执行行该该事事件件,,该该事事件件通通常常用用来来在在启启动动应应用用程程序序时时对对属属性性和和变变量进行初始化量进行初始化例例2.2 窗体无最大化按钮和最小化按钮,窗窗体无最大化按钮和最小化按钮,窗体启动时,在标题栏显示体启动时,在标题栏显示“装入窗体装入窗体”,并,并装入一背景图;单击窗体装入另一图、双击装入一背景图;单击窗体装入另一图、双击窗体清除背景图,同时显示不同的文字窗体清除背景图,同时显示不同的文字 42nowthen@VB程序设计教程程序设计教程窗体窗体- -方法方法 使用方法的语法形式:使用方法的语法形式: [对象对象.]方法方法 [参数列表参数列表]vCls方法方法 清清除除运运行行时时在在窗窗体体或或图图形形框框中中产产生生的的文文本本或或图图形形, Cls方法不能清除窗体在设计时的文本和图形方法不能清除窗体在设计时的文本和图形vMove方法方法 可移动窗体或控件,并可改变其大小。
可移动窗体或控件,并可改变其大小 语法格式如下:语法格式如下:[对对象象.]Move 左左边边距距离离[,上上边边距距离离[,宽宽度度[,高高度度]]]43nowthen@VB程序设计教程程序设计教程2.2.3 标签标签标签用来显示文本信息标签用来显示文本信息(不能输入不能输入) 例例2.3 标签属性演示标签属性演示44nowthen@VB程序设计教程程序设计教程2.2.4 文本框文本框 文文本本框框是是一一个个文文本本编编辑辑区区域域,,可可以以在在该该区区域域输输入、编辑、修改和显示正文内容入、编辑、修改和显示正文内容1) Text 显示或输入的正文内容显示或输入的正文内容(2) Maxlength 设设置置文文本本框框可可输输入入的的文文字字最最大大长度默认值为长度默认值为0,表示可以输入任意长字符串表示可以输入任意长字符串注注意意::在在VB中中字字符符长长度度以以字字为为单单位位,,也也就就是是一一个西文字符与一个汉字都是一个字,长度为个西文字符与一个汉字都是一个字,长度为1 45nowthen@VB程序设计教程程序设计教程(3) MultiLine 多行属性多行属性设设置置为为True时时,,文文本本框框可可以以输输入入或或显显示示多多行行正正文文,,同同时时具具有有文文字字处处理理器器的的自自动动换换行行功功能能,,按按Enter键可插入一空行。
键可插入一空行4) ScrollBars 滚动条属性滚动条属性 None 无滚动条无滚动条 Horizontal 水平滚动条水平滚动条 Vertical 垂直滚动条垂直滚动条 Both 同时加水平和垂直滚动条同时加水平和垂直滚动条当当MultiLine为为True时,时,ScrollBars才有效才有效46nowthen@VB程序设计教程程序设计教程(5) PassWordChar 设设置置显显示示文文本本的的替替代代符符例例如如,,当当设设置置为为“*”,,则则在在文文本本框框输输入入的的内内容容均均以以“*”显显示示,,而而存存储储的的值值是是用用户户输输入入的的原原文文一般用于设置口令的输入一般用于设置口令的输入当当MultiLine为为True时时,,该该属属性性不不起起作作用用,,密密码码不允许多行不允许多行6) Locked 指指定定文文本本控控件件是是否否可可被被编编辑辑,,默默认认值值为为False(可可编编辑辑),,当当设设置置为为True时时,,文文本本控控件相当于标签控件的作用件相当于标签控件的作用 47nowthen@VB程序设计教程程序设计教程(7)文本内容进行选择操作文本内容进行选择操作 SelStart 选定的正文开始位置选定的正文开始位置 SelLength 选定的正文长度选定的正文长度 SelText选定的正文内容选定的正文内容这这3个属性互相关联个属性互相关联,例如设置例如设置SelStart、、SelLength后,后,SelText 自动存放指定的文本。
自动存放指定的文本例例2.4 利用属性实现文本信息的复制利用属性实现文本信息的复制 48nowthen@VB程序设计教程程序设计教程文本框文本框-事件事件(1) Changed事件事件 当当Text属性值发生改变时引发该事件属性值发生改变时引发该事件例例 在文本框每输入一个字符就引发一次事件在文本框每输入一个字符就引发一次事件(2) KeyPress事件事件 按按下下并并且且释释放放键键盘盘上上的的一一个个键键时时,,引引发发焦焦点点所所在在控控件件的的KeyPress事事件件,,所所按按键键的的值值存存放放在在参数参数KeyAscii中中例例 对回车的判断对回车的判断 KeyAscii=1349nowthen@VB程序设计教程程序设计教程(3) LostFocus事件事件 对象失去焦点时发生对象失去焦点时发生LostFocus事件事件 该该事事件件主主要要是是用用来来对对数数据据进进行行验验证证和和确确认认,,常用于检查常用于检查Text属性的内容属性的内容4) GotFocus事件事件 GotFocus事事件件与与LostFocus事事件件相相反反,,当当一个对象获得焦点时发生一个对象获得焦点时发生50nowthen@VB程序设计教程程序设计教程文本框文本框-方法方法文文本本框框最最有有用用的的方方法法是是SetFocus,,把把光光标标移移到指定的文本框中。
其形式如下:到指定的文本框中其形式如下: [对象对象.] SetFocusSetFocus还还 可可 以以 用用 于于 如如 CheckBox、、CommandButton、、ListBox、、ComboBox等等控件例例2.5 对对输输入入的的数数据据进进行行合合法法性性检检验验,,过过滤滤不不合法的数据合法的数据51nowthen@VB程序设计教程程序设计教程2.2.5 命令按钮命令按钮 用于程序运行时执行相应的事件用于程序运行时执行相应的事件1. 属性属性(1) Caption 命令按钮上显示的文字命令按钮上显示的文字(2) Style 按钮样式按钮样式 0 —— Standard:默认,按钮上不能显示图形:默认,按钮上不能显示图形 1 —— Graphical:按钮上可以显示图形和文字:按钮上可以显示图形和文字 (3) Picture 在按钮装入图形在按钮装入图形(4) ToolTipText 加以文字提示加以文字提示2. 事件事件 命令按钮一般接收命令按钮一般接收Click事件事件 52nowthen@VB程序设计教程程序设计教程2.3 综合应用综合应用 例例2.6建立一个类似记事本的应用程序,提供:建立一个类似记事本的应用程序,提供:(1) (1) 剪切、复制和粘贴的编辑操作剪切、复制和粘贴的编辑操作(2) (2) 字体大小的格式设置字体大小的格式设置分析分析::(1) 建建立立一一个个文文本本框框输输入入文文本本,,文文本本框框应应该该有有滚滚动动条条,,为了便于调试,程序运行时文本框有初始值。
为了便于调试,程序运行时文本框有初始值2) 利利用用文文本本框框的的SelTextSelText属属性性实实现现“剪剪切切、、复复制制和和粘粘贴贴”的编辑操作的编辑操作3) ““格式格式”设置利用设置利用Font对象实现对象实现53nowthen@VB程序设计教程程序设计教程本章小节本章小节类类是是同同种种对对象象的的集集合合与与抽抽象象,,包包含含所所创创建建对对象象的的属属性性描描述述和和行行为为特特征征的的定定义义,,是是创创建建对对象象实实例的模板例的模板对象三要素:对象三要素:属性、事件属性、事件、、方法方法窗体窗体 是所有控件的容器是所有控件的容器基本控件基本控件 标签、文本框、命令按钮标签、文本框、命令按钮54nowthen@VB程序设计教程程序设计教程第三章第三章 VB语言基础语言基础 3.1 数据类型数据类型3.2 变量和常量变量和常量3.3 运算符和表达式运算符和表达式3.4 程序结构和编码规则程序结构和编码规则3.5 综合应用综合应用55nowthen@VB程序设计教程程序设计教程3.1 数据类型数据类型 56nowthen@VB程序设计教程程序设计教程3.2 变量变量变量变量 在程序运行中其存储的值可以改变在程序运行中其存储的值可以改变命名规则:命名规则:v 必必须须以以字字母母或或汉汉字字开开头头,,由由字字母母、、汉汉字字、、数数字或下划线组成,长度小于等于字或下划线组成,长度小于等于255个字符个字符v 不能使用不能使用VB中的关键字中的关键字v VB不不区区分分变变量量名名的的大大小小写写,,一一般般变变量量名名首首字字母母用用大大写写,,其其余余用用小小写写字字母母表表示示;;常常量量全全部部用用大写字母表示大写字母表示57nowthen@VB程序设计教程程序设计教程变量声明变量声明 用用Dim语句显式声明变量语句显式声明变量 Dim 变量名变量名 [As [As 类型类型] ]As部分缺省,创建的变量为变体类型部分缺省,创建的变量为变体类型 一条一条Dim语句可同时定义多个变量语句可同时定义多个变量,但每个变量但每个变量应有类型说明,否则为变体型应有类型说明,否则为变体型 。
例如:例如:Dim m,,n As Integer, x,,y As Single 则创建了变体型变量则创建了变体型变量m、、x,整型变量,整型变量n和单精度和单精度型变量型变量y 58nowthen@VB程序设计教程程序设计教程常量常量 常量是在程序运行中不变的量常量是在程序运行中不变的量,VB,VB有三种常量:有三种常量:直接常量直接常量 其常数值直接反映了其类型其常数值直接反映了其类型 符号常量符号常量 用户声明,用户声明,便于程序阅读或修改便于程序阅读或修改Const 符号常量名符号常量名 [As [As 类型类型] = ] = 表达式表达式例如:例如: Const PI = 3.14159 系统常量系统常量 系统提供许多内部常量系统提供许多内部常量 例如:例如:vbCrLfvbCrLf 回车回车/ /换行组合符换行组合符 59nowthen@VB程序设计教程程序设计教程3.3 运算符和表达式运算符和表达式 和其他语言一样,和其他语言一样,VB中也具有丰富的运算符,中也具有丰富的运算符,通过运算符和操作数组合成表达式,实现程序通过运算符和操作数组合成表达式,实现程序编制中所需的大量操作。
编制中所需的大量操作运算符是表示实现某种运算的符号运算符是表示实现某种运算的符号VB中的运中的运算符可分算符可分算术运算符算术运算符、、字符串运算符字符串运算符、、关系运关系运算符算符和和逻辑运算符逻辑运算符4类60nowthen@VB程序设计教程程序设计教程算术运算符算术运算符例:例:5+10 mod 10 \ 9 / 3+2 ^2 5+10 mod 10 \ 9 / 3+2 ^2 结果:结果:1010 注意注意:对算术运算符两边的操作数应是数值:对算术运算符两边的操作数应是数值型,若是数字字符或逻辑型,则自动转换成型,若是数字字符或逻辑型,则自动转换成数值类型后再运算数值类型后再运算例如:例如:30-True 结结果果是是31,,逻逻辑辑量量True转转为为数数值值-1,,False转为数值转为数值0False + 10 + "4" 结果是结果是1461nowthen@VB程序设计教程程序设计教程字符串运算符字符串运算符& 两旁的操作数可任意,转换成字符型后再连接两旁的操作数可任意,转换成字符型后再连接+ 两旁的操作数应均为字符型;两旁的操作数应均为字符型; 1)数值型数值型:则进行算术加运算则进行算术加运算 2)一个为数字字符,另一个为数值,自动将数一个为数字字符,另一个为数值,自动将数字字符转换为数值后进行算术加字字符转换为数值后进行算术加 3)一个为非数字字符,另一个为数值型,出错一个为非数字字符,另一个为数值型,出错例如:例如: 操作操作 结果结果 操作操作 结果结果"ab" & 123 "ab123 " "ab" + 12 出错出错"12" & 456 " 12456 " "12" + 456 468 "12" & True "12True""12" + True 1162nowthen@VB程序设计教程程序设计教程关系运算符关系运算符关系运算符是双目运算符,作用是对两个操作数进行大关系运算符是双目运算符,作用是对两个操作数进行大小比较,若关系成立,则返回小比较,若关系成立,则返回True,,否则返回否则返回False。
操作数可以是数值型、字符型操作数可以是数值型、字符型运算符运算符例例结果结果=" ABCDE " = " ABR "False>" ABCDE " > " ABR "False>=" bc" >= "abcde "True<23<3False<=" 23 " < " 3 " True<>" abc" <> "abcde "True63nowthen@VB程序设计教程程序设计教程逻辑运算符逻辑运算符 逻辑运算符除逻辑运算符除Not是单目运算符外,其余都是双目运算是单目运算符外,其余都是双目运算符,作用是将操作数进行逻辑运算,结果是逻辑值符,作用是将操作数进行逻辑运算,结果是逻辑值True或或False 64nowthen@VB程序设计教程程序设计教程表达式表达式 1.组成组成 变量、常量、函数、运算符和圆括号变量、常量、函数、运算符和圆括号2.书写规则书写规则 运算符不能相邻运算符不能相邻 例例a+ -b是错误的是错误的 乘号不能省略乘号不能省略 例例x 乘以乘以y 应写成:应写成:x*y 括号必须成对出现括号必须成对出现(均使用圆括号均使用圆括号) 表达式从左到右在同一基准上书写,无高低、大小表达式从左到右在同一基准上书写,无高低、大小3. 不同数据类型的转换不同数据类型的转换 运算结果的数据类型向精度高的数据类型靠运算结果的数据类型向精度高的数据类型靠 Integer
如果取消括号有何问题?请读者考虑 sin(45*3.14/180)+(exp(10)+log(10))/sqr(x+y+1)66nowthen@VB程序设计教程程序设计教程3.3.3 常用函数常用函数 VBVB函数函数: : 内部函数和用户自定义函数内部函数和用户自定义函数内内部部函函数数数学函数数学函数转换函数转换函数字符串函数字符串函数日期函数日期函数格式输出函数格式输出函数调用函数的形式:调用函数的形式:函数名函数名[(参数列表)(参数列表)]67nowthen@VB程序设计教程程序设计教程数学函数数学函数 -43Int(-3.5)Int(3.5) 取小于或等于取小于或等于N的最大整数的最大整数Int(N)2.3Log(10)自然对数自然对数Log(N)-3 3Fix(-3.5)Fix(3.9)取整取整Fix(N)20.086Exp(3)enExp(N)1Cos(0)余弦函数余弦函数Cos(N)3.5Abs(-3.5)取绝对值取绝对值Abs(N)结果结果实例实例含义含义函数名函数名68nowthen@VB程序设计教程程序设计教程数学函数数学函数 0Tan(0)正切函数正切函数Tan(N)3Sqr(9)平方根平方根Sqr(N)-1 Sgn(-3.5)符号函数符号函数Sgn(N) 0Sin(0)正弦函数正弦函数Sin(N)-4 4Round(-3.5)Round(3.5)四舍五入取整四舍五入取整Round(N)[0,1)之间的数之间的数Rnd产生随机数产生随机数Rnd[(N)]结果结果实例实例含义含义函数名函数名Rnd函数返回函数返回0和和1(包括(包括0但不包括但不包括1)之间的双精度随机数)之间的双精度随机数. 每次运行时,要产生不同序列的随机数,先执行每次运行时,要产生不同序列的随机数,先执行Randomize 语句。
语句产生产生a~b的之间的随机整数:的之间的随机整数:Int(Rnd *(b-a)+a)69nowthen@VB程序设计教程程序设计教程转换函数转换函数 "ABC"Ucase$("abc")小写字母转为大写字母小写字母转为大写字母Ucase(C)"144"Oct$(100)十进制转换成八进制十进制转换成八进制Oct](N)"123.45"Str$(123.45)数值转换为字符串数值转换为字符串Str(N)123Val("123AB")数字字符串转换为数值数字字符串转换为数值Val(C) "abc"Lcase$("ABC")大写字母转为小写字母大写字母转为小写字母Lcase$(C)64Hex(100)十进制转换成十六进制十进制转换成十六进制Hex(N)"A"Chr$(65)ASCII码值转换成字符码值转换成字符Chr(N)2003-11-13CDate("2003/11/13")转换成日期型转换成日期型CDate65Asc("A")字符转换成字符转换成ASCII码值码值Asc(C)结果结果实例实例功能功能 函数名函数名70nowthen@VB程序设计教程程序设计教程字符串函数字符串函数 "BCD"Mid("ABCDE",2,3)取字符子串取字符子串Mid(C,N1[,N2])"ABCD"Trim(" ABCD ")去掉字符串两边空格去掉字符串两边空格Trim(C)"A3AB3" Replace("ACDABCD","CD","3") 用用C2替代替代C1Replace(C,C1,C2)"" Space(3) 产生产生N个空格的字符串个空格的字符串 Space(N)4Len("AB教育教育")字符串长度字符串长度Len(C)"ABC"Left("ABCDE",3)取字符串左边取字符串左边n个字符个字符Left(C,N)7InStr(2,"EFABCDEFG","EF")从从n开始,在开始,在C1中找中找C2InStr([N,]C1,C2[,M])结果结果实例实例说明说明 函数名函数名71nowthen@VB程序设计教程程序设计教程字符串函数字符串函数 "ABCD" TRim(“ ABCD ")去掉字符串两边的空格去掉字符串两边的空格TRim(C)"DCBA"StrReverse("ABCD")将字符串反序将字符串反序StrReverse(C)"AAA"String(3,"ABC")重复首字符重复首字符n次次String(N,C)S(0)="123" S(1)=“ab"S=Split("123,ab",",")将字符串分隔成字符数将字符串分隔成字符数组。
与组与Join作用相反作用相反Split(C[,D])“"Space(3)产生产生n个空格的字符串个空格的字符串Space(N)"ABCD"RTrim("ABCD ")去掉字符串右边空格去掉字符串右边空格RTrim(C)“BCD"Right("ABCD",3)取字符串右边取字符串右边n个字符个字符Right(C,N)结果结果实例实例说明说明 函数名函数名72nowthen@VB程序设计教程程序设计教程日期函数日期函数 Second(#1:12:56PM#)返回秒返回秒(0~59)Second(C|N)Time返回系统时间返回系统时间Time[()]Year(365)返回年代号返回年代号(1753~2078)Year(C|N)Now返回系统日期和时间返回系统日期和时间NowMonth("2003,05,01")返回月份代号返回月份代号(1~12)Month(C|N)Minute(#1:12:56PM#)返回分钟返回分钟(0~59)Minute(C|N)Hour(#1:12:56PM#)返回小时返回小时(0~24)Hour(C|N)Day("2003,05,01")返回日期代号返回日期代号(1~31)Day(C|N)Date返回系统日期返回系统日期Date[()]实例实例说明说明 函数名函数名例例 计算从当前日期到计算从当前日期到20072007年年6 6月月3030日有多少天?表达式为:日有多少天?表达式为:DateDiff("dDateDiff("d", Now, #6/30/2007#) ", Now, #6/30/2007#) 73nowthen@VB程序设计教程程序设计教程Shell函数函数 Shell函数可调用各种应用程序。
格式如下:函数可调用各种应用程序格式如下:Shell(命令字符串命令字符串[ [,,窗口类型窗口类型] ])命命令令字字符符串串为为要要执执行行的的应应用用程程序序名名( (包包括括路路径径) ),必须是可执行文件,必须是可执行文件(.com、、.exe、、.bat)窗窗口口类类型型表表示示执执行行应应用用程程序序的的窗窗口口状状态态,,0~4,,6的整型数值,的整型数值,1表示正常窗口状态表示正常窗口状态函函数数调调用用成成功功返返回回一一个个任任务务标标识识ID,,不不成成功功,,则返回则返回0 例例 i = Shell( "calc.exe") 本章目录本章目录74nowthen@VB程序设计教程程序设计教程3.4 程序结构和编码规则程序结构和编码规则 本章目录本章目录75nowthen@VB程序设计教程程序设计教程编码规则编码规则 (1) VB代码不区分字母的大小写代码不区分字母的大小写关键字关键字 首字母自动转换成大写,其余字母转换成小写首字母自动转换成大写,其余字母转换成小写用用户户自自定定义义的的变变量量、、过过程程名名,,以以第第一一次次定定义义的的为为准准,,以以后输入的自动向首次定义的形式转换。
后输入的自动向首次定义的形式转换2) 语句书写自由语句书写自由一一行行上上可可书书写写多多句句语语句句(用用冒冒号号分分隔隔),,一一行行最最多多255个字符单单行行语语句句可可分分若若干干行行书书写写,,在在本本行行后后加加入入续续行行符符(空空格和下划线格和下划线)本章目录本章目录76nowthen@VB程序设计教程程序设计教程3.5 综合应用综合应用例例3.1 模仿字处理软件中字符串替换功能模仿字处理软件中字符串替换功能设计思路:设计思路:v利利用用Shell函函数数调调用用winword.exe执执行行Word程程序实现序实现替换功能替换功能v利利用用查查找找(InStr)、、取取子子串串(Left、、Mid)等等函函数数实现实现替换功能替换功能v利用替换利用替换(Replace)函数实现函数实现替换功能替换功能本章目录本章目录77nowthen@VB程序设计教程程序设计教程本章小节本章小节变量:在程序运行中其存储的值可以改变变量:在程序运行中其存储的值可以改变变量声明变量声明 Dim 变量名变量名 [As 类型类型]运运算算符符 算算术术运运算算符符、、字字符符串串运运算算符符、、关关系系运运算算符和逻辑运算符符和逻辑运算符函数函数 内部函数内部函数、、用户自定义函数用户自定义函数 调用函数形式:调用函数形式:函数名函数名[ [(参数列表)(参数列表)] ]Shell函数函数 调用各种应用程序调用各种应用程序本章目录本章目录78nowthen@VB程序设计教程程序设计教程结 束。












