第1章认识VisualBasic本章主要内容程序设计语言基本概念VB设计VBVB的集成开发环境1.1程序设计语言计算机的工作原理——“存储程序”(存储程序和程序控制)计算机只能执行预先由程序安排它去做的事情要利用计算机来解决问题,就必须采用程序设计语言来编制程序程序设计语言大致有三类:机器语言,汇编语言,高级语言(1)机器语言一个机器语言程序段:00111110000110101111111000100100110100110010111101110110优点:能被计算机直接识别和执行,执行速度快缺点:通篇是0和1,可读性太差,编程不方便,指令难记,容易出错且不易修改(2)汇编语言汇编语言采用记忆符号来代替机器语言的二进制编码,如用记忆符ADD代替加法指令,OUT代替输出指令等。前述的机器语言程序段,改用汇编语言可写成:LDA,26ADDA,36OUT(48),AHALT需要“翻译”编程较为方便。仍脱离不开具体机器的指令系统,它所用的指令符号与机器指令基本上是一一对应的,编程效率不高,因此一般人很难使用(3)高级语言高级语言与人类自然语言和数学式子相当接近,而且不依赖于某台机器,通用性好。BASIC语言编写的简单程序例:LETA=26+36PRINTAEND要有一个“翻译”过程。把人们用高级语言编写的程序(称为源程序)翻译成机器语言程序(称为目标程序)一般采用两种翻译方式,一是编译方式,二是解释方式。它们所采用的翻译程序分别称为编译程序和解释程序VB采用上述两种翻译方式,通常情况下,学习阶段采用解释方式;应用阶段采用编译方式机器语言程序解释系统/编译系统翻译VB语言源程序1.2VB概述1.2.1VB的发展过程Windows的产生,推动了Windows应用程序的开发基本BASIC→结构化BASIC→可视化BASIC→网络化BASIC(VB.NET)1.2.2VB的特点1.面向对象的可视化编程把程序和数据“封装”起来成为一个对象;每个对象都是可视的从VB工具箱中选用控件(即现成部件,如文本框、命令按钮等),构成应用程序的用户界面2.事件驱动的编程机制传统的程序设计语言面向过程,VB语言面向对象通过事件来触发执行相应的事件过程(“事件驱动“),从而执行对象的操作和达到运算、处理的目的。3.4.友好的VB集成开发环境VB1.启动VB按运行一般应用程序的方法来启动它。创建一个默认的“标准EXE”类型的VB应用程序“新建工程”对话框(图1.3)VB集成开发环境(图1.4)2.退出VB1.2.3VB的启动和关闭1.3.1设计VB应用程序的步骤大致分为两大部分工作:设计用户界面和编写程序代码用户界面(用户使用计算机的综合操作环境)先要确定对象,然后针对这些对象进行代码编程最常用的对象是窗体(即窗口),各种控件对象必须建立在窗体上。用户界面设计又包括建立对象和对象属性设置两部分。1.3VB应用程序设计初步设计VB应用程序的大致步骤如下:(1)(2)(3)编写程序代码,(4)保存和运行应用程序VB应用程序设计初步1.3.2第一个简单程序例1.1在运行中当用鼠标单击窗体时,窗体上显示出“欢迎您来到VB世界!”1.创建窗体在系统默认提供的窗体上输出若干文字,不必专门设计用户界面。2.编写程序代码,建立事件过程代码窗口:进入;选择了对象和事件;编写程序代码事件过程名,由两部分组成:对象名和事件名图1.5代码窗口图1.7程序代码过程框对象框标题3.保存工程保存窗体文件(.frm)和工程文件(.vbp)4.执行“启动”命令,即用解释方式运行程序执行“结束”命令,即可结束程序的运行窗体显示情况1.3.3第二个简单程序例1.2设计一个应用程序,由用户输入正方形的边长,计算并输出正方形的面积分析:要创建的应用程序用户界面(图1.9)文本框Text1文本框Text2命令按钮Command1命令按钮Command2标签Label1标签Label2窗体Form1窗体上含有两个标签、两个文本框和两个命令按钮两个标签分别用于显示文字“边长”和“面积”两个文本框用于输入数据和显示计算结果程序功能要求:运行时,用户在“边长”文本框中输入某一个数,当单击“计算”按钮时,则在“面积”文本框中显示该数的平方数。单击“结束”按钮,则结束程序的运行。第二个简单程序设计步骤1.创建窗体在默认窗体Form1上添加控件,以构建用户界面2.设置控件的方法在Form1窗体上添加以下控件:标签Label1:用于显示文字“边长”;标签Label2:用于显示文字“面积”。文本框Text1文本框Text2:用于显示计算结果(平方数)。命令按钮Command1:用于计算输入数的平方,并把结果显示在文本框Text2命令按钮Command2:用于结束应用程序的运行。3.设置对象属性在“属性窗口”中进行(1)设置窗体Form1的Caption(标题名)属性为“计算正方形的面积”。(2)设置标签Label1的Caption属性为“边长”。(3)设置标签Label2的Caption属性为“面积”。(4)设置文本框Text1的Text(文本内容)属性为空。(5)设置文本框Text2的Text属性为空。(6)设置按钮Command1的Caption属性为“计算”。(7)设置按钮Command2的Caption属性为“结束”。4.编写程序代码,建立事件过程例1.2的程序代码(图1.10)程序说明:Dim语句;数据类型Single(单精度);Val函数;语句“Text2.Text=x*x”的作用5.保存工程保存窗体文件和工程文件6.运行程序单击工具栏上的“启动”按钮,即可采用解释方式来运行程序。运行后,在“边长”文本框中输入某一个数(如23),单击“计算”按钮时,系统会启动事件过程Command1_Click,则取数和运算,最后把计算结果显示在“面积”文本框(Text2)中。单击“结束”按钮,可以启动事件过程Command2_Click,则执行End语句来结束程序的运行。1.4对象和事件的基本概念1.4.1对象及其属性、1.对象对象是VB系统中的基本运行实体,如窗体(Form)、标签(Label)、文本框(TextBox)、命令按钮(CommandButton)等。对象是一组程序代码和数据的集合。2.其他对象的载体或容器。如窗体3.属性对象的特征。不同的对象有不同的属性。每一个对象都有一组特定的属性。例如文本框的属性有Name(名称)、Text(文本内容)、Maxlength(最大字符数)、Multiline(多行)等。属性默认值设置对象属性的常用两种方法(1)在属性窗口中设置(2)在程序运行中更改对象的属性(动态修改)[对象名.]属性名=示例:Label1.Caption=输入数´设置标签的标题4.方法方法是对象能够执行的动作。它是对象本身内含的函数或过程,用于完成某种特定的功能一般格式:[对象名.]方法名[(参数)]Form1.Cls´消除窗体Form1上的内容PrintVisualBASIC´5.类一组用来定义对象的相关属性和数据的集合类是创建对象的模型,对象则是按模型生产出来的成品1.4.2事件、事件过程及事件驱动1.由系统预先设置好的、能被对象识别的动作。例如:鼠标的移动(MouseMove)、单击(Click)和双击(Dblclick),窗体的装载(Load)等。每一种对象能识别的事件是不同的程序中一般只用到几个常用的事件(与操作要求有关)2.事件过程事件过程的语法格式如下Sub对象名_事件名()EndSub示例命令按钮Command1的单击(Click)PrivateSubCommand1_Click()Forml.Caption=在窗体上画圆“´以圆心(2400,1500),半径为800画圆Forml.Circle(2400,1500),800EndSub3.事件驱动当某个事件(一般由用户操作来引发)发生时,系统就会自动执行此事件的事件过程由事件控制整个程序的执行流程事件过程要经过事件的触发才能被执行,这种工作模式称为事件驱动方式1.5VB的集成开发环境集VB程序的设计、编辑、编译和调试于一体,集中提供程序开发所需要的各种工具、窗口和方法1.5.1由标题栏、菜单栏和工具栏组成VB工作状态(模式):设计、运行和中断(Break)VB工具箱中包含了各种VB标准控件。包含一个指针和20个标准控件(表1.1)控件就像盖房子使用的门、窗、砖瓦等,都是现成部件,只要到现场组合就可以了。1.在窗体上添加一个控件2.控件的缩放、移动、复制和删除3.选定多个控件4.控件的布局1.5.2工具箱和控件1.5.3其他窗口1.窗体编辑器窗口设计应用程序的界面。设计窗体的外观,添加控件、图形,移动控件、改变大小等。2.工程资源管理器窗口管理工程中的窗体和各种模块以层次结构方式列出了当前工程中的所有文件三个按钮:“查看代码”,“查看对象”,“切换文件夹”3.属性窗口用于列出所选定窗体或控件的属性设置值,并允许用户设置或修改这些属性值将作为程序运行时各对象属性的初始值(1)对象列表框(2)排序方式选项卡(3)属性列表框(4)属性解释区4.代码窗口用来编辑程序代码5.窗体布局窗口显示窗体在屏幕中的位置。调整窗体的位置1.6工程的管理VB是通过工程(Project,也称为项目)来管理应用程序中的所有不同文件的。1.6.1工程中的文件(常用)工程文件.vbp窗体文件.frm标准模块文件.bas1.6.2创建、打开和保存工程创建工程;打开工程;保存工程;关闭工程1.6.3添加、删除和保存文件添加文件、删除文件和保存文件1.6.4生成可执行文件两种运行程序的方式:解释方式;编译方式执行“文件”菜单中的“生成....exe”命令示例:(1)将例1.2的应用程序“编译”成可执行文件,然后进入Windows环境,直接运行该程序文件(2)分别采用解释方式和编译方式运行“时钟”程序(例10.8)