vb程序设计同步学习指导_第1页
vb程序设计同步学习指导_第2页
vb程序设计同步学习指导_第3页
vb程序设计同步学习指导_第4页
vb程序设计同步学习指导_第5页
已阅读5页,还剩105页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一章Visual Basic概述1.1知识点归纳1VB的特点(1)面向对象的可视化编程。把程序和数据“封装”起来成为一个对象;每个对象都是可视的;从VB工具箱中选用控件(即现成部件,如文本框、命令按钮等),构成应用程序的用户界面。(2)事件驱动的编程机制。 传统的程序设计语言面向过程,VB语言面向对象通过事件来触发执行相应的事件过程(“事件驱动”) ,从而执行对象的操作,达到运算、处理的目的。(3)结构化的设计语言。(4)友好的VB集成开发环境。2VB中对象的基本概念(1)类和对象 类:一组用来定义对象的相关属性和数据的集合。类是创建对象的模型,对象则是按模型生产出来的成品。 例如,人可以称

2、之为类,而每一个人,却只能看做是对象。对象是VB系统中的基本运行实体,是一组程序代码和数据的集合。(2)对象的三要素 对象的三要素包括:属性、方法和事件。 属性:对象的外部特征,即用来描述和反映对象特征的参数。不同的对象有不同的属性。每一个对象都有一组特定的属性,可以通过属性窗口或代码窗口对对象的属性进行设置。方法:是对象能够执行的动作。它是对象本身内含的一些特殊函数或过程,用于完成某种特定的功能,供用户直接调用。事件:由系统预先设置好的、能被对象识别的动作。一个对象可以识别响应多个不同的事件。3事件、事件过程及事件驱动 事件:由系统预先设置好的、能被对象识别的动作。发生在用户与应用程序交互时

3、。如单击控件、鼠标移动、键盘按下等。 事件过程:指附在对象上的用户编写的程序代码,是事件的处理程序。由事件控制整个程序的执行流程,当某个事件(一般由用户操作来触发) 发生时,系统就会自动执行此事件的事件过程。 事件驱动方式:是图形用户界面的本质,由用户控制而代码作出响应。 即事件过程要经过事件的触发才能被执行,这种工作模式称为事件驱动方式。4设计VB应用程序的步骤VB应用程序的开发,大致分为两大部分的工作:设计用户界面和编写程序代码。即先要确定对象,然后针对这些对象编写代码。基本步骤如下: (1) 建立工程; (2) 设计用户界面; (3) 设置对象的属性值; (4) 编写程序代码,建立事件过

4、程; (5)保存应用程序; (6)运行和调试应用程序;(7)生成可执行文件。5控件控件是建立VB应用程序的基本元素,是VB中预先定义好的、编程能直接使用的对象,可视化设计就是通过控件实现的。利用控件创建对象是VB编程的一项重要工作。VB中的控件一般可分为三大类:内部控件、ActiveX控件和可插入的对象控件(也叫插件):(1)内部控件(也称标准控件):包含在VB系统中,默认状态下在工具箱中以图形的形式显示,这些控件既不能添加,也不能删除。如:文本框、标签、命令按钮等。(2)ActiveX控件:存放于扩展名为.ocx的独立文件中,其中包括VB各种版本提供的控件和仅在专业版和企业版中提供的控件,另

5、外还有许多第三方提供的ActiveX控件。(3)可插入的对象控件:是指能够添加到工具箱中的对象,添加的方法是选择“工程|部件”菜单选项打开部件窗口,在“可插入对象”选项卡选择相应文件,添加到工具箱中。每个控件都有自己的属性、方法和能够识别响应的事件。6VB的工作模式VB是一个集成编辑、编译与运行于一起的集成开发系统。在程序设计过程中其工作状态可分为3中模式:设计模式、运行模式和中断模式。为了调试程序,用户必须知道系统当前所处的工作模式及其能实施的相关操作。 (1)设计模式:用于用户基本界面的设计、相关控件的属性设置和程序代码编制。 (2)运行模式:用于在编辑代码过程中编译执行应用程序,以观察运

6、行效果或进行代码调试。在该模式下,不能对程序界面及代码进行编辑。 (3)中断模式:用于程序运行过程中的暂时中断,这时可以编辑程序代码,并可在“立即窗口”中显示变量值、中间结果或运行其他命令,但不可编辑界面。该模式主要用作程序代码的调试和中间结果的检查。在此模式下,选择“运行”菜单下的“继续”选项可以继续运行程序,选择“结束”选项可以中止程序的运行。7VB 常见的错误类型(1)编辑错误:在编辑代码时,VB会对键入的代码直接进行语法检查。当发现代码存在打字错误,遗漏关键字或标点符等语法错误,VB在Form窗口中弹出一个子窗口,提示出错信息,出错的那一行变成红色。这时,用户必须单击“确定”按钮,关闭

