vb程序设计范文

2023-09-17

vb程序设计范文第1篇

有效教学的理念源于20世纪西方。“有效”, 主要是指通过教师的教之后, 学生所获得的具体的进步或发展。具体而言是指师生在互动教学过程中, 遵循一定教学活动规律, 以尽可能少的时间、精力或物力投入, 实现了尽可能多的预期教学目标, 从而促进教学主体的主动发展。

一、激发学生的学习程序兴趣

孔子说过:"知之者不如好之者, 好之者不如乐之者。"兴趣是最好的老师, 有兴趣才会形成学习的主动性和积极性。

VB教学的首次导入很关键。青少年的注意力非常容易转移, 如何让学生对VB产生兴趣, 并使这一兴趣保持较长时间呢?我在导入VB教学时, 先展示几个VB设计的小游戏, 如:贪吃蛇、打字小游戏、万花筒等, 然后用VB软件打开这些小游戏的源程序, 展示游戏的界面、代码及运行效果。学生们兴趣盎然, 都想要探索程序代码的奥秘。

实践教学证明, 选择学生感兴趣的小程序以及网络常见小程序为例, 能激发学生的学习热情, 调动学生创造的积极性, 而当学生能自主设计出程序时, 成就感和积极性得以极大地提升, 这时老师如果进一步进行恰当的鼓励引导, 刺激他们的学习欲望, 使他们更主动地去学习程序设计。

二、遵循学生先易后难、先具体后抽象的认知规律

在VB教学过程中, 前期几节课我主要采用学生观看、模仿实例为主的教学方法, 这些实例要选择简单有趣的、容易制作的, 让学生在观看、模仿的过程中自己领悟VB编程的精髓;当学生完成简单作品时, 我们再去作程序讲解, 比如部分语句的功能以及面向对象和事件驱动机制等。这样遵循先易后难、先具体后抽象原则的教学效果会更好。

三、利用学生形象思维的特点, 发挥好VB可视化编程的优势

初中生的认知特点倾向于直接的形象思维, 对于抽象的代码编写过程难以接受, 而VB可视化编程可以轻松地画出可视化对象, 只要在提供的程序框架中加入相应功能的代码, 这样有助于初中生学习程序设计。在教学中如何发挥好VB可视化编程的优势, 也是一个值得探讨的问题。

四、分组学习培养互助合作精神、促进学生自主探究学习

初中生正处于自我意识觉醒的阶段, 希望表现自我和得到认可, 在教学中老师引导学生发现、肯定、欣赏自我价值, 特别是对后进生和自卑感较重的学生要更加关注。在课堂教学中我发现“学生教学生”的效果很多时候会比“老师教学生”的效果好, 因此, 我在每个班都培养几个“小老师”, 如果发挥好他们的作用, 学习效果可以做到事半功倍。这样逐渐培养起学生的互助合作精神, 而且由于小组之间的竞争又激发了学生的学习热情。与此同时, 在合作的过程中, 他们还会主动地去探讨一些还没学到的问题。

五、教学任务分层, 提高学生的学习成就感

我在所教的6个班调查了解, 所有学生都是第一次接触程序设计。但学生的学习我每节课不仅把教学任务分了层, 而且还给“小老师”分配了“教”的任务。

比如在学习IF语句的时候, 我让学生设计一个“测试青少年体型”的小程序, 下面进行简单说明:对于青少年来说, 如果体重为W (公斤) , 身高为H (厘米) , 标准体重用B (公斤) 来表示, 体重指数用T来表示, 可得:B=H-105, T= (W-B) ÷B。当T大于0.1时, 表示该同学偏胖;当T在负的0.1和0.1之间时, 表示该同学体型标准;当T小于负的0.1时, 表示该同学偏瘦。教学任务分了两个层次, 任务一:我降低问题的难度, 只要设计出来的程序能实现判断“胖不胖”的功能即可, 把已知条件改为:

当T大于0.1时, 表示该同学偏胖;当T小于等于0.1时, 表示该同学不胖!这时候由于条件判断有两个结果, 要用刚学过的“If…Then…Else…Endif”完成代码主体部分的编写, 我要求学生至少完成任务一。任务二:要求设计出来的程序能判断“偏胖、偏瘦、标准”。这时候条件判断结果有多种, 可以让有能力的学生自学多分支IF语句, 用“If…Then…Elseif…Then…Else…Endif”完成代码主体部分的编写。

这节课中, 每个班都有大部分同学完成了任务一, 还有约六分之一的同学能完成了任务二。有些“小老师”不仅能完成了任务二, 而且能及时帮助组员调试程序, 老师能感觉到他们流露的喜悦。

六、多角度评价、多鼓励学生, 激发学生的学习热情

评价作品的时候, 我们不仅要对任务完成的作品进行评价, 而且要对任务解决的过程进行评价;不仅要对“成品”进行评价, 而且要对“半成品”进行评价;不仅要对优秀作品进行评价, 而且要多关注不太成功的作品。由于学生间的个体差异, 在评价的时候, 应适时挖掘学生的闪光点, 勉励他们进一步努力。另外, 在评价时也应让学生自我评价、相互评价, 一方面能提高学生对作品的评价能力, 鼓励学生创新思维, 创造有特色的作品;另一方面让学生对完成任务的过程和方法进行总结, 让学生进行反思, 把所学知识和技能内化。

“兴趣是最好的老师”。学生的学习兴趣和学习热情需要老师去激发, 一个鼓励的眼神, 可能会带给学生自信, 老师要留意他们的点滴进步, 及时抓住他们身上的“闪光点”, 鼓励他们。

七、结束语

当下, 有效课堂教学需要教师将教学实践和反思紧密结合, 积极地进行教学实践和探索。通过树立先进的教学理念, 丰富个人的知识储备等来精心设计课堂教学。当然在教学中也会遇到一些问题, 我将在今后的教学中不断探索, 努力推进VB程序设计的有效教学。

摘要:结合青少年认知特点和心理特征进行初中VB程序设计教学实践, 探讨初中VB程序设计课程的有效教学。

关键词:程序设计,认知规律,心理特征,有效教学

参考文献

[1] 《新编现代教育技术基础》李克东编著.华东师范大学出版社出版.

[2] 《建构主义学习环境下的教学设计》.何克抗佛山教育科研网站论文选.

[3] 《关于程序设计教学──论中小学计算机课程设计之二》.吕品人民教育出版社初中信息技术网站论文.

[4] 《站得高才能看得远--浅论中小学计算机课程设计》.吕品中国教育和科研计算机网.

vb程序设计范文第2篇

其特点是:面向对象编程, 可根据界面设计要求直接在界面上设计出窗口、菜单、按钮等类型对象并为每个对象设置属性;事件驱动方式运行, 即每个对象的都能响应多个区别事件, 每个事件都能驱动对象功能代码;结构化设计语言, VB具有丰富数据类型是种符合结构化设计思想语言而且简单易学;强大数据库访问功能, 可以访问多种数据库用最少代码实现数据库的操作和控制;支持对象链接和嵌入技术, 利用OLE技术能够开发集声音、图像、动画、字处理、Web等对象于一体的功能强大的软件[1~2]。基于VB语言的众多优点, 采用该语言编写选择题练习程序。

1 程序所要实现的主要功能

考虑到软件的使用对象和推广, 该软件的编写将要实现的功能为: (1) 出题的灵活性, 可以分篇章测试, 也可以自选章节综合测试, 均给出10道题作答; (2) 答题的简易性, 此次出题均采用选择题的形式, 备选答案为四个其中只有一个正确; (3) 判分的明了性, 在答题完成提交后会给出得分结果并给出错题的题号可返回查看; (4) 答题的机动性, 当完成当前界面的一道题后, 答案和解析按钮激活, 可以查看当前题的答案和详细解析; (5) 测试的连贯性, 完成本次测试后, 可选择重新测试回到选题界面重新开始选择答题, 也可选择结束答题退出系统。

2 程序的设计与实现

2.1 程序的设计思路

图1为本程序设计框图。在程序设计中, 将需要完成的各基本子功能如计分系统, 各按钮执行的基本功能, 判断用户所选答案是否正确等用模块 (子程序) 来实现, 而后再进行整体程序设计。整个程序采用基本的控制结构语句、各个窗口与控件的基本方法及属性、数组、参数传递等方法按顺序法设计, 从而实现四选一程序的各项功能。

2.2 资源文件的的使用

