计算机等级考试二级VB基础教程.doc
计算机等级考试二级VB基础教程 1.1 Visual Basic 概述 1.Visual Basic是什么 Visual Basic(简称VB)是Microsoft公司开发的一种通用的基于对象的程序设计语言。 VB简单易学,通用性强,用途广泛。 2.VB的功能 VB可以用于可以开发多媒体、数据库、网络、图形等方面的应用程序。 数据访问特性允许对包括 Microsoft SQL Server 和其它企业数据库在内的大部分数据库格式建立数据库和前端应用程序,以及可调整的服务器端部件。 已完成的应用程序是使用Visual Basic 虚拟机真正 .exe 文件,可以自由发布。 3.VB的发展 4.VB中的几个常用术语 工程(Project):是指用于创建一个应用程序的文件的集合。 对象(object):可控制的某个东西,VB中主要有两类对象:窗体和控件。 窗体(form):应用程序的用户界面,即windows。 控件(control):指的是各种按扭、标签、文本框等。 属性(property):是指对象的特性,如大小、标题或颜色。 5. VB的系统特性 (2)工程文件格式 VB 在创建和编译工程时要产生许多文件,分为:设计时文件、杂项开发文件和运行时文件。 设计时文件是工程的建造块,例如基本模块 (.bas) 和窗体模块 (.frm)。 杂项文件是由 Visual Basic 开发环境中的各种不同的进程和函数产生的,例如打包和展开向导从属文件 (.dep)。 1(4 利用VB开发应用程序的一般步骤 一个VB程序也称为一个工程,由窗体、标准模块、自定义控件及应用所需的环境设置组成。开发步骤一般如下: 1( 创建程序的用户界面 2( 设置界面上各个对象的属性 3( 编写对象响应事件的程序代码 4( 保存工程 测试应用程序,排除错误 5(6( 创建可执行程序 2.1 VB用户界面设计基础 1. 概述 界面的设计有两步:先绘制控件,然后确定控件属性。 绘制控件:在工具箱里单击想画的控件,在窗体里按下鼠标并拖曳,然后松开鼠标即可。确定属性:先选中控件,然后按F4键或单击工具栏上的 属性窗口进入属性(Properties)窗口,再在属性窗口中找到要设置的属性并进行设置。 2. 常用属性的设置 (1)Name属性 对象都有名字,计算机把名字看成对象于对象之间的根本差异,因此在同一窗体里不许出现重名的情况(除非这是一个控件数组),且名字不得超过40个字。 在简单的程序里,给控件命名不是很必要,完全可以使用控件Name属性的缺省值。例如Text1。但在有几十个控件的复杂窗体里,就很难区分它们。所以,VB推荐由三个小写字母的前缀和一个第一个字母为大写的描述性单词组成的名字。例如cmdMyButton是一个命令按钮(前缀是cmd) (2)Caption属性 Caption即标题,是可以在对象外观上直接看见的文本,可以长达255字符,包括空格和标点符号,比如一个叫cmdOk的命令钮,它的Caption属性就可以是“Ok”。 注意:并不是所有的对象都有此属性,比如文本框、图片框、线条等就没有。 为按钮设置热键:在设置Caption属性时,在需要加下划线的字母前加上 “&” 符号,例如 “&File”,输出的就是“File”,这样就可以通过按ALT键和标题上那个带下划线的字母来选取它了, 不必为此编任何代码。 Name和 caption的比较: 1) Name是系统用来识别对象的,编程时需要用它来指代各对象;Caption是给用户看的,提示用户该对象的作用; 2) Name可以采用系统默认的名称,但Caption应该根据实际情况改成意义明了的名词; 3)所有对象都有Name,但不一定都有Caption; (3)Top,Left属性 这两个属性决定对象的位置。只有两种情况需要在属性窗口里设置这两个属性:第一种是用户没有鼠标,第二种是程序员需要十分精确地设定这两个值。当选中对象,单击并拖曳它的时候,便在修改这两个值了。 (4)Height,Width属性这两个属性决定了对象的大小,当选中控件时,它周围出现八个小黑方块,把鼠标指向这些方块,鼠标指针将变成一个双向的箭头,这时按下鼠标并拖曳它,即可改变控件的大小,也就改变了Height,Width属性。 1. 窗体的属性 (1)设置属性的方法 1)在设计态通过属性窗口设置 直接在属性窗口中选择或输入既可。 2)在程序代码中改变属性值 代码中的格式为: 对象名 . 属性 = 属性值 例:Form1.BackColor=RGB(255,0,0) 2. 窗体的常用方法 (1)Hide方法 用以隐藏 MDIForm 或 Form 对象,但不能使其卸载。 语法:object.Hide object 所在处代表一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,则带有焦点的窗体就认为是该 object。 说明: 隐藏窗体时,它就从屏幕上被删除,并将其 Visible 属性设置为 False。 用户将无法访问隐藏窗体上的控件,但是对于运行中的 Visual Basic 应用程序,或对于通过 DDE 与该应用程序通讯的进程及对于 Timer 控件的事件,隐藏窗体的控件仍然是可用的。 窗体被隐藏时,用户只有等到被隐藏窗体的事件过程的全部代码执行完后才能够与该应用程序交互。 如果调用 Hide 方法时窗体还没有加载,那么 Hide 方法将加载该窗体但不显示它。 (2)Move方法 用以移动 MDIForm、Form 或控件。 语法:object . Move left, top, width, height 说明:只有 left 参数是必须的。但是,要指定任何其它的参数,必须先指定出现在语法中该参数前面的全部参数。例如,如果不先指定 left 和 top 参数,则无法指定 width 参数。任何没有指定的尾部的参数则保持不变。 (3)Print 方法 在 Immediate 窗口中显示文本。 语法:object . Print outputlist Print 方法的语法具有下列对象限定符和部分: 部分 描述 Object 必需的。对象表达式,其值为“应用于”列表中的对象。 outputlist 可选的。要打印的表达式或表达式的列表。如果省略,则打印一空白行。 outputlist 参数具有以下语法和部分: Spc(n) | Tab(n) expression charpos 说明: 可以用空白或分号来分隔多个表达式。 (6)Show方法 用以显示 MDIForm 或 Form 对象。 语法:object.Show style, ownerform 说明: 如果调用 Show 方法时指定的窗体没有装载,Visual Basic 将自动装载该窗体。 当 Show 在显示无模式窗体时,随后遇到的代码则要执行。当 Show 在显示模式窗体 (modal form) 时,则随后的代码直到该窗体被隐藏或卸载时才能执行。 当 Show 在显示模式窗体时,除了模式窗体中的对象之外不能进行输入(键盘或鼠标单击)。对其它窗体进行输入前程序必须隐藏或卸载模式窗 体(通常是处于响应用户某些操作状态)。MDIForm 不能是形式的。 在模式窗体显示时,虽然应用程序中的其它窗体失效,但其它应用程序不会失效。 应用程序的启动窗体在其 Load 事件调用后会自动出现。 下面的例子说明如何使用ownerform 参数: Private Sub cmdShowResults_Click() ' 显示模式窗体 frmResults. frmResults.Show vbModal, Me End Sub (7)Cls方法 清除运行时 Form 或 PictureBox 所生成的图形和文本。 语法:object.Cls 说明: Cls 将清除图形和打印语句在运行时所产生的文本和图形,而设计时在 Form 中使用 Picture 属性设置的背景位图和放置的控件不受 Cls 影响。如果激活 Cls 之前 AutoRedraw 属性设置为 False, 调用时该属性设置为 True,则放置在 Form 或 PictureBox 中的图形和文本也不受影响。这就是说,通过对正在处理的对象的 AutoRedraw PictureBox 中的图形和文本。 属性进行操作,可以保持 Form 或调用 Cls 之后,object 的 CurrentX 和 CurrentY 属性复位为 0。 3.窗体的常用事件 (1) Load事件 这个事件发生在窗体被装入内存时,且发生在窗体出现在屏幕之前。窗体出现之前,Visual Basic会看一看Load事件里有没有代码,如果有,那么它先执行这些代码,再让窗体出现在屏幕上。 (2) Click事件,Dblclick事件 这两个事件在单击或双击窗体时发生。不过单击窗体里的控件时,窗体的Click事件并不会发生,Visual Basic会去看控件的Click事件里有没有代码。 (3)Activate (活动事件)与Deactivate(非活动事件) 显示多个窗体时,可以从一个窗体切换到另一个窗体。每次激活一个窗体时,发生Activate 事件,而前一个窗体发生Deactivate事件。 (4)Resize事件 在窗体被改变大小时会触发此事件。 4.窗体的控制 (1) 装入或卸出窗体 要装入或卸出窗体,用Load 或Unload语句。 装入窗体: Load formName 卸出窗体: UnLoad formName FormName变量是要装入或卸出的窗体名。 Load语句只是把窗体装入内存,并不显示出来,要显示窗体可以使用窗体的Show方法。 (2) 显示或隐藏窗体 要显示或隐藏窗体,用Show或Hide方法。若尚未装入内存则先装入再显示。 显示窗体: formName.show mode 隐藏窗体: formName.hide FormName变量是窗体名,可选变元mode为0(缺省值)时窗体为非模态,为1时窗体为模态。模态窗体完全占有应用程序控制权,不允许切换到别的应用程序,除非关闭而非模态窗体则反之。 (3)END语句 END语句的功能是终止应用程序的执行,并从内存卸在所有窗体。 语法是: END 2.3 控件 1.常用控件介绍 (1)常用控件的属性、方法和事件 ComboBox 组合框(将列表框和文本框结合在一起) Style属性 外观属性:取0时,系统创建一个带下拉式列表框的组合框;为1时,系统创建一个由文本框和列表框直接组合在一起的简单组合框,可以从列表框中选择,也可以直接在文本框中输入;为2时,系统创建一个没有文本框的下拉式列表框,单击列表框上的按钮才显示文本框,用户不能在文本框中输入,只能在列表框中选择。 Text 属性 其值为用户从列表框中选定的文本或直接输入的文本。 AddItem方法 添加列表项,使用格式: 对象名. AddItem<列表项文本>,插入位置序号 若不指定位置,则插入到列表末尾。 Clear方法 删除列表所有项目 RemoveItem 方法 删除列表项,使用格式: 对象名 . RemoveItem 删除项序号 CommandButton 命令按钮 Cancel属性 取消属性,它为True时, 按ESC即等于单击此按钮。 Default属性 缺省属性,它为True时, 按回车键即等于单击此按钮。 Timer计时器 Interval属性 两次调用Timer事件的事件间隔,用于创建动态效果。 Frame 框架 CheckBox 复选框 OptionButton选项按钮 Alignment属性 决定它们的对齐方式,0=左对齐,1=右对齐。 Value属性 决定它们是否被选中的属性 2.常用控件的使用辨析 (1)文本框和标签的区别: 文本框通常用于向计算机输入信息,而标签通常用于输出信息。文本框是一个十分重要的控件,因为由复选框和选项按钮向程序输入的信息毕竟只有少数的几条信息而已。标签和文本框的区别很小,标签可以看成是一个在运行时不能修改正文的文本框,因此标签主要用于输出信息。 (2) Label的AutoSize属性和WordWrap属性 为了使标签具有垂直伸展和字换行处理,必须设置它的AutoSize属性和WordWrap属性同时为True。AutoSize属性为False,WordWrap属性为False时,若标签不够高而Caption太长时,Caption将被切割掉。 AutoSize属性为False,WordWrap属性为True时,情况也如此。 AutoSize属性为True,WordWrap属性为False时,表示可以水平伸展,但只显示一行信息。 (3) PictureBox和Image的Stretch属性和AutoSize属性 Image只有Stretch属性,而PictureBox只有AutoSize属性。 AutoSize属性设为True,则PictureBox改变自己的大小来适应其中的图形。 Stretch属性设为True,则Image中的图形将改变自己的大小来适应外面的边框。 (4)Frame 框架、CheckBox 复选框、OptionButton选项按钮的区别: 复选框和选项按钮用于向程序输入信息, 框架用来对复选框和选项按钮进行分组。 复选框选中时会在小方框里打一个钩,选项按钮选中时会在小圆圈里点一个点。 2.4 定制菜单 1(菜单概述 Windows中的菜单一般由菜单条、菜单、菜单项、子菜单、弹出式菜单组成。 2(普通菜单的设计 (1)给菜单命名 菜单标题和菜单命令也有Caption和Name属性,设置了这两个属性就等于创建了菜单。Name是一个抽象名称,Caption是屏幕上可见的,可在Caption里加入 “&” 来设置热键。 (2)增加和删除菜单 在Menu Editor中部有三个命令钮分别是下一个、插入、删除。插入可用来增加新的菜单。在这三个键下面的Caption列表框里选中菜单项(这时它的底色就变成深蓝色),单击插入键,Visual Basic将上一个增亮菜单下推并增亮一空行,就可以输入新菜单名和标题了。删除键可用来删掉菜单。选中要删掉的菜单,单击Delete键就可以删掉它了。 (3)移动菜单标题 有四种情况:向上移动,向下移动,向左缩排,向右缩排,选中某一菜单标题,安上下箭头,则这个菜单将上下移动到你喜欢的位置上,这也决定了它在界面中的位置。如果按左右箭头,情况则有所不同。由于菜单是分级的,所以,如果它没有缩排,则它是一个菜单标题;如果它缩排一次,那么它将变成一个菜单命令;如果缩排两次,那么它将成为一个子菜单命令。VB里可以总共设计四层子菜单。 (4)设置分离条 分离条是指在菜单中将命令分组的线,VB将分离条也看成一个菜单项,它也需要Caption和Name属性,而且也有其它属性,分离条与菜单项的区别是分离条的Caption属性必须是连字号即减号。也就是,当设置了一个Caption属性为 “-” 的菜单项时,实际上就设置了一个分离条,分离条的名字可以是barFile1之类,以表明分离条的位置。 (5) 菜单的各种简单属性 在菜单编辑器里有许多确认框和一些文本框及一个下拉式的列表框,这些决定了菜单的各种属性。 1) Checked 复选属性 这个属性值设置为真,将在菜单命令左边产生一个打勾的确认标志。 2) Enabled有效属性 各种各样的用户会产生千奇百怪的操作,在许多Edit菜单里都会有不同形式的让菜单命令模糊的情况。Enabled属性为真,则菜单命令是清晰的,Enabled属性为假,则菜单命令是模糊的,这时用户就不能选中这个菜单项了。 3) Visible 可见属性 对暂时不用的菜单, 如果把Visible属性设为假,则菜单根本不会出现在屏幕上。这样做比把Enabled属性设为假显得更加干脆 4) Index属性 可以生成菜单命令数组,用索引号区分开。例如向File菜单中添加一系列最近打开的文件名。添加菜单可用Load方法。以上属性可以在运行时设置,形成动态的菜单的情况。 例如: mnuUndo.Enabled = False mnuProperty.Visible = False 还可以改变Caption等属性。 mnuUndo.Caption = “Redo” 程序的基本操作就是数据的输入,数据处理和数据的输出。Visual Basic可中用于输入的控件主要有:文本框Text Box、复选框Check Box、选项按钮Option Button、列表框List Box、组合框Combo Box、滚动条Scroll Bar、通用对话框控件。还有一个函数叫InputBox函数,也可用于数据的输入。 1. 通过文本框输入数据 只要取得文本框的Text属性就可以对其进行操作了。下面的代码可将Text1文本框的正文变成大写输出至Text2文本框。 Private Sub Form_Click () Text2.Text = UCase(Text1.Text) End Sub 2. 通过复选框和选项按钮输入数据 只要检测到Check Box和Radio Button的Value属性值就可以知道它们是否被选上了。 3. 通过列表框和组合框输入数据 (1) 列表框List Box和组合框Combo Box的不同 它们在Windows的Open,Save As对话框里最为常见。组合框又包括三种类型,这三种类型要在它的Style属性里设置。列表框仅仅把可以选择的项目列出来,而组合框里有的类型可以允许用户输入数据。 (2) 列表项目的增减 使用AddItem,RemoveItem语句可以增减列表项目。通常将项目增减的语句放入Form_Load事件里。 ListBoxName. AddItem item ComboBoxName. AddItem item item是新项目名称,必须是字符串类型,非字符串类型可通过Str函数或Format函数来转换。转列表框,组合框的每一项目都有一个Index值,第一个项目的Index值是0,第二个是1,依此类推。删除项目可通过删除其Index值来实现。 ListBoxName. RemoveItem item ComboBoxName. RemoveItem item 如:ListBoxName. RemoveItem 0则删除了第一项,这时原来的第二项就变成了第一项。 可以在设计阶段设定列表项目, 方法是: 在属性窗口选择List属性,将出现一个下拉列表,在列表中输入第一项,按Ctrl+Enter,输入第二项,最后用Enter结束。 (3) 取得列表框/组合框的数据 可以通过取得Text属性或通过取得ListIndex属性来判断哪一项被选择了。ListIndex属性的值也同样是第一个为0,第二个为1如: If List1.Text = “Visual Basic” Then Instructions If List1.ListIndex = 1 Then Instructions 组合框有时允许用户自己输入数据,这时所输入数据的ListIndex值为,1。 4. 通过滚动条Scroll Bar取得数据 在Visual Basic的工具箱里有两种滚动条:一种是垂直的,一种是水平的,它们的差异无非是摆放的方向不一样。 (1) 滚动条的主要属性及事件 1)Min,Max属性 Min属性决定滚动条最左端或最顶端所代表的值。Max属性决定滚动条最右端或最下端所代表的值。 2)LargeChange,SmallChange属性 SmallChange决定在滚动条两端的箭头钮上单击时改变的值。LargeChange决定在滑块上方或下方区域单击时改变的值。 3)Value属性 Value属性代表当前滑块所处位置的值,这个值由滑块的相对位置决定。 4)Change事件 当滑块位置发生变化时就引发了Change事件。 (2) 取得滚动条的数据 滚动条并不是一个数据输入的好控件,因为无法从滚动条上直接看出输入的数据,但它的优点是可以表示一定范围里的相对位置。为了得到数据,只要取得滚动条的Value属性就可以了。 5. InputBox函数 InputBox函数提供一个简单的对话框供用户输入信息。在把其它版本的BASIC程序移植到Visual Basic时,InputBox函数通常用来代替INPUT语句。这个对话框的样子基本上是上面的样子。 它的完整语法是:x = InputBox (prompt, title, default, xpos, ypos, helpfile, context) 其中,prompt是提示的字符串,这个参数是必须的。title是对话框的标题,是可选的。default是文本框里的缺省值,也是可选的。xpos,ypos 决定输入框的位置。helpfile,context用于显示与该框相关的帮助屏幕。返回值 x 将是用户在文本框里输入的数据,x是一个字符串类型的值。如果用户按了Cancel钮,则 x 将为空字符串。 2.7 Visual Basic的输出机制 作为输出的对象,Visual Basic提供了标签,文本框,窗体,图片框(Picture Box)等用于输出,而且Visual Basic里也有一堆命令、属性涉及信息的输出,较常用的有:MsgBox函数,Print方法,ClsFontBold,方法,Tab函数,Format函数,FontName,FontSize,FontItalic, FontStrikethru,FontUnderline属性,CurrentX,CurrentY属性等。 1. 通过MsgBox函数输出 了解Windows应用程序的人都知道当用户操作错误时,应用程序往往打出一个消息框来提示用户的错误,象这样: Dim Action As Integer Action = MsgBox("单击确定键将引爆此计算机", vbYesNo + vbCritical + vbDefaultButton2, "警告") If Action = 6 Then Explode 这个功能在Visual Basic里是通过MsgBox函数来实现的,这样程序员就不必自己去画一个消息框了。语法是: Action = MsgBox (msg, type, title) 其中,msg是消息的内容,是一个字符串型的变量,type及title参数是可以省略的,type参数指定显示的按钮是什么及使用什么样的图标(这个参数往往让新程序员思考几分钟),title参数指定消息框的标题。type参数的含义是: 例如:Action = MsgBox (“Are you girl?”, vbYesNo + vbQuestio“Question”)。使用这个函数时Visual Basic将产生一个标题为Question ,具有问号和Yes,No按钮的消息框。作为一个函数,本质上还是要返回值的,MsgBox的返回值确定了用户的选择,程序可根据返回值做出相应的动作 。 2. Print方法,Cls方法,Tab函数 (1) Print方法 Print 方法的语法是:object. Print expressionlist object表示Print作用的对象,比如是Form或者是Picture Box,object是可以省略的,省略时的Print往往在窗体上输出。expressionlist是输出 的内容,允许许多项数据的输出,在数据间可以加入“,”或”;”。加入分号将使下一数据项紧挨着上一数据项输出。而加入逗号,则Visual Basic 将下一数据项在下一打印区输出,其实就是空了几个空格后再输出。两个打印区之间有14个字符的宽度,其实这也很难衡量,比如14个“W”所占的宽 度大概是14个“i”所占宽度的三倍多。幸好中国日本之类的方块字所占的宽度基本上是一样的,所以较好处理一些。 (2) Tab函数 Tab函数只用在Print方法中,它用来移动下一个字符到打印位置,这将省去数空格的功夫。语法是:Tab (column) Tab函数将Visual Basic自定义的14字符宽的打印区扔到一边,用自己的方式定义了新的灵活的打印区宽度。 (3) Cls方法 Cls也是一个古老的BASIC语句,原来它的作用总是把屏幕变成黑色,然后在左上角或左下角闪烁一个光标,Visual Basic里它的作用是清除绘图语句和Print语句产生的文字和图形。 语法是:object. Cls object指清除的对象,可以是Form或Picture Box。如果object省略,通常Visual Basic都把当前的窗口作为Cls操作的对象。 3. Format函数 Format函数用于制定字符串或数字的输出格式。语法是:x = Format (expression,fmt) expression是所输出的内容。fmt是指输出的格式,这是一个字符串型的变量,这一项若省略的话,那么Format函数将和Str函数的功能差不多。 3.1 VB编码规则 1. 语言元素 VB的语言基础是BASIC语言,VB程序的语言元素主要由: 关键字(如: Dim、Print、Cls)函数(如:Sin()、Cos()Sqr() 表达式(如:Abs(-23.5)+45*20/3 ) 语句(如:X=X+5 、 IFELSEEND IF)等组成。 2. VB代码书写规则 (1) 程序中不区分字母的大小写,Ab 与AB等效; (2) 系统对用户程序代码进行自动转换: 1) 对于VB中的关键字,首字母被转换成大写,其余转换成小写 2) 若关键字由多个英文单词组成,则将每个单词的首字母转换成大写 3) 对于用户定义的变量、过程名,以第一次定义的为准,以后输入的自动转换成首次定义的形式 3. 语句书写规则 (1)在同一行上可以书写多行语句,语句间用冒号(:)分隔 (2)单行语句可以分多行书写,在本行后加续行符:空格和下划线 _ (3) 一行允许多达255个字符 4. 程序的注释方式 (1)整行注释一般以 Rem开头,也可以用撇号 ' (2)用撇号 ' 引导的注释,既可以是整行的,也可以直接放在语句的后面,最方便; (3)可以利用“编辑”工具栏的“设置注释块”、“解除注释块”来将设置多行注释。 5. 保留行号和标号 VB源程序接受行号与标号,但不是必须的(早期的BASIC语言中必须用行号)。 标号是以字母开始以冒号结束的字符串,一般用在GOTO语句(现在很少用)中。 3.2 VB的语言基础 1.数据类型 1)VB中对没有声明的变量其缺省的数据类型是变体型,可以用来存储各种数据,但所占用的内存比其它类型都多。为提高运行效率(整型效率较高),或达到一定的运算精确度(浮点型精度较高,但运行较慢),应合理的定义数据类型。 2) 逻辑型数据只有True 和False两个值,转换成整型时,True=-1 ,False=0,将其它类型转换成逻辑型时,非0数转换为True ,0转换为False 。 3) 字符型可以包括所有的西文字符和汉字,字符必须用双引号括" "起来, 如:"abc123" 4)日期型数据按8字节的浮点数来存储,日期型数表示方式有两种:可以用号码符#括起来,也可以用数字序列表示(小数点左边的数字代表日期,右边代表时间,0为午夜,0。5为中午12点,负数表示是1899年12月31日前的日期和时间)。 :#3/22/2002# #2002-3-22 14:30:20# 如Dim T As Date T=-2.5 Print T ' 打印出来的结果是1899-12-28 12:00:00 ,)任何数据类型的数组都需要 20 个字节的内存空间,加上每一数组维数占 4 个字节,再加上数据本身所占用的空间。数据所占用的内存空间可以用数据元数目乘上每个元素的大小加以计算。例如,以 4 个 2 字节之 Integer 数据元所组成的一维数组中的数据,占 8 个字节。这 8 个字节加上额外的 24 个字节,使得这个数组所需总内存空间为 32 个字节。 2. 变量与常量 (1)变量或常量的命名规则 1) 必须以字母或汉字开头,由字母、汉字、数字或下划线组成,长度?255个字符; 2) 不能使用VB中的关键字,并尽量不与VB中标准函数名同名;如:Dim 、Sin 3)VB中不区分变量的大小写,一般变量首字母用大写,其余用小写;常量全部用大写字母表示 4)为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。 (2)变量声明 1)用Dim语句进行显式声明 语句形式: Dim 变量名 As 类型 如: Dim intX As integer 说明:?如果没有As 类型,则默认为变体类型。 ?可在变量名后加类型符来代替As 类型 如: Dim intX% ?一条语句可以同时定义多个变量,但每个变量必须有自己的类型声明,类型声明不能共用; ?字符串变量根据其存放的长度是否固定,定义方法不同: 定长字符串: Dim strA As String*10 表示最多存放10个字符,如果赋值不足10个,则右补空;若多于10个,则多余部分截去。 不定长字符串:Dim strA As String 最多可存放2MB个字符 2) 隐式声明 VB中允许变量不经过声明就直接使用,这种称为隐式声明,所有隐式声明的变量都是变体型的。 隐式声明容易造成错误,为了调试程序方便,一般对使用的变量都进行声明,可以在通用声明段使用Option Explicit 语句来强制显式声明所有 变量。 (3)常量 1)直接常量 指在程序中直接给出值的数据,如:123、123&、123.45、1.234E2 、123D3分别表示整型、长整型、单精度浮点型(小数形式)、单精度浮点型(指数形式)、双精度浮点型。 八进制常数: 在数值前加&O ,如 &O123 十六进制常数:在数值前加&H ,如&H123 2)用户声明的符号常量 用Const来声明: Const 符号常量名 As 类型 = 表达式 如:Const PI=3.14159 '声明了常量PI,代表3.14159,单精度型 Const MAX As Integer=&O144 ''声明了常量MAX,代表八进制数144,整型 Const COUNT#=45.67 '声明了常量COUNT,代表45.67,双精度型 3)系统提供的常量 系统定义的常量位于对象库中,在对象浏览器中的Visual Basic(VB)和Visual Basic for Aplication(VBA)等对象库中列出了VB的常量。这 些常量可以与应用程序的对象、方法、属性一起使用。 如:Form1.WindowsState=vbMaximized 表示将窗口极大化。 3. 运算符 (1)算术运算符 算术运算符两边的操作数应该是数值型,若是数字字符或逻辑型,则自动转换为数值类型后再运算。 (2)字符串运算符 (3)关系运算符 1)如果两个操作数都是数值型,则按其大小比较 2) 如果两个操作数都是字符型,则按字符的ASCII码值从左到右一一比较 3) 汉字字符大于西文字符 4) 关系运算符的优先级相同 5) VB6.0中Like运算符与通配符的使用: ,表示任何单一字符 *表示0个或多个字符 #表示任何一个数字(0 - 9) 字符列表表示字符列表中的任何单一字符 字符列表 表示不在字符列表中的任何单一字符 (4) 逻辑运算符 1)若有多个条件时,And必须全部条件为真才为真;Or只要有一个条件为真就为真。 2)如果逻辑运算符对数值进行运算,则以数字的二进制值逐位进行逻辑运算。And运算常用于屏蔽某些位;Or运算常用于把某些位置1。 如:12 And 7 表示对1100与0111进行And运算,得到二进制值100,结果为十进制4。3)对一个数连续进行两次Xor操作,可恢复原值。在动画设计中,用Xor可恢复原来的背景。 4.表达式 (1)表达式的组成 表达式由常量、变量、运算符、函数和圆括号按一定的规则组成,通过运算后有一个结果,运算结果的类型由数据和运算符共同决定。 (2)表达式的书写规则 1)乘号不能省略 2)括号必须成对出现,均使用圆括号,可以嵌套,但必须配对。 3)表达式从左到右在同一基准上书写,无高低、大小之分。 例:sqr(3*x+y)-z)/(x*y)4 (3)不同数据类型的转换 操作数的数据类型应该符合要求,不同的数据应该转换成同一类型。在算术运算中,如果操作数的数据精度不同,VB规定运算结果采用精度较高的数据类型。 (4)优先级 同一表达式中,不同运算符的优先级是:算术运算符 > 字符运算符 > 关系运算符 > 逻辑运算符 注意:对于存在多种运算符的表达式,可增加圆括号改变优先级或使表达式更清晰。 4.1 算法概论 1(算法的概念 算法:指用计算机解决某一问题的方法和步骤。 算法分类: 数值算法:用于解决一般数学解析方法难以解决的问题,如:求超越方程的根、求定积分、解微分方程等。 非数值算法:用于对非数值信息进行查找、排序等。 数值算法:用于解决一般数学解析方法难以解决的问题,如:求超越方程的根、求定积分、解微分方程等。 非数值算法:用于对非数值信息进行查找、排序等。 2(算法的特征 (1)确定性:指算法的每个步骤都应确切无误,没有歧义。 (2)可行性:指算法的每个步骤必须是计算机能够有效执行、可以实现的,并可得到确定的结果。 (3)有穷性:指一个算法应该在有限的时间和步骤内可以执行完毕的。 (4)输入性:指一个算法可以有0或多个输入数据。 (5)输出性:指一个算法必须有一个或多个输出结果。 3(算法的评价 主要评价指标是:算法是否正确、运行的效率、占用系统资源的多少。 4(算法的描述 一般常用流程框图来描述算法。 5.基本算法结构 “结构化程序设计方法”规定算法有三种基本结构: 顺序结构、选择结构和循环结构 6(算法示例