7、出错提示窗,然后对出错行进行修改。(2)编译错误:指按了“启动”按钮,VB开始运行程序前,先编译执行的程序段时,产生的错误。此类错误由于用户未定义变量、遗漏关键字等原因产生。这时,Visual Basic也弹出一个子窗口,提示出错信息,出错的那一行被高亮度显示。(3) 运行错误:指VB在编译通过后,运行代码时发生的错误。这类错误往往是指令代码执行了一非法操作引起的。例如类型不匹配、试图打开一个不存在的文件等。(4) 逻辑错误:程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。这类错误往往是程序存在逻辑上的缺陷所引起。例如,运算符使用不正确、语句的次序不对、循环语句的起始、终值不正确等。通

8、常,逻辑错误不会产生错误提示信息,故错误较难排除,需要程序员仔细地阅读分析程序以及设置断点进行调试。8VB 程序的调试测试、调试程序的过程是查找、排除和修改程序中错误的过程。VB中可通过如下方式调试程序:(1)进入中断模式通常系统在中断模式下,用户可查看各变量及属性的当前值,观察界面状况,从而了解程序执行是否正常,并且可以修改程序代码、修改变量及属性值等。在程序调试时,使系统进入中断模式的方法有以下几种:程序运行时发生错误,被系统检测到而中断。程序运行中,按组合键“Ctrl+Break”,也可以单击调试工具栏中“中断”按钮,或选择“运行/中断”菜单项,就会产生中断。在程序代码中设置断点,当程序

9、运行到断点处就会产生中断。采用逐语句或逐过程运行,每执行一行语句或一个过程就会产生中断。在程序代码中使用Stop语句,每执行到Stop语句时,也会产生中断。在中断模式下,最便捷的查看程序中变量或属性的方法是将鼠标指针停留在要查看的变量上,系统就会在随后弹出的一个小方框中显示指针所指的变量或属性的当前值。当在中断模式下调试完毕后,退出中断模式的方法有:如果要退出并继续运行程序,则可选择“运行/继续”菜单项,或单击调试工具栏中“继续”按钮。如要结束运行,则可选择“运行/结束”菜单项,或单击调试工具栏中的“结束”按钮。(2)控制程序的运行。逐语句运行。即单击运行,每次只执行一条语句,之后运行中断,按

10、F8快捷键或选择“调试/逐语句”菜单项执行下一条语句。这样可逐个语句地检查每条语句的执行情况。逐过程运行。当程序运行到调用过程时,逐过程运行可将整个被调用过程作为整体来执行。按Shift+F8快捷键或选择“调试/逐过程”菜单项均可实现逐过程运行。(3)设置断点调试。找出程序代码中能反映程序执行状况的关键代码行,单击其左边的边框位置,设置断点。程序运行到断点设置的代码行自动停止执行,并进入中断模式,观察运行情况。(4)立即窗口。立即窗口用于显示在程序运行过程中与当前过程有关的信息,可以显示某个变量或属性值,或执行单个过程或表达式。在立即窗口中可以实现以下功能: 用Debug.Print方法输出信

11、息。调试程序时可在程序代码中添加Debug.Print n等语句,将变量或表达式的值输出到立即窗口中。程序调试完成后,应将Debug.Print语句删除。 在设计时用来测试表达式。在设计模式下,可以在立即窗口中使用Print方法或?直接输出一些表达式的结果。例如:在立即窗口中输入:?Int(Rnd*5) ,按Enter键立即显示一个随机产生的整数。 直接从立即窗口打印。在中断模式下,通过使用Print方法或?可在立即窗口中检查变量或表达式的值。例如:在立即窗口中输入:?i,j,i*j 从“立即”窗口编辑变量或属性值。在中断模式下,可在立即窗口中设置变量或属性的值。例如:当程序中断时,在立即窗口

12、中给属性重新赋值:Text1.ForeColor=vbRed,当程序继续运行时,文本框中字体的颜色就可变成红色。 从立即窗口中测试过程。从立即窗口可以通过指定参数值来调用过程,以测试程序程序的正确性。例如:使用新参数来计算调用函数fac()的结果:n=5:?fac(n)9VB应用程序的结构在VB中,一个VB应用程序就是一个工程,以*.vbp工程文件的形式保存,一个工程通常包含多种类型的文件模块,其中最常见的有: 窗体模块(*.frm):是创建应用程序的基础。在窗体模块中包含窗体及其控件的属性设置值,同时还包含在该窗体的代码窗口中编写的对常量、变量、类型和外部过程的声明以及sub和functio