本程序涉及一个庞大的题库, 如果利用控件属性直接从工程外部文件调用, 会降低程序的运行速度, 而且发布时会附带诸多文件, 不利于分发。因此考虑把题库写进工程内部, 但是不可能将所有题目都写成代码进程序, 又要考虑题库的维护和升级, 因此采用了VB语言的资源文件来进行题库的加载。

2.2.1 资源文件简介

所谓资源文件, 就是指将在程序运行时用到的资源集中在一起的一个文件。资源文件包含两个部分:String resources可以用来存放文字, Binary resources部分可以用来存放位图图标等[2]。由于资源文件属于工程的一部分, 经过编译后它也成为.exe文件的一部分[1~4]。它的这种优势为某些应用程序的发布提供了极大的方便, 可以有效避免调用外部资源时出现无法找到指定的文件的错误;按照一定格式组织资源文件, 这易于非专业人士维护和升级题库;经过编译的.exe文件是不可见的, 也有利于保护作者的数字版权。

2.2.2 资源文件的编写

资源文件可以编辑位图、图标、光标、字符串及自定义资源, 本例编写位图 (题目) 及字符串 (答案) 。在VB中建立和使用资源文件一般有两种方法:手工编写程序创作;利用资源文件编辑器创作。本程序采用后者, 分为两步进行:第一, 编辑资源文件, 打开“工具”/“资源编辑器”, 点击添加位图按钮, 在弹出的对话框中选择一个位图文件单击“打开”后, 位图的添加就完成了。对于字符串, 则手写输入, 由于字符串为习题的答案, 因此要注意与位图上的题目一一对应。编辑时需输入资源的ID号, 这个ID号是标识一类资源的唯一编号, 在应用程序中调用时使用。编辑好资源后, 须将资源文件保存, 并关闭资源编辑器, 然后将资源文件添加到新建的工程内。第二, 程序调用资源文件, 使用函数LoadResString () 、LoadResPicture () 分别用来加载文本资源、图形资源。如本例在某章节中随机出题使用的函数为:

LoadResString (Val (1&zhang (i) ) ) 其中Val (1&zhang (i) ) 为字符的ID号;

LoadResPicture (Val (1&zhang (i) &ti (i) ) , 0) 其中Val (1&zhang (i) &ti (i) ) 为位图的ID号, 0为位图 (bitmap) 的代码。

3 程序的人机交换界面

运行程序时进入开始界面;而后进入程序得到选择答题方式界面, 如图2, 即可以选择分篇章测试和综合测试, 未选测试章节不能进入答题界面, 程序会给出出错提示;选择后进入答题界面, 如图3, 出题为逐题顺序显示, 在第一题的答题界面上“上一题”、“答案与解析”、“提交”、“继续测试”按钮为灰色不可操作, 当选择答案后“答案与解析”激活为可操作按钮, 测试者可以单击此按钮查看该题对应的答案和解析, 未选择答案时不会进入下一题界面;单击“下一题”进入第二题界面, 此时“上一题”按钮激活, 可以点击此按钮查看该题前一道题;依次答题直到第十题的界面, 选择答案后, “答案与解析”和“提交”按钮激活此时可以提交所作的题目, 得到工程1窗口, 如图4, 该窗口给出分数和错题题号, 测试者可以返回查看错题;完成后用户可以选择继续测试回到选题界面即图2所示, 也可以单击退出系统, 完成测试。

4 结语

本程序的完成, 可以使得学生在学习水力学课程时能够随时随地的来测验自己对知识的掌握程度, 程序结构还可以推广至所有学科的选择题练习程序。本程序需改进之处是增添统计功能, 统计出错率高的题, 软件高频率选出学生出错率高的题让学生解答, 以便强化练习。同时, 如能实现网络练习, 将统计数据反馈给课程教师其辅助教学效果会更好。

摘要:本文介绍了基于Visual Basic语言编写的水力学选择题练习程序, 包括软件实现的功能和程序设计过程。针对本程序有大量数据需要编写的特点, 介绍了VB中资源文件的特点和功能, 实现程序的便利、高效运行。

关键词:Visual Basic,语言,水力学,选择题,资源文件

参考文献

[1] 陈爱萍.Visual Basic程序设计教程[M].北京:清华大学出版社, 2010.

[2] 杨晶.VB6.0程序设计[M].北京:机械工业出版社, 2004.

[3] 钟若武.在Visual Basic6.0中使用资源文件[J].韶关学院学报 (自然科学) , 2005, 26 (9) .

vb程序设计范文第3篇

用过Excel的人都知道Excel的功能很强大, 下面笔者通过自己的教学经验来分析VB和Excel的设计数据报表。

1 EXCEL对象

在VB中能处理的Excel对象有:Application、Work Books、WorkSheets、Range及Cells, 利用这些对象所提供的属性、方法和文件, 就可以很容易的在VB应用程序中生成Excel报表, 但要注意使用它们之前要先声明。

(1) Application对象是对象模型的顶层, 表示整个Excel应用程序。

(2) Workbook对象表示Excel应用程序中当前打开的一个工作簿。

(3) Worksheet对象表示工作表对象 (一个工作簿可以包含多个工作表) 。

(4) Range对象代表工作表的某一单元格或多个单元格、某一选定区域等。

(5) Cell对象表示特定工作表的一个单元格对象。

2 利用VB操作Excel

在VB应用程序中可以访问Excel对象的属性、事件、方法, 相当于把Excel对象作为外部对象来引用。

(1) 对象引用。单击“工程”菜单, 选择“引用”栏, 在弹出的对话框中选择Microsoft Excel 11.0Object Library就OK, 表示工程中要引Excel类型库。

(2) Excel对象。

对象声明如:

Dim x1App As Excel.Application

Dim x1Book As Excel.WorkBook

Dim x1Sheet As Excel.WorkSheet

(3) 操作命令

(4) 在VB应用程序中使用激活Excel文档、打开excel工作簿, 设置活动工作表、关闭工作簿及释放Excel对象等命令操作Excel时, 需要设置Excel对象不可见 (x1.Visible=True) , 否则VB程序可继续执行其它操作, 关闭Excel文档, 释放Excel对象时, VB应用程序会产生自动化错误。

3 利用Excel输出报表

(1) 设计数据库stud, 在stud库中添加xsjbxx表, 包括学号、姓名、性别、班级、出生年月、家庭住址、入学时间等字段。

(2) 设计没有记录的Excel文档当模板文件, 用来控制VB与Excel之间的数据传递。

(3) 初始化定义。

Dim conn As ADODB.Connection

Dim rc As ADODB.Recordset

Dim i As Integer

设置表单unload事件:

(4) 生成Excel报表。

rc.Open"select学号, 姓名, 性别, 班级, 出生年月, 家庭住址, 入学时间from XSJBXX, conn

4 结语

Excel是一个功能强大且非常优秀的报表创建工具, 它支持表格的操作和绘图功能完全满足复杂报表的需要, 由于VB的扩展性和融入office的特性, 就可以用Excel来实现VB的报表设计, 增强了报表的灵活性和通用性。

摘要:在VB程序设计中报表主要用于数据分析和统计, 本文讨论了利用VB和Excel设计数据报表的方法, 此方法不是单纯地拖动报表中字段或标题, 而是用Excel模板文件即简便又灵活地满足用户对报表格式和功能的要求。

关键词:VB程序,Excel,报表

参考文献

[1] 李雁翎.Visual Basic程序设计[M].清华大学出版社, 2004.

vb程序设计范文第4篇

1 在实例中理解和掌握抽象的概念, 按照学生的认知规律组织教学

VB教材和其它程序设计的课本一样, 开始介绍算法、流程图的画法、对象、对象的属性、方法和事件等一系列的比较抽象难懂的概念, 再介绍程序的建立和运行, 最后介绍VB语言基础、分支结构、循环结构和数组。就知识的逻辑结构体系方面来说, 这样安排无可非议, 但从学生的认知规律来看, 把一些难懂的、抽象的东西放在开始来学习我认为有几点弊端: (1) 学生在毫无知识背景的前提下, 要完全理解这些概念比较困难; (2) 不符合学生的从具体到抽象的认知规律; (3) 容易伤害同学们学习程序设计语言的积极性。

