【VB开源代码栏目提醒】:以下是网学会员为您推荐的VB开源代码-vb程序设计同步学习指导习题 - 其它资料,希望本篇文章对您学习有所帮助。
第一章 Visual Basic 概述 1.1 知识点归纳1.
VB 的特点(1)面向对象的可视化编程。
把程序和数据“封装”起来成为一个对象;每个对象都是可视的;从
VB 工具箱中选用控件即现成部件,如文本框、命令按钮等,构成应用程序的用户界面。
(2)事件驱动的编程机制。
传统的程序设计语言面向过程,
VB 语言面向对象通过事件来触发执行相应的事件过程“事件驱动” ,从而执行对象的操作,达到运算、处理的目的。
(3)结构化的设计语言。
(4)友好的
VB 集成开发环境。
2.
VB 中对象的基本概念(1)类和对象 类:一组用来定义对象的相关属性和数据的集合。
类是创建对象的模型,对象则是按模型生产出来的成品。
例如,人可以称之为类,而每一个人,却只能看做是对象。
对象是
VB系统中的基本运行实体,是一组程序
代码和数据的集合。
(2)对象的三要素 对象的三要素包括:属性、方法和事件。
① 属性:对象的外部特征,即用来描述和反映对象特征的参数。
不同的对象有不同的属性。
每一个对象都有一组特定的属性,可以通过属性窗口或
代码窗口对对象的属性进行设置。
②方法:是对象能够执行的动作。
它是对象本身内含的一些特殊函数或过程,用于完成某种特定的功能,供用户直接调用。
③事件:由系统预先设置好的、能被对象识别的动作。
一个对象可以识别响应多个不同的事件。
3.事件、事件过程及事件驱动 ① 事件:由系统预先设置好的、能被对象识别的动作。
发生在用户与应用程序交互时。
如单击控件、鼠标移动、键盘按下等。
② 事件过程:指附在对象上的用户编写的程序
代码,是事件的处理程序。
由事件控制整个程序的执行流程,当某个事件一般由用户操作来触发 发生时,系统就会自动执行此事件的事件过程。
③ 事件驱动方式:是图形用户界面的本质,由用户控制而
代码作出响应。
即事件过程要经过事件的触发才能被执行,这种工作模式称为事件驱动方式。
4.设计
VB 应用程序的步骤
VB 应用程序的开发,大致分为两大部分的工作:设计用户界面和编写程序
代码。
即先要确定对象,然后针对这些对象编写
代码。
基本步骤如下: 1 建立工程; 2 设计用户界面; 3 设置对象的属性值; 4 编写程序
代码,建立事件过程; (5)保存应用程序; (6)运行和调试应用程序; (7)生成可执行文件。
5.控件 是 控件是建立
VB 应用程序的基本元素,
VB 中预先定义好的、 编程能直接使用的对象,可视化设计就是通过控件实现的。
利用控件创建对象是
VB 编程的一项重要工作。
VB 中的控件一般可分为三大类:内部控件、ActiveX 控件和可插入的对象控件(也叫插件) : (1)内部控件(也称标准控件):包含在
VB 系统中,默认状态下在工具箱中以图形的形式显示,这些控件既不能添加,也不能删除。
如:文本框、标签、命令按钮等。
(2)ActiveX 控件:存放于扩展名为.ocx 的独立文件中,其中包括
VB 各种版本提供的控件和仅在专业版和企业版中提供的控件,另外还有许多第三方提供的 ActiveX 控件。
(3)可插入的对象控件:是指能够添加到工具箱中的对象,添加的方法是选择“工程部件”菜单选项打开部件窗口,在“可插入对象”选项卡选择相应文件,添加到工具箱中。
每个控件都有自己的属性、方法和能够识别响应的事件。
6.
VB 的
工作模式
VB 是一个集成编辑、编译与运行于一起的集成开发系统。
在程序设计过程中其工作状态可分为 3 中模式:设计模式、运行模式和中断模式。
为了调试程序,用户必须知道系统当前所处的工作模式及其能实施的相关操作。
(1)
设计模式:用于用户基本界面的设计、相关控件的属性设置和程序
代码编制。
(2)运行模式:用于在编辑
代码过程中编译执行应用程序,以观察运行效果或进行
代码调试。
在该模式下,不能对程序界面及
代码进行编辑。
(3)中断模式:用于程序运行过程中的暂时中断,这时可以编辑程序
代码,并可在“立即窗口”中显示变量值、中间结果或运行其他命令,但不可编辑界面。
该模式主要用作程序
代码的调试和中间结果的检查。
在此模式下,选择“运行”菜单下的“继续”选项可以继续运行程序,选择“结束”选项可以中止程序的运行。
7.
VB 常见的错误类型 (1)编辑错误:在编辑
代码时,
VB 会对键入的
代码直接进行语法检查。
当发现
代码存在打字错误,遗漏关键字或标点符等语法错误,
VB 在 Form 窗口中弹出一个子窗口,提示出错信息,出错的那一行变成红色。
这时,用户必须单击“确定”按钮,关闭出错提示窗,然后对出错行进行修改。
(2)编译错误:指按了“启动”按钮,
VB 开始运行程序前,先编译执行的程序段时,产生的错误。
此类错误由于用户未定义变量、遗漏关键字等原因产生。
这时,Visual Basic也弹出一个子窗口,提示出错信息,出错的那一行被高亮度显示。
(3) 运行错误:指
VB 在编译通过后,运行
代码时发生的错误。
这类错误往往是指令
代码执行了一非法操作引起的。
例如类型不匹配、试图打开一个不存在的文件等。
(4) 逻辑错误:程序运行后,得不到所期望的结果,这说明程序存在逻辑错误。
这类错误往往是程序存在逻辑上的缺陷所引起。
例如,运算符使用不正确、语句的次序不对、循环语句的起始、终值不正确等。
通常,逻辑错误不会产生错误提示信息,故错误较难排除,需要程序员仔细地阅读分析程序以及设置断点进行调试。
8.
VB 程序的调试 测试、调试程序的过程是查找、排除和修改程序中错误的过程。
VB 中可通过如下方式调试程序:(1)进入中断模式 通常系统在中断模式下,用户可查看各变量及属性的当前值,观察界面状况,从而了解程序执行是否正常,并且可以修改程序
代码、修改变量及属性值等。
在程序调试时,使
系统进入中断模式的方法有以下几种: ①程序运行时发生错误,被系统检测到而中断。
②程序运行中,按组合键“CtrlBreak” ,也可以单击调试工具栏中“中断”按钮,或选择“运行/中断”菜单项,就会产生中断。
③在程序
代码中设置断点,当程序运行到断点处就会产生中断。
④采用逐语句或逐过程运行,每执行一行语句或一个过程就会产生中断。
⑤在程序
代码中使用 Stop 语句,每执行到 Stop 语句时,也会产生中断。
在中断模式下,最便捷的查看程序中变量或属性的方法是将鼠标指针停留在要查看的变量上,系统就会在随后弹出的一个小方框中显示指针所指的变量或属性的当前值。
当在中断模式下调试完毕后,退出中断模式的方法有: ①如果要退出并继续运行程序,则可选择“运行/继续”菜单项,或单击调试工具栏中“继续”按钮。
②如要结束运行,则可选择“运行/结束”菜单项,或单击调试工具栏中的“结束”按钮。
(2)控制程序的运行。
①逐语句运行。
即单击运行,每次只执行一条语句,之后运行中断,按 F8 快捷键或选择“调试/逐语句”菜单项执行下一条语句。
这样可逐个语句地检查每条语句的执行情况。
②逐过程运行。
当
程序运行到调用过程时, 逐过程运行可将整个被调用过程作为整体来执行。
按 ShiftF8 快捷键或选择“调试/逐过程”菜单项均可实现逐过程运行。
(3)设置断点调试。
找出程序
代码中能反映程序执行状况的关键
代码行,单击其左边的边框位置,设置断点。
程序运行到断点设置的
代码行自动停止执行,并进入中断模式,观察运行情况。
(4)立即窗口。
立即窗口用于显示在程序运行过程中与当前过程有关的信息,可以显示某个变量或属性值,或执行单个过程或表达式。
在立即窗口中可以实现以下功能: ① 用 Debug.Print 方法输出信息。
调试程序时可在程序
代码中添加 Debug.Print n 等语句,将变量或表达式的值输出到立即窗口中。
程序调试完成后,应将 Debug.Print 语句删除。
② 在设计时用来测试表达式。
在设计模式下,可以在立即窗口中使用 Print 方法或?直接输出一些表达式的结果。
例如:在立即窗口中输入:?IntRnd5 ,按 Enter 键立即显示一个随机产生的整数。
③ 直接从立即窗口打印。
在中断模式下,通过使用 Print 方法或?可在立即窗口中检查变量或表达式的值。
例如:在立即窗口中输入:?ijij ④ 从“立即”窗口编辑变量或属性值。
在中断模式下,可在立即窗口中设置变量或属性的值。
例如:当程序中断时,在立即窗口中给属性重新赋值:Text1.ForeColorvbRed,当程序继续运行时,文本框中字体的颜色就可变成红色。
⑤ 从立即窗口中测试过程。
从立即窗口可以通过指定参数值来调用过程, 以测试程序程序的正确性。
例如:使用新参数来计算调用函数 fac的结果:n5:?facn9.
VB 应用程序的结构 在
VB 中,一个
VB 应用程序就是一个工程,以.vbp 工程文件的形式保存,一个工程通常包含多种类型的文件模块,其中最常见的有: ① 窗体模块(.frm) :是创建应用程序的基础。
在窗体模块中包含窗体及其控件的属性设置值,同时还包含在该窗体的
代码窗口中编写的对常量、变量、类型和外部过程的声明以及 sub 和 function 过程。
② 标准模块(.bas) :存放与窗口或控件无关的
代码,通常是其他模块共同使用的声明和过程
代码。
③ 类模块文件(.cls) :用来定义类,并可用它创建能被应用程序中的过程所调用的对象。
④ .frx 二进制文件:系统自动产生,包含属性窗口装入的图片等信息。
⑤ 资源文件(.res) :是指将在程序运行时用到的资源集中在一起的一个文件。
一个资源文件可以包括文字(TEXT) 、位图(BITMAP) 、图标(ICON)等。
并且在程序中调用时不用指明路径,这就简化了程序的编写并减少了发生错误的可能。
1.2 常见错误和难点分析1. 对象名称Name属性输入错误 在窗体上创建的每个控件对象都有一个唯一标识它的默认名称。
用户也可以在属性列表窗口中修改对象名。
在编写
代码时引用该对象的属性或方法时需要指明对象名。
当程序中的对象名错误时,系统会显示“要求对象”的信息。
2.对象的属性名、方法名输入错误 当对象的属性名或方法名输入出错,编译时系统会显示“方法或数据成员未找到”的提示信息。
编写
代码时尽量使用自动列出成员功能。
即当用户在输入控件对象名和句点后,系统自动列出该控件对象在运行模式下允许使用的属性和方法,用户可通过按空格键或双击鼠标左键选择,以防止此类错误的出现。
正确的系统按规定的大小写表示。
3.混淆控件的 Name 属性和 Caption 属性 Name 属性的值用于在程序中唯一的标识该控件对象,在窗体上不可见;而 Caption 属性的值是在窗体上显示的内容。
4. 混淆使用文本框的 text 属性和标签的 Caption 属性 文本框的 Text 属性和 Caption 属性都可以用于表示控件在窗体上显示的内容的,但两个属性属于不同的控件,文本框除了用于显示信息以外,还可以用于输入信息。
5.在编译程序时出现“无效字符”错误提示,对应行以红色字显示。
在
VB 中要注意英文环境下的半角符号和中文环境下全角符号的使用。
VB 只允许使用英文环境下的半角符号。
最常见的如:逗号 与 ,双引号 “ ”与“” 句号 . 与 。
的区别。
6. 字母和数字形状相似 输入
代码时注意小写字母“l”和数字“1”形式相同、小写字母“o”与数字“0”。
7. 添加多个相同类型的控件时,无意形成控件数组 在添加多个相同类型的控件时,可在窗体上先添加一个控件,然后“复制”-“粘贴”,此时会出现对话框询问是否创建控件数组,单击“否”按钮,在窗体上添加同类型不同名称的控件。
如果单击“是”则形成控件数组。
8.语句书写位置错误。
在
VB 中,除了在“通用声明”段使用 Dim 等变量声明、Option 语句外,任何其他语句都应放在事件过程中,否则程序运行时会显示“无效外部过程”的提示信息。
9. 打开工程时找不到对应的文件 一个最简单的
VB 应用程序至少也应包括一个工程文件.vbp 和一个窗体文件.frm 组成。
工程文件记录该工程内所有文件包括窗体文件.frm、标准模块文件.bas、类模块文件.cls 等的名称和存放路径。
若用户在上机结束后,把文件保存到磁盘上,而又遗漏了某个文件,下次打开工程时就会显示“文件未找到”的提示信息。
或者在磁盘上对某个文件进行重命名,这样也会造成打开工程时显示“文件未找到”的提示信息。
建议用户在编保存一个工程时,将该工程包含的所有文件保存在同一个文件夹中,通常将该工程作为一个整体复制或移动。
10.误用“文件”菜单中的“添加工程”选项,形成工程组。
“文件”菜单中的“工程 用户误选“文件添加工程”菜单选项,无意形成一个工程组。
另存为”选项,现在变成“工程组另存为”选项。
解决的办法:在工程资源管理器窗口,选中不需要的工程,单击鼠标右键打开快捷菜单,选“移除工程”选项,删除工程文件夹下的工程组文件.vbg,再重新打开工程就可以了。
1.3 习题一、选择题 1.
VB 是一种面向对象的程序设计语言,构成对象的三要素是________。
(A)属性、控件和方法 (B)属性、事件和方法 (C)窗体、控件和过程 (D 控件、过程和模块 2.窗体编辑器的主要功能是________。
(A)设计窗体的外观 (B)编写源程序
代码 (C)建立用户界面 (D 设置对象属性 3.在
代码窗口中,当从对象
列表框中选定了某一对象后,在________中会列出适用该对象的事件。
(A)过程框 (B)属性窗口 (C)事件列表框 (D 工具栏 4.要设置窗体上个控件的属性,可在_______中进行。
(A)窗体布局窗口 (B)工程资源管理器窗口 (C)属性窗口 (D 窗体窗口 5.某一窗体的 name 属性为 myForm它的 Load 事件过程名称为________。
(A)MyForm_Load (B)Me_Load (C)Form_Load (D Form1_load 6.要在窗体 Form1 内显示字符串”MyForm” ,可以使用的语句是________。
(A)Form.Caption”MyForm” (B)Form1. Caption”MyForm” (C)Form1.Print ”MyForm” (D Form.Print ”MyForm” 7.以下不能在quot工程资源管理器quot窗口中列出的文件类型是 ________。
(A).bas (B).res (C).frm ( D).ocx 8.设窗体上有一个文本框,名称为 text1,程序运行后,要求该文本框只能显示信息,不能接受输入的信息,以下能实现该操作的语句是________。
(A Text1.MaxLength0 (B Text1.EnabledFlase (C Text1.VisibleFlase (D Text1.Width0 9.以下能在窗体 Form1 的标题栏中显示“VisualBasic 窗体quot的语句是 ________。
(A Form1.NamequotVisualBasic 窗体quot (B Form1.TitlequotVisualBasic 窗体quot (C Form1.CaptionquotVisualBasic 窗体quot (D Form1.TextquotVisualBasic 窗体” 10.添加一个命令按钮“开始” 。
若要为命令按钮设置快捷键键,即按下 Alt 及字母 S时,能够执行quot开始quot命令按钮的事件过程,方法是:________。
(A 把 Caption 属性设置为ampStart (B 把 Caption 属性设置为 Samp Start (C 把 Name 属性设置为ampStart (D 把 Name 属性设置为 Samp tart 11.以下叙述中错误的是 ________。
(A 事件过程是响应特定事件的一段程序 (B 不同的对象可以具有相同名称的方法 (C 对象的方法是执行指定操作的过程 (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 Basic 中的一个工程最多可包含 255 个窗体 14.以下关于 Visual Basic 特点的叙述中,错误的是( ) (A Visual Basic 是采用事件驱动编程机制的语言 (B Visual Basic 程序既可以编译运行,也可以解释运行 (C 构成 Visual Basic 程序的多个过程没有固定的执行顺序 (D Visual Basic 程序不是结构化程序,不具备结构化程序的三种基本结构 15.
VB6.0 集成开发环境中不能完成的功能是________。
(A 编辑源程序 (B编译生成可执行文件 (C 调试运行程序 (D 自动查找并改正程序中的语法错误 16. 确定一个控件在窗体上的位置的属性是________。
(A) Width 和 Height (B)Width 或 Height (C)Top 和 Left (D)Top 或 Left 17.若要使标签空间显示时不覆盖其背景内容,要进行设置的属性是________。
A BackColor B BackStyle C ForeColor D BordStyle 18. 若要使某一文本框控件在程序运行过程中能用鼠标单击获得输入焦点, 但不能用按下 Tab 键的方式获得输入焦点,则应________。
(A) 将其 Enabled 属性设置为 False,且其 TabStop 属性设置为 False (B) 将其 Enabled 属性设置为 True,且其 TabStop 属性设置为 False (C) 将其 Enabled 属性设置为 False,且其 TabStop 属性设置为 True D 将其 Enabled 属性设置为 True,且其 TabStop 属性设置为 True 19.以下可以产生工程组文件(.vbg)的情况是________。
(A) 当一个程序中包含了两个以上的窗体时 (B) 当一个程序中包含了两个以上的标准模块时 C 当一个程序中包含了两个以上的工程时 D 当一个程序中包含了两个以上的类模块时。
20.当窗体上的文字或图形被覆盖或窗体最小化后能恢复原貌,需要将窗体的______属性设置为 True。
(A)Visible BAutoRedraw CPaint D Resize二、填空题 1.与传统的程序设计语言相比,
VB 最突出的特点是采用____________编程机制。
2. 提供两种控制程序运行的方式,
VB 一种是____________方式, 另一种是__________方式。
3.Visual Basic 6.0 有 3 中工作模式,即_________,__________和__________。
4.如果要在单击命令按钮 Command1 时执行一段程序
代码,则应将这段
代码写在____________事件过程中。
5.在窗体上已经建立了多个控件如 label1、Label2、Text1 和 Command1,要使程序一运行时焦点就定位在 Command1 控件上,应对 Command1 控件设置_________属性的值为________。
6 . 要 清 除 一 个 文 本 框 Text1 中 的 文 字 , 则 在 程 序 代 码 中 应 书 写 的 语 句 是_______________。
三、编程题 1.编写一个简单的程序,在窗体上有两个命令按钮( “显示”与“隐藏”)和一个标签 )(标题为“欢迎使用”,单击“显示”按钮时,将标签显示出来,单击“隐藏”按钮时,将标签隐藏起来。
2.窗体上含有两个标签、两个文本框和两个命令按钮, 两个标签分别用于显示文字“边长”和“面积”,两个文本框用于输入数据和显示计算结果。
运行时,用户在“边长”文本框中输入某一个正整数,当单击“计算”按钮时,则在“面积”文本框中显示该数的平方数。
单击“结束”按钮,则结束程序的运行。
1.4 参考答案一、选择题 1 2 3 4 5 6 7 8 9 10 B C A C C C D B C A 11 12 13 14 15 16 17 18 19 20 D D C D D C B B C B二、填空题1.事件驱动2.逐语句 , 逐过程3.设计模式 , 运行模式 , 中断模式4.Command1_Click5.TabIndex ,06.Text1.Text””三、编程题1. Private Sub Command1_Click Label1.Visible True End Sub Private Sub Command2_Click Label1.Visible False End Sub2. Private Sub Command1_Click Dim x As Single x ValText1.Text Text2.Text x x End Sub Private Sub Command2_Click End End Sub 第二章 顺序结构的程序设计 2.1 知识点归纳1.
VB 提供的数据类型 数据是程序处理的对象。
为了更好地处理各种各样的数据,
VB 定义了多种数据类型,不同类型的数据,所占的存储空间不一样。
VB 提供的数据类型主要分为:.