13、n过程。 标准模块(*.bas):存放与窗口或控件无关的代码,通常是其他模块共同使用的声明和过程代码。 类模块文件(*.cls):用来定义类,并可用它创建能被应用程序中的过程所调用的对象。 *.frx二进制文件:系统自动产生,包含属性窗口装入的图片等信息。 资源文件(.res):是指将在程序运行时用到的资源集中在一起的一个文件。一个资源文件可以包括文字(TEXT)、位图(BITMAP)、图标(ICON)等。并且在程序中调用时不用指明路径,这就简化了程序的编写并减少了发生错误的可能。1.2 常见错误和难点分析1. 对象名称(Name)属性输入错误在窗体上创建的每个控件对象都有一个唯一标识它的默认

14、名称。用户也可以在属性列表窗口中修改对象名。在编写代码时引用该对象的属性或方法时需要指明对象名。当程序中的对象名错误时,系统会显示“要求对象”的信息。2对象的属性名、方法名输入错误当对象的属性名或方法名输入出错,编译时系统会显示“方法或数据成员未找到”的提示信息。编写代码时尽量使用自动列出成员功能。即当用户在输入控件对象名和句点后,系统自动列出该控件对象在运行模式下允许使用的属性和方法,用户可通过按空格键或双击鼠标左键选择,以防止此类错误的出现。正确的系统按规定的大小写表示。3混淆控件的Name属性和Caption属性Name属性的值用于在程序中唯一的标识该控件对象,在窗体上不可见;而Capt

15、ion属性的值是在窗体上显示的内容。4. 混淆使用文本框的text属性和标签的Caption属性文本框的Text属性和Caption属性都可以用于表示控件在窗体上显示的内容的,但两个属性属于不同的控件,文本框除了用于显示信息以外,还可以用于输入信息。5在编译程序时出现“无效字符”错误提示,对应行以红色字显示。在VB中要注意英文环境下的半角符号和中文环境下全角符号的使用。VB只允许使用英文环境下的半角符号。最常见的如:逗号 , 与 ,双引号 “ ”与“” 句号 . 与 。的区别。6. 字母和数字形状相似输入代码时注意小写字母“l”和数字“1”形式相同、小写字母“o”与数字“0”。7. 添加多个相

16、同类型的控件时,无意形成控件数组在添加多个相同类型的控件时,可在窗体上先添加一个控件,然后“复制”“粘贴”,此时会出现对话框询问是否创建控件数组,单击“否”按钮,在窗体上添加同类型不同名称的控件。如果单击“是”则形成控件数组。8语句书写位置错误。在VB中,除了在“通用声明”段使用Dim等变量声明、Option语句外,任何其他语句都应放在事件过程中,否则程序运行时会显示“无效外部过程”的提示信息。9. 打开工程时找不到对应的文件一个最简单的VB应用程序至少也应包括一个工程文件.vbp和一个窗体文件.frm组成。工程文件记录该工程内所有文件包括窗体文件.frm、标准模块文件.bas、类模块文件.c

17、ls等的名称和存放路径。若用户在上机结束后,把文件保存到磁盘上,而又遗漏了某个文件,下次打开工程时就会显示“文件未找到”的提示信息。或者在磁盘上对某个文件进行重命名,这样也会造成打开工程时显示“文件未找到”的提示信息。建议用户在编保存一个工程时,将该工程包含的所有文件保存在同一个文件夹中,通常将该工程作为一个整体复制或移动。10误用“文件”菜单中的“添加工程”选项,形成工程组。用户误选“文件|添加工程”菜单选项,无意形成一个工程组。“文件”菜单中的“工程另存为”选项,现在变成“工程组另存为”选项。解决的办法:在工程资源管理器窗口,选中不需要的工程,单击鼠标右键打开快捷菜单,选“移除工程”选项,