受到一些语言类书籍的启发, 我开始不讲基本概念, 从介绍一个实例开始, 让学生和我一起做, 在做中由学生直观上先体会这些概念, 然后在时机成熟时再和同学们一起归纳总结。如组织第一章课堂教学时, 采用和学生一起先探讨了VB软件的打开、程序的建立和保存、软件界面等知识, 由学生摸索着找出VB操作与以前所学软件的异同点。他们已学过OFFICE应用软件, 对这些相似的操作非常熟悉, 操作起来得心应手。如学习文本框的简单使用时, 我设计一个小程序, 由用户从键盘上输入两个数, 求这两个数的和, 并将结果显示出来。根据题目要求先设计用户界面, 让同学们和我一起做:

(1) 在当前窗体内添加了五个文本框和三个命令按钮, 调整好它们的位置和大小。

(2) 按照要求设计各对象的属性。需要说明的是对各控件命名时最好能结合控件本身的作用, 如加法命令按钮命名为“cmdAdd”, 清除命令按钮命名为“cmdClear”, 让学生一看就知道这命令按钮起什么作用, 这样通俗易懂。

(3) 在双击命令按钮“cmdAdd”, 输入如下程序:txtResult.text=val (txtop1.text) +val (t x t o p 3.t e x t)

关闭程序编辑窗口, 回到设计界面, 在双击“cmdExit”, 输入如下语句:end。按F5键运行程序。

整个操作的过程中, 教师不讲解每件事的含义, 学生通过完成任务自然就体会出什么是对象、对象的属性和事件方法, 如何在界面上添加对象、设置事件等概念。这样给予学生充分的感悟, 让学生在做中学, 学生自己建构、组织自己的知识结构, 既激发了学习兴趣, 又提高教学效果。

2 将游戏融入程序教学中, 激发学习积极性

对于我们职业中学的学生来说, 大多同学对电脑游戏非常感兴趣。教师以这个为契机, 使学生明白学计算机不仅是为了能玩游戏, 而且能通过所学计算机知识来编游戏程序, 这才是学计算机的最高境界!教师通过引导学生从玩游戏到做游戏, 来完成程序设计的学习, 激发学生程序设计的兴趣。如在VB的教学过程中结合学习的内容, 教师自已先设计好一个小游戏, 演示给学生看, 并说明界面设计, 代码的编写思路, 及要点注意, 后让学生根据教师的模型去创新设计, 并且注意一定要在老师的作品基础上有所改进。最后加以评价, 并对有较多创新的作品进行鼓励, 一段时间后对一些较好的作品进行展览, 来激发学生的学习积极性。

3 合理利用教材, 重新组合教材

我们用的VB教材是国家计算机二级VB教程, 这本书的出发点是为学生能通过全国计算机等级考试二级VB而编写的培训教材, 但我认为书中的例题有的程序过于复杂, 而且不是循序渐进的, 学生难以理解和接受。上课时要先对例题简单处理一下, 如把已知条件稍作改动, 使程序过程简单化, 在学生理解的基础上, 再逐步加深, 再来消化书本上的例题。同时老师在分析例题时, 要对学生提出要求, 例题分析完了后, 对本例进行改装, 看那位同学能完成得更好, 学生的积极性就来了, 既提高了课堂教学效果, 又能提高学生的综合编程能力, 能对一题举一反三。例如, 同学们在学习FOR……NEXT循环时, 书本内给出了一段求前100项自然数和的程序。这段程序在同学们弄懂FOR……NEXT循环之理解起来是并不困难的, 为提高同学们的编程能力, 我要求同学们对原程序做如下几种变化:

(1) 求1~100之间所有奇数的和, 要求跳数为2。

(2) 求1~100之间所有偶数的和, 要求跳数为1。

第一小题和书本原程序相比难度不大, 只是将偶数改成是奇数, 只要将循环的跳数改为2即可, 在模仿的前提下同学们一般都能顺利完成。第二小题增加了难度, 编程过程中需做两点变化, 一要将循环变量的变化范围变为1~50, 二要修改循环语句中的通项, 将循环语句变为S=S+2*I。要做到这些变化, 需要学生对For……Next有比较深刻的理解。通过对例题的改装, 使同学们能够把所学的知识综合起来运用。

4 上机实践过程中注重自学能力的培养合理使用小老师

学习计算机过程中, 教师应让学生学会如何有效地使用软件的“系统帮助”, 并使学生习惯于通过“系统帮助”寻找答案。其次, 向学生推荐优秀的CAI软件和适合于边学边练的教材, 及一些网络教程。同时在上机教学中, 有针对性地培养接受能力强和动手能力较强的学生担任上机辅导员, 协助老师对部分学习有困难的学生进行上机辅导。这样不但可以调动学生的学习积极性, 提高他们的自信心, 活跃学习气氛, 减轻学习压力, 而且在这种教与学的过程中, 学生自已发现问题、解决问题, 激发学生的求知欲, 培养学生自主学习的能力。

以上是笔者在VB课堂教学中的具体做法, 收到了一定的成效, 学习质量总体是有了明显的提高, 同时也使笔者体会到, 在教学过程中教师针对学生实际情况来处理各方面的事, 同时不能局限于书本, 要灵活运用书本。

摘要:我校近年来在非计算机专业开设Visual Basic程序设计语言这门学科, 对他们来说没有任何语言基础, 要学好这门课程是有一定难度的, 本文从四方面阐述, 在VB课堂教学过程中尝试运用的教学方法。

关键词:非计算机专业,VB程序设计,课堂教学

参考文献

[1] 董南萍.关于学生程序设计能力的培养[J].辽宁教育学院学报, 1999, 6.

[2] 詹建华.数据库教学改革初探[J].职业教育研究, 2006 (3) :78.

vb程序设计范文第5篇

1.VB的概述

VB是一种可视化、面向对象和采用事件驱动方式的结构化高级程序设计语言。

特点:▲ 可视化编程

▲ 面向对象程序设计 ▲ 结构化的程序设计语言

▲ 事件驱动编程机制 ▲ 访问数据库

2.VB的程序开发环境

(1)窗口设计器窗口。简称,窗体

(2)工程资源管理器窗口

▲ 工程文件和工程文件组

工程文件的扩展名是vbp,每个工程对应一个工程文件。

▲ 窗体文件

扩展名是frm,每一个窗体对应一个窗体文件,一个应用程序可以有多个窗体。

▲ 标准模块文件

扩展名bas,不属于任何一个窗体。

▲ 类模块文件

(3)属性窗口和工具箱窗口

3.VB常用对象及操作

(1)对象事件的名称Name是由VB预定的,不可以由编程者设定。

可以在运行期间改变窗体的Name属性的值。(?)

(2)控件

4.VB应用程序通常有3类模块组成,即窗体模块、标准模块和类模块。

VB应用程序以解释和编译方式执行。

5.VB中的变量和常量

(1)常量

▲ 文字常量:字符串和数值常量

▲ 符号常量

格式:Const 变量名=表达式

(2)变量

▲ 命名规则:名字只能由字母、数字和下划线组成。

第一个字符必须是英文字母,最后一个字符可以是类型说明符。

▲变量的类型和定义

①类型说明符放在变量名的尾部。 A#b(错)

%:整型 &:长整型 !:单精度型 #:双精度型 $:字符串型

②在定义变量时指定类型。

格式:Declare 变量名 as 类型

Declare 可以是 Dim、Static、Public或Private

(3)变量的作用域

变量分为:局部变量、模块变量和全局变量

① 局部变量

在事件过程或通用过程内定义的变量叫局部变量。

② 模块变量

窗体变量可用于窗体内的所有过程. 当同一个窗体内的不同过程使用相同的变量时,必须定义窗体层变量,在使用窗体层变量前,必须先声明。

③ 全局变量

全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。用Public 声明。

6. VB常用内部函数

⑴ 转换函数

★ 取整函数Int和fix ★ 数值转换函数 ★ 类型转换函数

★ 格式转换函数

⑵数学函数

★ 三角函数

★ 绝对值函数(Abs)

★ 符号函数(Sgn) ★ 平方根函数(Sqr)

★ 指数和对数函数(Exp和Log)

⑶随机数函数

★ 随机数函数(Rnd) ★ Randomize语句

⑷ 时间函数

7. VB字符串处理

★左、中、右部截取 Left(字符串,n)Mid(字符串,n)Right(字符串,n)

★字符串长度测量函数 Len(字符串)

★Strings函数 Strings(n,ASCII码) Strings(n,字符串)

★查找某个字符串函数 InStr(首字符位置,字符串1,字符串2[,n]

★字母大小转换函数 Ucase(字符串) Lcase(字符串)

★插入字符串语句 Mid(字符串,位置)=字符串

★SetFocus语句

8.VB运算符与表达式

(1)算术运算符

★求模运算 Mod求余.

★算术运算符优先级 ^>>&

如:7^2 Mod 5^23=1

(1) 关系运算符和逻辑运算符

(2) 表达式的执行顺序

◆ 关系运算(=,>,<,<>,≦,≧)

◆ 最后进行逻辑运算,顺序为: Not→And→Or→Xor→Eqv

如:表达式: Not a<=c Or 4*c=b^2 And b<>a+c的值是(Flase)a=2,b=3,c=4

9.VB常用标准控件

(1).标签

●Alignment 确认标签中标题放置的位置,可设置0、

1、2,作用分别为标题设置在左、右、中。

●AutoSize 标题自动调整标签的大小,可设置为True和False.

●Borderstyle 设置标签的边框,可设置为0和1,0表示为无边框。

●Enabled 用于确定一个窗体或控件能否对用户产生的事件作出反应。

●BackStyle 设置标签是否覆盖背景,0表示为透明,1表示标签覆盖背景。

●WordWrap 决定标签的标题文本能否自动换行。

●其他:Height、Left、Top、Visible、Width等等。

(2) 文本框

属性:

●MaxLength 设置文本框中输入的最大字符数。

●MultiLine 设置是否允许多行显示。

●Passwordchar 用于口令输入。

●Scrollbars 用来设置文本框中的滚动条。

事件:

◎ Change 事件 当用户输入新信息或把Text属性设置为新值从而改变文本框的属性时,将可触发此事件。

◎ GotFocus事件 当文本框有输入焦点时,键盘上输入的字符都将在文本框中显示出来,只有当一个文本框被激活并且可见性为TRUE是才能收到焦点。

◎ Setfocus 事件 该方法可以把输入的光标(焦点)移到指定的文本框中。

格式: [对象.] Setfocus

(3) 图形控件

图片框和图像框:

▲ CurrentX和CurrentY属性 ▲ Picture属性

▲ Stretch属性 用于自动调整图像框中图形内容的大小。

▲ 区别:① 图片框是“容器”控件,可作为父控件,而图像框不能。

③ 图片框可接受文本和图片,图像框不能。

④ 图像框占用内存少,显示速度快。

⑤ 图片框更灵活,且适用于动态环境。

▲ 运行期间装入图片

格式:[对象.] Picture=LoadPicture(”文件名”)

直线和形状:

△ BorderColor属性

△ Borderstyle

1—实线 2—虚线 3—点线 4—点划线

△ BackStyle 设置标签是否覆盖背景,0表示为透明,1表示标签覆盖背景。

△ Shape 属性

0—矩形 1—正方形 2—椭圆形 3—圆形 4—四角圆化的矩形

△ BorderWidth 指定线宽或界宽

(3) 复选框和单选按钮

Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline

Value、Alignment、Height、Left、Top、Visible、Width

单选按钮:Value=True,表示选择了该单选按钮.

Value=False, 表示没有选择该单选按钮.

复选框:Value=0,表示没有选择该复选框。

Value=1,表示选择该复选框。

Value=2,表示该复选框被禁用。

(6) 列表框和组合框

列表框方法:AddItem 添加文本内容到列表框中。

Clear 清除列表框中所有内容。

RemoveItem 删除列表框中指定的项目。

组合框(ComboBox):AddItem、Clear、RemoveItem同样适用。

Style是组合框的一个重要属性,其值可取0、

1、2,决定组合框的3个类型。

注意: 属性ListIndex和 ListCout的区别

108(7) 滚动条

属性:

除Enabled、FontBold、FontItalic、FontName、FontSize、FontUnderline

Value、Alignment、Height、Left、Top、Visible、Width外,还有以下属性:

◆ Max和Min

◆ LargeChange和SmallChange

◆ Value 表示滚动框在滚动条的位置。

事件:主要有Scroll和Change.当在滚动条内拖动滚动框时会触发Scroll事件,而改变滚动框的位置时会触发Change事件。

(8) 计时器

可以用Enabled和Name属性,其最重要的是Interval属性,取值范围0~65535.

(9) 框架

(10) 焦点与Tab顺序

★设置焦点

格式: [对象.] Setfocus

★ Tab顺序

Tab顺序是在按Tab键时焦点在控件间移动的顺序。影响Tab顺序的属性是TabIndex。 1.数据的输出方法:

⑴ print方法

与print方法有关的函数:tab(n)函数 【print tab(24); 800】

spc(n)函数 【print “china”; spc(4); ”中国” 】用于跳出n个空格输出

tab函数从第一列开始计数,n是绝对偏移量。spc(n)函数则是从前面的输出内容开始计数,n是相对偏移量。

⑵ 格式输出( )

#:表示数字,不补零

0:表示数字,在数字的前或后补零

.:指定小数点的位置

,:指定千分分隔符的位置 如:print format$ (12345.6,”####,#.##”)12,345.(3)msgbox函数 信息框→ 返回值→标题

2.数据输出方法

(1)inputbox方法

Inputbox函数的返回值默认为字符串。如:a=inputbox(“Enter an integer”)

b= inputbox(“Enter an integer”) text1.text=b+a 如果在输入对话框中输入8和10,则文本框中显示的内容为108

VB的控制结构

循环控制结构

(1)For循环控制结构

使用Exit for 语句,可以在循环变量到达终值前就退出循环。

Do ……loop While

(2)当循环结构

(4)多分支控制结构

While 条件

测试表达式=????→Select case 测

[语句块]

Wend

试表达式

(5)IIf函数

A=IIf(条件,true部分,false部分)

数组与过程

1.默认数组

默认数组就是数据类型为Variant的数组。 Static A(4)即为定义了四个默认数组。

2.动态数组

◆ 用变量作为下标定位的数组时动态数组

◆ 用数值常量或符号常量作为下标定维的数组是静态数组。

动态数组定义分两步:首先在窗体层、标准模块或过程中用DIM或Public声明一个没有下标的数组,然后再过程中在用ReDimd定义。

3. 数组的清除和重定义

Erase 数组名

(3)Do循环结构

Do While……Loop

Erase用于动态数组中,将删除整个数组结构并释放数组所占用的内存,即动态数组以后就不复存在。用于静态数组中只是内容清空,数组依然存在。

4. 数组元素的输入及输出

输入:一般通过For循环和Inputbox函数输出

如: Option base 1

Dim s() as string

Sub Form_Click()

Redim s(4) as string

For i= 1 to 4

Temp$=Inputbox(“Enter Name”)

S(i)= Temp$

Next i

5.控件数组

控件数组是一组相同类型的控件组成,这些控件有一个相同的控件名称,具有相同的属性设置,所有元素的Name属性相同,但Index属性不同。

6.Sub过程

● 通用过程:多个事件过程需要使用同一个程序代码,他可以单独建立,供事件过程或其他过程调用。

● 事件过程:当发生某个事件时,对事件作出响应的程序段。

函数过程的返回值只能有一个。

调用Sub过程:① Call语句调用过程。 如:Call Tryout(a,b)

② 把过程名作为一个语句使用。 如:Try out a,b 去掉call关键字,去掉“实际参数”括号。

End Sub

输出:用Print方法结合For循环实现

Option base 1

Dim s(4,4) as Integer

For i= 1 to 4

For j= 1 to 4

Print s(i,j); “ ” ;

Next j

Next i

7.通用sub过程和事件过程 ★重点★难点★

事件过程是一种特殊的sub过程,他附加在窗体和控件上。窗体的事件过程不能由用户任意定义,而是由系统指定。通常是在事件过程中调用通用过程,同时事件过程也可以被其他过程调用。

通用过程可以放在标准模块中,也可以放在窗体模块中,而事件过程只能放在窗体模块中,不同模块中的过程可以互相调用。

8.Function过程 ★重点★难点★

Sub过程不直接返回值,可以作为单独的基本语句使用,而Function过程要返回一个值,通常出现在表达式中。

键盘与鼠标事件

1.键盘事件

⑴KeyPress事件

当压下键盘上的某个键时,将发生KeyPress事件。该事件可以用于各控件。比如用在文本框上的格式:Private Sub Text- KeyPress(KeyAscii as integer)

KeyPress事件带有一个参数,参数有两种形式,第一种形式:Index As Integer,只用在控件数组。第二种形式是:KeyAscii As integer,用于单个控件。

KeyPress事件用于识别按键的Ascii码,捕捉击键动作,KeyAscii参数不能省略。

控件的键盘事件优先于窗体的键盘事件

⑵KeyDown和KeyUP事件

KeyDown和KeyUP事件返回的是键盘的直接状态。 KeyPress事件返回的是Ascii码。当按键“A”时,KeyDown事件所得到的Keycode码与键“a”的相同。

2.鼠标事件 第10章 键盘与鼠标事件

本章主要考查键盘事件与鼠标事件,包括KeyPress事件、KeyDown和KeyUp事件、鼠标事件、鼠标光标的形状与拖放等知识点。通过对历年试卷内容的分析,本章考核内容约占6%,属于一般考查对象。

10.1 键盘事件

使用键盘事件过程,可以处理当按下或释放键盘上某个键时所执行的操作。

10.1.1 考点1:KeyPress事件

当压下键盘上的某个键时,将发生KeyPress事件。该事件可用于窗体、复选框、组合框、命令按钮、列表框、图片框、文本框、滚动条及与文件有关的控件。严格地说,当按下某个键时,所触发的是拥有输入焦点(Focus)的那个控件的KeyPress事件。在某一时刻,输入焦点只能位于某一个控件上,如果窗体上没有活动的或可见的控件,则输入焦点位于窗体上。当一个控件或窗体拥有输入焦点时,该控件或窗体将接收从键盘上输入的信息。例如,假定一个文本框拥有输入焦点,则从键盘上输入的任何字符都将在该文本框中回显。

在窗体上画一个控件(指前面所讲的可以发生KeyPress事件的控件),比如文本框,并双击该控件,进入程序代码窗口后,从“过程”框中选取KeyPress,即可定义KeyPress事件过程。一般格式如下:

Private Sub Text1 _ KeyPress(KeyAscii As Integer)

……

End Sub

KeyPress事件带有一个参数,这个参数有两种形式,第一种形式是Index As Integer,只用于控件数组;第二种形式是KeyAscii As Integer,用于单个控件。上面列出的是第二种形式。KeyPress事件用来识别按键的ASCII码。参数KeyAscii是一个预定义的变量,执行KeyPress事件过程时,KeyAscii是所按键的ASCII码。

说明:

利用KeyPress事件可以对输入的值进行限制;

利用KeyPress事件可以捕捉击键动作;

在KeyPress过程中可以修改KeyAscii变量的值。如果进行了修改,Visual Basic控件中输入修改后的字符,而不是用户输入的字符。

例10.1.1 以下关于KeyPress事件过程参数KeyAscii的叙述中,正确的是( )。[2005年9月 填空第29题]

A.KeyAscii参数是所按键的ASCII码

B.KeyAscii参数的数据类型为字符串

C.KeyAscii参数可以省略 D.KeyAscii参数是所按键上标注的字符

解析:KeyPress事件带有一个参数,这个参数有两种形式。第一种形式是Index As Integer,只用于控件数组;第二种形式是KeyAscii As Integer,用于单个控件。参数KeyAscii是一个预定义的变量,执行KeyPress事件过程时,KeyAscii是所按键的ASCII码,并且该参数不能省略。

答案:A

小技巧:在默认情况下,控件的键盘事件优先于窗体的键盘事件。因此在发生键盘事件时,总是先激活控件的键盘事件。如果希望窗体先接收键盘事件,则必须把窗体的KeyPreview属性设置为True,否则不能激活窗体的键盘事件。

10.1.2 考点2:KeyDown和KeyUp事件

与KeyPress事件不同,KeyPress并不反映键盘的直接状态,而KeyDown和KeyUp事件返回的是键盘的直接状态。换言之,KeyDown和KeyUp事件返回的是“键”,而KeyPress事件返回的是“字符”的ASCII码。例如,当按字母键“A”时,KeyDown所得到的KeyCode码(KeyDown事件的参数)与字母键“a”是相同的,而对KeyPress来说,所得到的ASCII码不一样。

KeyDown和KeyUp事件的参数也有两种形式,其中Index As Integer只用于控件数组,而KeyCode As Integer,Shift As Integer用于单个控件。

说明:

参数KeyCode是按键实际的ASCII码。该码以“键”为准,而不是以“字符”为准。也就是说,大写字母与小写字母使用同一个键,它们的KeyCode相同(使用大写字母的ASCII码);

转换键,指的是三个转换键的状态,包括Shift、Ctrl和Alt,这三个键分别以二进制形式表示,每个键有三位,Shift键为001,Ctrl键为010,Alt键为100;

KeyDown是当一个键被按下时所产生的事件,而KeyUp是松开被压下的键时所产生的事件。

例10.1.2 在窗体上画1个文本框,其名称为Text1,然后编写如下过程:

Private Sub Text1_KeyDown (KeyCode As Integer ,Shift As Integer)

Print Chr(KeyCode)

End Sub

Private Sub Text1_KeyUp(KeyCode As Integer,Shift As Integer)

Print Chr(KeyCode+2)

End Sub

程序运行后,把焦点移到文本框中,此时如果敲击“A”键,则输出结果为( )。[2006年4月 选择第29题]

A.A B.A C.A D.A

A B C D

解析:敲击“A”键的动作,首先是按下该键触发Text1_KeyDown事件,通过Print Chr(KeyCode)输出“A”;然后是松开被按下的“A”键,此时触发Text1_KeyUp事件,通过Print Chr(KeyCode+2)输出“C”。

答案:C

警钟长鸣:在键盘上按下一个键总是会触发KeyDown事件、KeyUp事件和KeyPress事件。

例10.1.3 在窗体上画1个命令按钮和1个文本框,其名称分别为Command1和Text1,然后编写如下代码:

Dim SaveAll As String

Private Sub Command1_Click()

SaveAll = SaveAll +Chr(KeyAscii)

Text1.Text=Left(UCase(SaveAll),4)

End Sub

End Sub

程序运行后,在文本框中输入abcdefg,单击命令按钮,则文本框中显示的内容是____。[2006年4月 填空第9题]

解析:Text1_KeyPress过程将用户在文本框中所输入的内容保存到变量SaveAll中,本例输入“abcdefg”,则SaveAll=“abcdefg”;Left(UCase(SaveAll),4)函数即为对“abcdefg”转换为大写后取前四个字母,即“ABCD”。

答案:ABCD

小技巧:利用逻辑运算符And可以判断是否按下了某个转换键,可以在事件过程中通过判断是否按下了某个或某几个键来执行指定的操作。

Private Sub Text1_KeyPress(KeyAscii As Integer)

可视化程序设计

1.当窗体为活动窗体时,可以使用“工具”菜单中的“菜单编辑器”打开菜单编辑器。

2.弹出式菜单:建立弹出式菜单首先用菜单编辑器建立菜单,然后用PopupMenu方法弹出显示。

各级菜单中的所有菜单项的名称必须唯一。

3.通用对话框: 对话框的类型可以通过Action属性设置,也可以用相应的方法设置。可以通过DialogTitle属性设置有实际意义的标题。

通用对话框,Action=1 打开文件; =2 保存文件

方法:showopen;showsave

4.文件对话框:

格式:【窗体】对话框名,Fliter=描述符1|过滤器1| 描述符2|过滤器2|…

FliterIndex 用来指定默认的过滤器。

5.多重窗体程序设计

Show方法:用来将指定的窗体装入内存并显示该窗体。

6.VB工程中,可以作为启动对象的程序是Sub main 过程或任何窗体。

一个工程中可以包括多个窗体文件。

数据文件

1基本文件操作语句与函数

⑴ 打开文件 ★重点★难点★

格式:Open文件名【for 方式】 as #文件号

如果省略【for 方式】,则打开文件的存取方式是随机存取方式。

方式指文件的输出方式,可以是Output(顺序输出)以写的方式打开、 input(顺序输入)、append(添加)。

使用open语句打开文件时,如果为输入input打开的文件不存在,则产生“文件未找到”的错误;如果为Output(顺序输出) 、append(添加)访问方式打开的文件不存在,则建立相应的文件。

(2)关闭文件

(3)EOF函数

用来测试文件的结束状态。利用EOF函数,可以避免在文件输入时出现“输入超出尾”错误。 DO While Not EOF

2.顺序文件与随机文件

⑴ 顺序文件写操作

Print #文件号,表达式

Write #文件号, 表达式

(3)随机文件的打开与读写操作

随机文件的记录是定长记录。在用open语言打开文件时必须指定记录的长度。

打开随机文件: Open”文件名” for random As #文件号 对文件的操作既可以读也可以写。

第12章 数 据 文 件

本章主要考查Visual Basic中的数据文件操作,包括Visual Basic文件概述、基本文件操作语句与函数、顺序文件与随机文件和文件系统控件。通过对历年试卷内容的分析,本章考核内容约占8%,属于一般考查对象。

12.1 Visual Basic文件概述

12.1.1 考点1:文件概述

1.文件概念

所谓“文件”,是指记录在外部介质上的数据的集合。

2.在程序设计中使用文件的原因

文件是使一个程序可以对不同的输入数据进行加工处理、产生相应输出结果的常用手段。

(2)顺序文件读操作

Input #文件号,变量表

使用文件可以方便用户,提高上机效率;

使用文件可以不受内存大小的限制。

3.文件结构

为了有效地存取数据,数据必须以某种特定的方式存放,这种特定的方式称为文件结构。Visual Basic文件由记录组成,记录由字段组成,字段由字符组成。

(1)字符

字符是构成文件的最基本单位。字符可以是数字、字母、特殊符号或单一字节。Visual Basic支持双字节字符,当计算字符串长度时,一个西文字符和一个汉字都可作为一个字符计算,但它们所占的空间是不一样的。例如:字符串“系统分析员协会顾问团CSAI”的长度为14个字符,而所占的存储空间为24个字节。

(2)字段

字段也称为域。字段由若干个字符组成,用来表示一项数据。

(3)记录

记录由一组相关的字段组成。

(4)文件

文件由记录构成,一个文件含有一个以上的记录。

4.文件种类

根据不同的分类标准,文件可分为不同的类型。

(1)根据数据性质划分

程序文件:存放的是可以由计算机执行的程序,包括源文件和可执行文件。

数据文件:存放普通的数据,这类数据必须通过程序来存取和管理。

(2)根据数据的存取方式和结构划分

顺序文件:文件中的记录一个接一个地存放。顺序文件的组织比较简单,但维护困难。主要优点是占空间少,容易使用。

随机存取文件:又称直接存取文件,每个记录的长度是固定的,根据记录号进行读写操作。优点是数据的存取灵活、方便,速度较快,容易修改。缺点是占空间较大,数据组织较复杂。

(3)根据数据的编码方式划分

ASCII文件:又称文本文件,它以ASCII方式保存文件。可以用字处理软件建立和修改。

二进制文件:以二进制方式保存的文件。不能用普通的字处理软件编辑,占空间较小。

例12.1.1 以下文件扩展名中,不属于程序文件的是( )。

A..exe B..frm C..mdb D..vbp

解析:.exe文件为可执行文件;.frm文件为Visual Basic的窗体文件;.mdb文件为Access数据库文件;.vbp文件为Visual Basic的工程文件。

答案:C

第二章 数据的输出与输入

1.Print方法的对象

2.MsgBox函数和InputBox函数中各参数的含义

格式:InputBox(prompt,title,default)

格式:MsgBox(msg,type,title)

9章 数组与过程

本章主要考查Visual Basic中的数组与过程,主要包括:数组基本概念、数组基本操作、控件数组、Sub过程、Function过程、过程中的参数、局部内存分配和Shell函数。通过对历年试卷内容的解析,本章考核内容约占18%,属于重点考查对象,但将保持下降趋势。

9.1 数组基本概念

9.1.1 考点1:数组的定义

数组是有序的数据的集合。在Visual Basic中,一个数组中的元素可以是相同类型的数据,也可以是不同类型的数据。在Visual Basic中,可以有两种格式定义数组:

1.第一种格式

(1)一维数组

一维数组的定义一般格式如下:

Dim 数组名(下标上界) As 类型名称

例如:Dim score (10) As Integer

该语句定义了一个一维数组,名字为score,类型为Integer,共6个元素。

(2)二维数组

二维数组的定义一般格式如下:

Dim 数组名(第一维下标上界,第二维下标上界) As 类型名称

例如:Dim stuScore (10,2) As Integer

该语句定义了一个二维数组,名字为stuScore,类型为Integer,共11X3=33个元素。

2.第二种格式

(1)定义数组

在定义数组时,指定数组下标的上界和下界。语句一般格式如下:

Dim 数组名([下界 To] 上界[,[下界 To] 上界]……) As 类型名称

例如:Dim score(1 To 5)

该语句定义了一个一维数组,下界为1,上界为5,共5个元素。

第二种格式实际上包含了第一种格式,只要省略“下界To”,即变为第一种格式。

(2)语句说明

“数组名”与简单变量相同,可以是任何合法的Visual Basic变量名,在同一过程中,数组名不能与变量名同名;

数组必须先定义后使用,并且每一维的元素个数必须是常数,不能是变量或表达式;

使用Dim语句定义数组时,数值数组中的全部元素初始化为0,字符串数组中的全部元素初始化为空字符串;

一般情况下,下标的下界默认为0,可以使用Option Base n(n只能为或1)改变下标的默认为1;使用LBound和UBound函数可以获得数组的上、下界值;

如果下标值从0开始,则数组元素的个数为最大下标值加1,如果下标值从1开始,则数组元素的个数与最大下标值相等。

3.定义数组的保留字

在Visual Basic中,定义数组时可使用4个保留字,以定义不同范围内的数组:

Dim:定义窗体模式或标准模块数组,也可用在过程中;

ReDim:用在过程中;

Static:用在过程中;

Public:用在标准模块中,定义全局数组。

例9.1.1 在窗体上画1个命令按钮,其名称为Command1,然后编写如下事件过程:[2006年4月 填空第7-8题]

Private Sub Command1_Click()

Dim arr (1 To 100) As Integer

For I = 1 To 100

arr(i)=Int(Rnd *1000)

Next i

Max = arr(1)

Min = arr(1)

For i= 1 To 100

If 【7】 Then

Max = arr(i)

End If

If 【8】 Then

Min =arr(i)

End If

Next i

Print "Max =";Max, "Min=";Min

End Sub

程序运行后,单击命令按钮,将产生100个1000以内的随机整数,放入数组arr中,然后查找并输出这100个数中的最大值Max和最小值Min,请填空。

解析:由条件判断可以得知,在【7】处的意思是将最大值Max中的数与arr(i)中的数相比较,【8】处的意思是将最小值Min中的数与arr(i)中的数相比较。

答案:【7】Maxarr(i)

9.1.2 考点2:默认数组

所谓默认数组,就是数据类型为Variant(默认)的数组。在一般情况下,定义数组应指明其类型。

例如:

Static Elec(1 To 100)As Integer

该语句定义了一个数组Elec,该数组的类型为整型,它有100个元素,每个元素都是一个整数。但如果使用语句:

Static Elec(1 To 100)

则定义的数组是默认数组,没有指定类型,则类型默认为Variant,该语句等价于:

Static Elec(1 To 100) As Variant

对于默认数组来说,同一个数组中可以存放各种不同的数据。因此,默认数组可以说是一种“混合数组”,这也就是默认数组的意义所在。

例9.1.2 阅读下面程序并填空。

Sub Form_Click()

【1】

Defau(1)=100

Defau(2)=234.56

Defau(3)= "CSAI"

Defau(4)= "20" & Now

第11章 可视化程序设计

本章主要考查可视化程序设计,包括菜单程序设计、对话框程序设计、多重窗体程序设计、Visual Basic工程结构与执行控制等知识点。通过对历年试卷内容的分析,本章考核内容约占6%,属于一般考查对象,下次考试将保持上升趋势。

11.1 菜单程序设计

For i=1 To 4

Print "Defau(";I; ")="; Defau(i)

Next i

End Sub

答案:【1】Static Defau(4)

菜单的基本作用有两个,一是提供人机对话的界面,以便让使用者选择应用系统的各种功能;二是管理应用系统,控制各种功能模块的运行。

在实际应用中,菜单可分为两种基本类型,即下拉式菜单和弹出式菜单。

11.1.1 考点1:下拉式菜单

下拉式菜单是一种典型的窗口式菜单。在下拉式菜单系统中,一般有一个主菜单,其中包括若干选择项,主菜单的每一项都可以“下拉”出下一级菜单供用户选择或输入信息。操作完毕后菜单从屏幕上消失,并恢复原来的屏幕状态。

1.菜单编辑器

Visual Basic中的菜单通过菜单编辑器,即菜单设计窗口建立。可以通过以下4种方式进入菜单编辑器:

执行“工具”菜单中的“菜单编辑器”命令;

使用热键Ctrl+E;

单击工具栏中的“菜单编辑器”按钮;

在要建立菜单的窗体上单击鼠标右键,将弹出一个菜单,然后单击“菜单编辑器”命令。

菜单编辑器窗口分为三个部分:即数据区、编辑区和菜单项显示区。

(1)数据区

数据区用来输入或修改菜单项、设置属性。在数据区中,必须提供菜单项的“标题”和“名称”属性,“有效”属性和“可见”属性一般默认为True,只有在必要时才设置其他属性。在设置“标题”属性时,如果输入一个减号(—),则可在菜单中加入一条分隔线;如果在菜单“标题”中包含“&”,则可将该符号后的字母作为访问键(通过ALT加该键打开该菜单)。

(2)编辑区

编辑区用来对输入的菜单项进行简单的编辑。

(3)菜单项显示区

菜单项显示区用来显示所输入的菜单项。菜单在数据区输入,在编辑区进行位置调整,在菜单项显示区显示。

2.菜单项的控制

(1)有效性控制

菜单中的某些菜单项应能根据执行条件的不同进行动态变化,即当条件满足时可以执行,否则不能执行。

菜单项的“有效”属性,菜单项的有效性就是通过该属性来控制的。实际上,只要把一个菜单项的“有效”属性设置为False,就可以使其失效,运行后该菜单项变为灰色;为了使一个失效的菜单项变为有效,只要把它的“有效”属性重新设置为True即可实现。

(2)菜单项标记

所谓菜单项标记,就是在菜单项前加上一个“√”。它有两个作用:一是可以明显地表示当前某个(或某些)命令状态是“On”或“Off”二是可以表示当前选择的是哪个菜单项。菜单项标记通过菜单设计窗口中的“复选”属性设置,当该属性为True时,相应的菜单项前有“√”标记;如果该属性为False,则相应的菜单项前没有“√”标记。

(3)键盘选择

用键盘选取菜单通常有两种方法,即热键和访问键(Access Key)。

3.菜单项的增减

菜单项的增减通过控件数组来实现。一个控件数组含有若干个控件,这些控件的名称相同,所使用的事件过程相同,但其中的每个元素可以有自己的属性。控件数组和普通数组一样,可通过下标(Index)访问控件数组中的元素。控件数组可以在设计阶段建立,也可以在运行时建立。

例11.1.1 假定有一个菜单项,名为MenuItem,为了在运行时该菜单项失效(变灰),应使用的语句是( )

A.MenuItem.Enabled= False

B.MenuItem.Enabled= True

C.MenuItem.Visible= True

D.MenuItem.Visible= False

解析:Enabled属性设置菜单是否可用;Visible属性设置菜单是否可见。菜单项标记通常是动态地加上或取消的,因此应在程序代码中根据执行情况动态设置。

答案:A

重要提示:只有当某个窗体为活动窗体时,才能用上面介绍的四种方法打开菜单编辑器窗口。

11.1.2 考点2:弹出式菜单

建立弹出式菜单通常分两步进行:首先用菜单编辑器建立菜单,然后用PopupMenu方法弹出显示。第一步的操作与前面介绍的基本相同,惟一的区别是必须把菜单名(即主菜单项)的“可见”属性设置为False(子菜单项不要设置为False)。PopupMenu方法用来显示弹出式菜单,其一般格式如下:

对象.PopupMenu菜单名,Flags,X,Y,BoldCommand

说明:

当省略“对象”时,弹出式菜单只能在当前窗体中显示。如果需要弹出式菜单在其他窗体中显示,则必须加上窗体名;

Flags的两组参数可以单独使用,也可以联合使用。当联合使用时,每组中取一个值,二者相加;如果使用符号常量,则两个值用Or连接;

弹出式菜单的位置由X、Y和Flags参数共同指定。

例11.1.2 在菜单编辑器中建立一个名称为Menu( )的菜单项,将其“可见”属性设置为False,并建立其若干子菜单,然后编写如下过程:

Private Sub Form_MouseDown (Button As Integer ,Shift As Integer ,X As Single, Y As Single)

If Button = 1 Then

PopupMenu Menu()

End If

End Sub

则以下叙述中错误的是( )[2006年4月 选择第32题]

A.该过程的作用是弹出一个菜单

B.单击鼠标右键时弹出菜单

C.Menu()是在菜单编辑器中定义的弹出菜单的名称

D.参数X、Y指明鼠标当前位置的坐标

解析:通常把PopupMenu方法放在MouseDown事件中,该事件响应所有的鼠标单击操作,用Button参数控制左右键选择。Button=1为单击鼠标左键时弹出菜单,Button=2为单击鼠标右键时弹出菜单。

答案:B

第九章.常用控件

认清事件触发的对象名

列表框

List属性——是一个字符数组,存放列表框的项。 ListIndex属性——选中的列表项序号。

ListCount属性——列表框中项目的数量。 Text属性——被选中列表项的文本内容。

Selected属性——是一个逻辑数组,表示对应的项在程序运行期间是否被选中。

第三章 VB程序设计语句

1. For循环

For <循环变量>=<初值> to <终值>[step 步长]

<循环体>

[Exit For]

Next <循环变量>

1) 多重循环

Do循环

格式一:Do While <条件> <语句块> Loop

格式二:Do Until <条件> <语句块> Loop

格式三:Do <语句块> Loop While <条件>

格式四:Do <语句块> Loop Until <条件>

2) 二重循环