18、删除工程文件夹下的工程组文件*.vbg,再重新打开工程就可以了。1.3 习题一、选择题1VB是一种面向对象的程序设计语言,构成对象的三要素是_。(A)属性、控件和方法 (B)属性、事件和方法(C)窗体、控件和过程 (D) 控件、过程和模块2窗体编辑器的主要功能是_。(A)设计窗体的外观 (B)编写源程序代码(C)建立用户界面 (D) 设置对象属性3在代码窗口中,当从对象列表框中选定了某一对象后,在_中会列出适用该对象的事件。(A)过程框 (B)属性窗口 (C)事件列表框 (D工具栏4要设置窗体上个控件的属性,可在_中进行。(A)窗体布局窗口 (B)工程资源管理器窗口(C)属性窗口 (D) 窗体

19、窗口5某一窗体的name属性为myForm,它的Load事件过程名称为_。(A)MyForm_Load (B)Me_Load (C)Form_Load (D) Form1_load6要在窗体Form1内显示字符串”MyForm”,可以使用的语句是_。(A)Form.Caption=”MyForm” (B)Form1. Caption=”MyForm”(C)Form1.Print ”MyForm” (D) Form.Print ”MyForm”7以下不能在"工程资源管理器"窗口中列出的文件类型是 _。(A).bas (B).res (C).frm ( D).ocx8设窗体上有

20、一个文本框,名称为text1,程序运行后,要求该文本框只能显示信息,不能接受输入的信息,以下能实现该操作的语句是_。(A) Text1.MaxLength=0 (B) Text1.Enabled=Flase (C) Text1.Visible=Flase (D) Text1.Width=0 9以下能在窗体Form1的标题栏中显示“VisualBasic窗体"的语句是 _。(A) Form1.Name="VisualBasic窗体" (B) Form1.Title="VisualBasic窗体" (C) Form1.Caption="V

21、isualBasic窗体" (D) Form1.Text="VisualBasic窗体”10添加一个命令按钮“开始”。若要为命令按钮设置快捷键键,即按下Alt及字母S时,能够执行"开始"命令按钮的事件过程,方法是:_。(A) 把Caption属性设置为&Start (B) 把Caption属性设置为S& Start(C) 把Name属性设置为&Start (D) 把Name属性设置为S& tart11以下叙述中错误的是 _。(A) 事件过程是响应特定事件的一段程序 (B) 不同的对象可以具有相同名称的方法 (C) 对象的方

22、法是执行指定操作的过程 (D) 对象事件的名称可以由编程者指定 12下列关于Visual Basic 6.0的控件的叙述中,正确的是_。 (A) Visual Basic 6.0的控件分为3类:内部控件、标准控件和ActivateX控件 (B) 标准控件可以添加,但不能删除 (C) 启动Visual Basic 6.0后,ActivateX控件就出现在工具箱 (D) ActivateX控件是扩展名为.ocx的独立文件13下列说法错误的是_。(A) 窗体文件的扩展名为.frm (B) 一个窗体对应一个窗体文件 (C) Visual Basic中一个工程只包含一个窗体文件 (D) Visual B

23、asic中的一个工程最多可包含255个窗体 14以下关于Visual Basic特点的叙述中,错误的是( )(A) Visual Basic是采用事件驱动编程机制的语言 (B) Visual Basic程序既可以编译运行,也可以解释运行 (C) 构成Visual Basic程序的多个过程没有固定的执行顺序 (D) Visual Basic程序不是结构化程序,不具备结构化程序的三种基本结构 15VB6.0集成开发环境中不能完成的功能是_。(A) 编辑源程序 (B)编译生成可执行文件(C) 调试运行程序 (D) 自动查找并改正程序中的语法错误 16 确定一个控件在窗体上的位置的属性是_。 (A)

24、Width和 Height (B)Width或Height (C)Top和Left (D)Top或Left17若要使标签空间显示时不覆盖其背景内容,要进行设置的属性是_。 (A) BackColor (B) BackStyle (C) ForeColor (D) BordStyle18若要使某一文本框控件在程序运行过程中能用鼠标单击获得输入焦点,但不能用按下Tab键的方式获得输入焦点,则应_。(A)将其Enabled属性设置为False,且其TabStop属性设置为False(B)将其Enabled属性设置为True,且其TabStop属性设置为False(C)将其Enabled属性设置为Fa

25、lse,且其TabStop属性设置为True(D) 将其Enabled属性设置为True,且其TabStop属性设置为True19以下可以产生工程组文件(.vbg)的情况是_。(A)当一个程序中包含了两个以上的窗体时(B)当一个程序中包含了两个以上的标准模块时(C) 当一个程序中包含了两个以上的工程时(D) 当一个程序中包含了两个以上的类模块时。20当窗体上的文字或图形被覆盖或窗体最小化后能恢复原貌,需要将窗体的_属性设置为True。 (A)Visible (B)AutoRedraw (C)Paint (D) Resize二、填空题 1与传统的程序设计语言相比,VB最突出的特点是采用_编程机制

26、。 2VB提供两种控制程序运行的方式,一种是_方式,另一种是_方式。3Visual Basic 6.0有3中工作模式,即_,_和_。4如果要在单击命令按钮Command1时执行一段程序代码,则应将这段代码写在_事件过程中。5在窗体上已经建立了多个控件如label1、Label2、Text1和Command1,要使程序一运行时焦点就定位在Command1控件上,应对Command1控件设置_属性的值为_。6要清除一个文本框Text1中的文字,则在程序代码中应书写的语句是_。三、编程题1编写一个简单的程序,在窗体上有两个命令按钮(“显示”与“隐藏”)和一个标签(标题为“欢迎使用”),单击“显示”按

27、钮时,将标签显示出来,单击“隐藏”按钮时,将标签隐藏起来。2窗体上含有两个标签、两个文本框和两个命令按钮, 两个标签分别用于显示文字“边长”和“面积”,两个文本框用于输入数据和显示计算结果。运行时,用户在“边长”文本框中输入某一个正整数,当单击“计算”按钮时,则在“面积”文本框中显示该数的平方数。单击“结束”按钮,则结束程序的运行。1.4参考答案一、选择题12345678910BCACCCDBCA11121314151617181920DDCDDCBBCB二、填空题1事件驱动 2逐语句 , 逐过程3设计模式 , 运行模式 , 中断模式4Command1_Click5TabIndex ,06Te

28、xt1.Text=”三、编程题1 Private Sub Command1_Click() Label1.Visible = TrueEnd SubPrivate Sub Command2_Click() Label1.Visible = FalseEnd Sub2 Private Sub Command1_Click() Dim x As Single x = Val(Text1.Text) Text2.Text = x * xEnd SubPrivate Sub Command2_Click() EndEnd Sub第二章顺序结构的程序设计2.1 知识点归纳1VB提供的数据类型数据是程序处

29、理的对象。为了更好地处理各种各样的数据,VB定义了多种数据类型,不同类型的数据,所占的存储空间不一样。VB提供的数据类型主要分为:标准数据类型:整型(Integer)、长整型(Long)、字节型(Byte)、单精度型(Single)、双精度型(Double)、货币型(Currency)、字符串型(String)、逻辑型(Boolean)、日期型(Date)和变体型(Variant)。用户自定义类型:可以用TypeEnd Typy语句创建用户定义的类型。枚举类型:可以用EnumEnd Enum语句来定义相关的命名常数集合。2变量和常量(1) 变量的定义和作用域 用类型说明符来标识,常用类型说明符

30、有:单精度浮点数!、双精度浮点数、整型数据、长整型数据&、货币型数据、字符串型数据$。 在定义变量时指定类型,其格式如下:PublicPrivateStatic Dim 变量名 As 数据类型 变量的作用域指的是变量的有效范围。根据定义位置和使用的变量定义语句的不同,分为3种: 局部变量:是在过程(事件过程或通用过程)内定义的变量,其作用域是其所在的过程。局部变量在过程内用Dim或Static声明。 模块变量:包括窗体变量和标准模块变量,其作用于窗体内的所有过程。模块变量用Private或Dim声明。 全局变量:作用域最大,在工程中的每一模块和窗体都能访问的变量。全局变量用Public

31、或Global声明。当局部变量和全部变量同名时,在局部变量所在过程中该变量为局部变量,离开此过程为全局变量。变量名必须以字母或汉字开头,由字母、数字或下划线组成,长度小于等于255个字符;不能使用VB中的关键字、过程名、符号常量名和函数名;在为变量命名时应见名知义,尽可能简单明了,尽量采用Visual Basic建议的变量名前缀或后缀的约定来命名,以便区分变量的类型,在同一个范围内变量名必须是唯一的。(2)在VB中,常量分三类,分别为:一般常量:在程序代码中直接给出的数据。包括字符串常量(用双引号括起来的一系列字符)、数值常量(包括整型常量、长整型常量、单精度常量、双精度常量)、布尔常量(只有

32、True和False两个值)、日期常量(用一对# #括起来)。 用户自定义常量声明常量的语法为:PublicPrivate Const 常量名 As 数据类型=<表达式>通常,为区分明显,用户定义的常量名用大写字母;常量名在程序中智能引用,不能重新赋值。 VB提供的系统常量系统定义好的常量位于对象库中,在“对象浏览器”中的Visual Basic(VB)、Visual Basic for Applications(VBA)等对象库中列举了VB的系统常量。如:VbOkonly、VbYesno3运算符与表达式算术运算符:(乘方)、*、/(除法)、(整除)、mod(求余)、, 优先级从左

33、到右依次降低。字符串运算符有两个:&和+,区别是“ + ”两边必须是字符串,“& ”不一定。关系运算符:=、>、>=、<、<=、<>,运算结果为逻辑值。逻辑运算符:Not、And、Or、Xor、Eqv(相等)和Imp(蕴含),其运算结果为逻辑值。日期运算符:、。注意:两个日期可以相减,但不能相加。日期运算的结果可能是日期,也可能是相隔的天数。优先级:当一个表达式中存在多种运算符是时,按如下优先级的先后顺序进行运算:函数>算术运算(乘方>取负>乘法/除法>整除>求余>加/减)>字符串运算符>关系运

34、算符>逻辑运算符(Not>And>Or),同级从左到右,有括号时括号内优先。4 常用内部函数VB提供了大量的内部函数供用户在编程时调用。内部函数按其功能可分为:数学函数、转换函数、字符串函数、日期函数和格式输出函数等。函数的一般调用格式:<函数名>(<参数表>)说明:参数表可以是一个参数或用逗号分隔开的多个参数;参数可以是变量、常量、表达式,也可以是函数。5赋值语句格式: Let <变量>=<表达式> 或: Let 对象名.<属性名>=<表达式>功能:将等号右边表达式的值,赋值给等号左边的变量或属性。说明

35、:(1)关键字Let可以省略。(2)向对象赋值时,应指明对象名和属性名,系统默认的对象是当前窗口。(3)等号在这里称为赋值号。(4)变量和对象一旦被赋值,新值将代替旧值。(5)赋值语句具有计算和赋值的双重功能。(6)等号右边的变量(对象)必须和等号右边的数据类型一致。 注意:在代码中区分赋值语句“”与关系运算符“”。6程序的基本构成。程序通常由若干条语句共同协作完成一个完整的功能,一般情况下,一个完整的程序应该包含4个部分:说明部分:说明程序中使用的变量的类型、初始值、特性等。输入部分:输入程序中需要处理的原始数据。加工部分:对程序中的数据按需要进行加工和处理。输出部分:将结果以某种形式进行输

36、出。7VB程序的书写规则在编写程序代码时,要遵守一定的规则。不能超越其规定来自由发挥。 (1) 一行可写多条语句,语句间用冒号 “:” 分隔,一行最多可有255个字符。 (2) 一条语句可分成多行书写。在VB中一般是一行写一条语句,但若单行语句太长,也可以分若干行书写,但在行末须加入续行符(一个空格紧跟一个下划线 “_”)。 (3) VB代码中不区分大小写字母,自动将关键字的首字母转换成大写。(4) 各关键字之间,关键字和变量名、常量名、过程名之间一定要有空格分隔。 (5)使用缩进格式。为了便于阅读,编写程序代码时,可以使用缩进来反映代码的逻辑结构和嵌套关系。(6)严格按照VB规定的格式和符号

37、编写程序。与其他高级语言一样,在VB中使用的分号、引号、括号等符号都是英文状态下的半角符号,而不能使用中文状态下的全角符号。(7)程序中可使用注释,注释以Rem开头或用撇号“”引导注释内容,用撇号“”引导的注释内容,可直接出现在语句的后面。8数据的输入输出 一个完整的VB应用程序,应包括数据输入、数据处理和数据输出3个部分。通过数据输入和数据输出实现应用程序与用户交互的功能。 数据输入除了利用赋值语句“”为变量和对象属性设置新值(在程序运行前的编码阶段输入数据),或利用文本框控件供用户在程序运行过程中输入数据外,还可以使用InputBox()函数在程序运行过程中从键盘输入数据。<变量名&

38、gt;=InputBox(<提示信息>,标题,默认内容)说明:运行InputBox()函数可以屏幕上产生一个对话框供用户输入数据,并将其输入的内容作为函数返回值向变量赋值。 数据输出除了可以在窗体、标签等标准控件上显示信息以外,还可以使用MsgBox过程或MsgBox()函数弹出对话框显示信息。MsgBox <提示信息>,按钮图标,标题说明:弹出一个MsgBox对话框,显示提示信息,只有一个按钮,无返回值。或 <变量名>=MsgBox (<提示信息>,按钮图标,标题) 说明:弹出MsgBox对话框,提示用户选择按钮,将用户选择按钮的结果返回,控制

39、程序的流向。9Print方法 Print方法可以在窗体上或其它图形对象上以及打印机上输出信息,而信息输出的位置非常关键。(1)Print方法的格式 对象名. Print 表达式列表,| ;表达式表可以是一个或多个表达式,可以是数值表达式,也可以是字符串。对于数值表达式,打印表达式的值(即:Print语句具有计算和输出双重功能,先计算后打印);而字符串则原样输出。当输出多个表达式或字符串时,各表达式之间要用分隔符隔开(,或 ;):若用 ,分隔,则按标准格式显示数据项(以14个字符为一区段);若用 ;分隔,则按紧凑格式输出数据项(字符之间无空格);若表达式结尾无标点符号,则执行完该语句后,自动换行

40、;若Print语句中无表达式列表,则输出空行。(2)用Tab()和Spc()函数定位 Tab()函数格式:Tab(<n>)功能:使用在Print语句中,把光标移动到由参数n指定的位置,并从该位置开始输出数据。说明:要输出的内容放在Tab函数后,并用 ;号隔开。在一个Print方法中有多个Tab函数时,每一个Tab函数对应一个输出项,之间用 ;号分隔。参数n可以是数值表达式,但其值是一整数。Spc()函数格式:Spc(<n>)功能:在Print输出中,用Spc()函数可以跳过n个空格。说明:Spc函数和输出项之间用 ;号分隔,其作用和Tab函数类似,可以相互替代。但Tab

41、函数是从对象的左端开始记数,而Spc()函数只是表示两输出项之间的间隔。2.2常见错误和难点分析1. 变量名使用系统关键字、系统常量、函数名等。 如:Dim date As Integer 这里Date是日期函数名。2无意声明了变体型的变量。如:Dim a,b,c As Integer 这里声明的a和b为变体型变量,正确的应该是:Dim a As Integer,b As Integer , c As Integer3赋值号“”两边的表达式数据类型不匹配如:a为整型变量,文本框Text1中输入的内容是welcome,代码a=Text1.Text运行过程中提示“类型不匹配”。4同时给多个变量赋值

42、,造成逻辑错误。要给多个变量a、b、c赋值,有的用户写成a=b=c=5,这条语句在C语言中是正确的,但在VB中由于赋值号与逻辑等号书写相同,所以此语句中b和c之间、c和5之间的“=”系统会认为是逻辑等号,所以不会出现语法错误,而形成逻辑错误。5漏掉乘法运算符*在VB中书写S=ab数学表达式时,习惯性的省略了乘法运算符,系统会认为是ab是一个变量,不会认为是求a乘以b ,导致逻辑错误。6算术运算符 / 和 的使用混淆。在VB中,/ 是除法运算符, 是整除运算符,有的用户混淆了这两个运算符,在求3除以2的结果时,写成s=32,结果只有商的整数部分。7字符串连接运算出错。字符串的连接运算赋有&

43、;和+两种,在编写代码过程中,有的用户会写出这样的代码:Dim s as String , n as Integer s=”计算的结果为:”+ n系统提示错误信息“类型不匹配”。在进行字符串连接运算时,如果使用+进行连接运算,连接符两边应全为字符型,在使用&连接运算符进行运算时,可以不全是字符型,系统会自动转换。所以这里换用&运算符或用str(n)进行数据类型转换。8. 逻辑表达式书写错误,编译时没有造成语法错而形成逻辑错。要在VB中表示数学表达式0<=x<1,有的用户写成:0<=x<1,编译时没有造成语法错误而形成逻辑错。因为这里x的值不管是多少,这个

44、逻辑表达式的结果都是True。在VB中,当两个不同类型的变量或常量参加运算时,有自动向精度高的类型转换的功能。如逻辑常量True转换为数值型的值为1,False为0;反之数值非0转换为逻辑型的值为True,0为False。表达式0<=x<1的计算过程为:先计算0<=x,结果为true(-1)或False(0);不管是哪个结果,始终是<1的,表达式结果永远都是True。正确的书写应该是:x>=0 And x<1 。9数据溢出错误。有的用户在编写代码求解s=10!时,定义一个整型变量s(Dim s As Integer)来表示10!的结果,编译提示错误信息“溢出

45、”。在VB定义了多种数据类型,不同类型的数据,所占的存储空间不一样。整型变量2个字节的存储空间无法满足10!结果的需要,发生溢出。解决的办法是:Dim s as Long,长整型数据有4个字节的存储空间。另外对于浮点型数据也要根据实际的数据值来决定声明为单精度型(Single)还是双精度型(Double)。10标准函数名输入错误VB提供了很多事先定义好具有特定功能的内部函数,供用户使用。当函数名写错时,运行程序,系统显示错误提示信息“子程序或函数未定义”,单击“确定”按钮,在指示位置检查函数名是否输入正确。 11声明局部变量和窗体级变量的问题。在VB程序中,需要用变量用来暂时存放一些中间结果,

46、这些变量在使用前需要声明。变量一般在过程内部声明使用,称为局部变量。但当多个过程需要用到同一个变量的值时,该变量必须放在所有代码的最前面即“通用声明”段声明,称为窗体级变量。12在Form_Load事件过程中print 和set_focus方法不起作用 Form_Load过程即系统在窗体装入内存时无法同步地用Print、SetFocus方法显示或定位控件的焦点。解决方法:Print显示信息:方法一、在属性窗口将窗体AutoRedraw属性设置为True。方法二、在Form_Load事件过程第一行添加Show语句SetFocus方法定位焦点:在属性窗口中对要定位焦点的控件的TabIndex属性值

47、设置为0。13在使用计时器控件实现简单的动画时,计时器不工作。一个计时器两个属性(Enabled和Interval)一个事件(Timer):只有在保证给计时器的Enabled属性赋值True,Interval属性值非0,timer事件过程编写正确的情况下,计时器正常工作。2.3 习题一、选择题1在一个语句行内写多条语句,语句之间应该用_来分隔。(A)逗号 (B) 分号 (C) 顿号 (D) 冒号2以下可以作为Visual Basic变量名的是_。(A)F1.1 (B)Int (C)F2A (D)2FA3当标签的标题内容太长,需要根据题目自动调整标签的大小时,应设置标签的_属性为True。(A)

48、AutoSize (B)WordWrap (C) Enabled (D) Visible4在窗体上已经建立了多个控件,如Text1,Label1,Command1。若要程序开始运行时焦点定位在Text1上,应将Text1的TabIndex属性设置为_。(A)0 (B)1 (C) 2 (D) 35在程序中将变量i,t,s,d分别定义为Integer类型,Boolean类型,String类型和Date类型,下来赋值语句正确的是_。(A)s=5+”abc” (B)t=#True# (C) i=”354”+”613” (D) d=#10/05/04#6下列语句中错误的是 _。(A)A$=”abc” (

49、B)x=5+6 (C)print “abc” (D) print x=a+b7Visual Basic认为下面_组变量是同一个变量。 (A) A1和a1 (B) Sum和Summary(C).Aver和Average (D) A1和A_18表达式 5 Mod 3+35*2的值是 _。(A) 0 (B) 2 (C) 4 (D) 6 9 设x=4,y=8,z=7,以下表达式x>z Or z<y的值是 _。(A) 1 (B) -1 (C) True (D) False10、/、Mod、*、四个算术运算符中,优先级最低的是_。(A) (B)/ (C)Mod (D)*11设 A、B、C 表示

50、三角形的三条边,表示条件“任意两边之和大于第三边”的布尔表达式正确的是_。(A)A+B>=C OR A+C>=B OR B+C>=A(B)Not(A+B<=C AND A+C<=B AND B+C<=A)(C)A+B<C OR A+C<B OR B+C<A(D)A+B>C AND A+C>B AND B+C>A12表达式(73+1)*(185-1)的值是 _。(A)8.67 (B)7.8 (C) 6 (D)6.6713代数式x - +ln10+sin(x+2)/cos(57°) 对应的Visual Basic表达

51、式是_。(A) X1 Abs(A) +Log(10)+Sin(X2+2*3.14)/Cos(57*3.14/180)(B) X1 Abs(A) +Log(10)+Sin(X2+2*)/Cos(57*3.14/180)(C) X1 Abs(A) +Log(10)+Sin(X2+2*3.14)/Cos(57)(D) X1 Abs(A) +Log(10)+Sin(X2+2*)/Cos(57)14求一个三位正整数N的十位数的正确方法是 _。(A) Int(N/10)-Int(N/100)*10(B) Int(N/10)-Int(N/100)(C) N-Int(N/100)*100(D) Int(N-I

52、nt(N/100)*100)15 表达式Left(“asdf”,2)+UCase(“as”)的值为 _。(A) asas (B) ASAS (C) dfas (D) asAS16下列日期型常量表达正确的是 _。(A)”2/1/02” (B)2/1/02 (C)#2/1/02# (D)2/1/0217设A=”12345678”,则表达式Val(Left(A,4)+Mid(A,4,2)的值为_。(A)123456 (B)123445 (C)8 (D)618代数式 对应的 Visual Basic 表达式是 _。(A)a/b+c/d (B)a/(b+c)/d (C) (a/b+c)/d (D)a/(b+c/d)19函数Len(Str(Val(“123.4”)的值为 _。(A)11 (B)5 (C)6 (D)820下列表达式计算的结果不是”1234”的是_。(A)”12”+”34” (B)”12”&”34” (

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论