1.典型案例:求100以内的素数。2.取矩阵对角线上的元素。3.打印“*”型图。

3) 程序范例:

Const n=5,m=4

Dim a(m,n)

Private Sub Command1_Click()

K=1

For i=1 To m

For j=1 To n

a(i,j)=k

k=k+1

Next j

Next i

End Sub

Private Sub Command2_Click()

End If

Summ=0

Next j

For i=1 To m

Next i

For j=1 To n

Print summ

If i=1 Or i=m Then

End Sub

Summ=summ+a(i,j)

Else

If j=I Or j=n Then

Summ=summ+a(i,j)

End If

过程Command1_Click()的作用是二维数组a 中存放1个 m行n列的矩阵;过程Command2_Click()的作用是

A) 计算矩阵外围一圈元素的累加和

B) 计算矩阵除外一圈以外的所有元素的累加和

C) 计算矩阵第1列和最后一列元素的累加和

D) 计算矩阵第1行和最后一行元素的累加和

VB中状态栏(StatusBar)和工具栏(ToolBar)经典实例分析

1. 状态栏的作用与组成

StatusBar 控件由 Panel(窗格) 对象组成,最多能被分成 16 个 Panel 对象,每一个 Panel 对象能包含文本和/或图片。控制个别窗格的外观属性包括 Width、Alignment(文本和图片的)和 Bevel(斜面)。此外,能使用 Style 属性七个值中的一个自动地显示公共数据,诸如日期、时间和键盘状态等。

2. 创建状态栏

先在窗体上画出一个StatusBar对象,再右击该对象,从快捷菜单中选择“属性”,进入属性页设置窗口,进行下面的设置:

(1) 选择窗格形状

在属性窗口里选择通用标签,在样式列表框里选择多窗格(缺省形式)或单窗格简单文本形式。

(2) 添加或删除状态栏窗格

在属性窗口里选择窗格标签,单击插入窗格按钮添加一个窗格,或单击删除窗格按钮删除一个窗格。

(3) 在单窗格里显示文本

在属性窗口里选择通用标签,在简单文本框里输入想显示在状态栏窗格里的文本。用代码显示的方式是:

StatusBar1.SimpleText = "要显示的内容"

(4) 在多窗格里显示文本或图形

1). 在属性窗口里选择窗格标签,用索引旁的按钮选择窗格序号。

2). 在文本框里输入想显示在状态栏窗格里的文本。用代码显示的方式是:

StatusBar1.Panels(x).Text = "要显示的内容"

3). 如果想加入图形,单击浏览按钮打开一个图形选择对话框,选择想加入的图形,然后单击打开按钮。

(5) 编写代码

如果是一个单窗格状态栏,当用户单击状态栏时,只需用下面的事件过程来响应:

Private Sub StatusBar1_Click()

<要执行的代码>

End Sub

如果是一个多窗格状态栏,就需要鉴别用户单击的是哪一个窗格,可用下面的事件过程来识别用户所单击的窗格:

Private Sub StatusBar1_PanelClick(ByVal Panel As Panel)

Select Case Panel.Index

Case 1

<要执行的代码>

Case 2

<要执行的代码>

……

End Select

End Sub

3.创建工具栏

(1).建立工具栏

1) 在工具箱里单击工具栏图标,拖到窗体的任何位置,Visual Basic自动将ToolBar移到顶部。再右击该对象,从快捷菜单中选择“属性”,进入属性页设置窗口;

2) 选择按钮标签,单击插入按钮,Visual Basic就会在工具栏上显示一个空按钮,重复此步插入多个按钮;

3) 单击确定按钮。如果想把按钮分组,首先插入一个分隔的按钮,再在对话框里将这个按钮的样式属性改为3-Separator。

(2) 为工具栏增加图画

1). 在Visual Basic工具箱里单击ImageList图标,并将它拖到窗体的任何位置(位置不重要,因为它总是不可见的),再右击该对象,从快捷菜单中选择“属性”,进入属性页设置窗口;

2). 选择图象标签,单击插入图片,在选定图形对话框里选择想使用的位图或图标,然后单击打开按钮。为每个想添加图形的工具栏按钮重复此步。

3). 单击确定按钮。

4). 进入ToolBar属性对话框,选择通用标签,在图象列表框里选择刚才添加的ImageList控件。

5). 选择按钮标签,单击紧挨Index框的向左或向右箭头以选择一个按钮序号。出现在工具栏最左边的按钮序号为1。

6). 在Image框里输入一个数,输入为1,则显示刚才ImageList控件里的第一个图形,输入为2,则显示刚才ImageList控件里的第二个图形。

7). 为每个按钮重复第6步, 单击确定按钮,现在Visual Basic就会在工具栏上显示精美的图形了。

(3)为工具栏添加文本信息

在ToolBar属性对话框中选择按钮标签,在标题框里输入想显示在按钮上的文本。

(4)添加ToolTips

ToolTips是一种当点到工具按钮时弹出的小标签。ToolTips很方便,可以告诉那些新手每个按钮是干什么用的。在ToolBar属性对话框中选择按钮标签,在工具提示文本框里输入想作为ToolTip的文本。

(5)编写代码

双击工具栏,以下面的格式输入代码就可以了: Private Sub Toolbar1_ButtonClick(ByVal Button As Button)

Select Case Button.Index

Case 1

<要执行的代码>

Case 2

<要执行的代码>

……

End Select

End Sub VB进程条(ProgressBar)和滑块(Slider)基础教程

1. 进程条

作用:进程条控件用于监视操作完成的进度。

创建:在窗体上画出进程条控件,右击,选择属性,然后进行所需的外观设置。

主要属性:ProgressBar 控件有一个行程和一个当前位置。行程代表该操作的整个持续时间。当前位置则代表应用程序在完成该操作过程时的进度。Max 和 Min 属性设置了行程的界限。Value 属性则指明了在行程范围内的当前位置。

(1) Min属性代表进程条全空时的值,缺省时为0。

(2) Max属性代表进程条全空时的值,缺省时为100。

(3) Value属性代表进程条当前的值(但不出现在属性窗口中),它大于Min属性,小于Max属性。改变Value属性的值将改变进程条的进度显示。

示例:

Private Sub Command1_Click()

If ProgressBar1.Value < ProgressBar1.Max Then

ProgressBar1.Value = ProgressBar1.Value + 5

Else

ProgressBar1.Visible = False „当进程条满了的时候让进程条消失

End If

End Sub 2.滑块

Slider 控件是包含滑块和可选择性刻度标记的窗口,在窗体上画出滑块控件,右击,选择属性,然后进行下列设置:

(1)选择滑块的外观

1)方向属性决定滑块的方位,可以是垂直的或水平的滑块。

2)滑块样式属性决定滑块标记的样子。

3)滑块频率属性规定了沿着滑块的标记的间隔大小,缺省的状态是1,表明每个可能值都出现标记,如果把值设置为3,则每三个可能值出现一个标记。

(2)滑块的主要属性及事件

1)Min,Max属性

Min属性决定滑块最左端或最顶端所代表的值。Max属性决定滑块最右端或最下端所代表的值。

2)LargeChange,SmallChange属性

SmallChange决定在滑块两端的箭头钮上单击时改变的值。LargeChange决定在滑块上方或下方区域单击时改变的值。

3)Value属性

Value属性代表当前滑块所处位置的值,这个值由滑块的相对位置决定。

4)Change事件

当滑块位置发生变化时就引发了Change事件。 图象列表(ImageList)和 图象组合框(ImageCombo)实例讲

1.图象列表

ImageList 控件是包含 ListImage 对象的集合,该集合中的每个对象都可以通过其索引或关键字被引用。ImageList 控件不能独立使用,只是作为一个便于向其它控件提供图象的资料中心。

ImageList 控件的作用象图像的储藏室,同时,它需要第二个控件显示所储存的图像。第二个控件可以是任何能显示图像 Picture 对象的控件,也可以是特别设计的、用于绑定 ImageList 控件的 Windows 通用控件之一。这些控件包括ListView、ToolBar、TabStrip、Header、ImageCombo、和 TreeView 控件。为了与这些控件一同使用 ImageList,必须通过一个适当的属性将特定的 ImageList控件绑定到第二个控件。对于 ListView 控件,必须设置其 Icons 和 SmallIcons 属性为 ImageList 控件。对于 TreeView、TabStrip、ImageCombo、和 Toolbar 控件,必须设置 ImageList 属性为 ImageList 控件。

一旦 ImageList 与某个 Windows 通用控件相关联,就可以在过程中用 Index 属性或 Key 属性的值来引用 ListImage 对象。

当与 Windows 通用控件一起使用 ImageList 控件时,在将它绑定到第二个控件之前,按照希望的顺序将全部需要的图像插入到 ImageList。一旦 ImageList 被绑定到第二个控件 ,就不能再删除图像了,并且也不能将图像插入到 ListImages 集合中间。但是可以在集合的末尾添加图像。

2.图象组合框

ImageCombo 控件是标准 Windows 组合框的允许绘图版本。控件列表部分中的每一项都可以有一幅指定的图片。它可以显示一个包含图片的项目列表,每一项可以有自己的图片,也可以对多个列表项使用相同的图片。

vb程序设计范文第6篇

2. Select StudentID, StudentName from student 只查询学号和姓名

3. Select StudentID as 学号, StudentName as 姓名, Sex as 性别,Class as 班级,NormalScore as 平时成绩,ExperimentScore as 实验成绩, ExaminationScore as 考试成绩 from student

4. Select * from student where sex=’男’只需要查看男生的成绩

5. Select * from student where NormalScore>80只需要查看平时成绩大于80分的记录

6. Select * from student where studentname like ‘陈%’查询姓陈的同学的记录

7. Select * from student order by examinationScore根据考试成绩排序

8. Select * from student order by examinationScore排序---降序

9. Select Sum(examinationScore) as 总成绩 from student求总成绩

10. Select Avg(examinationScore) as 平均成绩 from student求平均成绩

11. Select count(*) as 总记录数 from student求总记录数

12. Select Max(ExaminationScore) as 最高分 from student求最高分

13. Select Min(ExaminationScore) as 最高低分 from student求最低分

14. Select Class as 班级, Avg(ExaminationScore) as 平均成绩 from student group by class各班级成绩的分类汇总

Public Class frmMain

Private ObjCnn As New OleDbConnection

Private ObjCmd As OleDbCommand

Private StrDir As String = "D:MIS1025StudentMgr.accdb"

Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

ObjCnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & StrDir

ObjCnn.Open()

ObjCmd = New OleDbCommand

ObjCmd.Connection = ObjCnn

End Sub

Private Sub FindRecord(ByVal StrSQL As String)

ObjCmd.CommandText = StrSQL

Dim rd As OleDbDataReader = ObjCmd.ExecuteReader

Dim tbl As New DataTable

tbl.Load(rd)

DataGridView1.DataSource = tbl

End Sub

Private Sub CmdFind_Click(ByVal sender As System.Object,

System.EventArgs) Handles CmdFind.Click

FindRecord(txtSQL.Text)

上一篇:防汛个人工作总结范文下一篇:端午的古诗范文