Visual

2024-06-15

Visual(精选十篇)

Visual 篇1

针对目前中职学校的学生, 我们所面临的主要问题是学生英语基础较欠缺、数学思维能力不强、综合应用知识的能力较差、缺乏独立分析问题能力, 以及学生的积极性没有被充分地调动起来。要想解决上面的问题, 我们就要在实践中逐步探索行之有效的方法, 来组织Visual Basic的课堂教学。

俗话说:“磨刀不误砍柴功。”课前、课后的许多工作都将影响课堂教学, 所以做好课外的工作, 会对课堂教学起到事半功倍的效果。

一、Visual Basic教学的前期工作

(一) 培养学生养成良好的学习习惯

如课前预习、课后复习、上课做笔记, 记笔记要手、眼、耳、脑并用, 使感觉器官和思维得到综合训练, 提高学习能力, 而且能保持注意力集中、持久, 加强对知识的接受与理解, 这有利于教师与学生的互动, 提高教师授课效率。所以, 笔者认为学生对于学习习惯的培养从记笔记开始是比较简单易行的。

(二) 树立良好的教师形象

在平时的教学中我们经常会听到学生议论, 喜欢哪位教师, 不喜欢哪位教师, 当被问到原因时, 教师的形象住住会占很大的比例。为了让我们的说教被更多的学生心悦诚服地接受, 我们应该特别注意完善自己的形象, 提高自己的涵养, 拓展自己的知识面, 上课认真负责, 回答学生的提问要耐心细致, 在学生心目中树立一个良好的形象。

二、Visual Basic课堂教学的要点

中职计算机专业教学目标是培养学生的能力, 包括专业能力和职业能力。以往计算机专业教学是班级授课制的模式即以教师作为中心, 学生处在被动接受技能的角色。在这种教学模式中, 学生之间、师生之间无法进行良好的交流, 这对培养学生能力是极其不利的。因此, 我们要充分、合理、细致地设计好课堂45分钟, 让学生每一分钟都不糊涂、不厌烦。教学设计应从以下几个方面下工夫。

(一) 千方百计, 激发学生对程序设计语言的兴趣

教育心理学中提到, 学习以兴趣为动力, 学习材料及内容的生动有趣都可以刺激学生的学习。

中职学生在学习计算机时, 往往喜欢上机操作课, 对课堂理论性教学感到单调, 尤其是在学习高级语言后进行程序设计时表现较突出。此时如果教师只是单纯地强调理论知识的重要性或采取简单批评指责的方法要求学生注意听讲和积极思考, 效果不会很好。教师在教学中可采用以下几种方法来激发学生的兴趣:

1. 情境任务设计法。

例如:在VISUAL BASIC中, 在学习用分支结构的if语句时, 我们先给学生设计一个情境:问他们周末怎么安排?这时学生的兴致就高了, 如果天睛我去干什么, 如果下雨我去干什么, 最后我们总结一下回到问题上来, 这样学生的学习兴趣就调动起来了。

2. 悬念法。

在讲循环语句时, 我手举一张纸, 设其纸厚0.5mm, 接着提问世界最高峰——珠穆朗玛峰的高度是多少?此时学生会异口同声回答出来。这时学生已经产生了一个疑问, 一张纸和珠穆朗玛峰有什么联系呢?接下来话峰一转说道, 就用这样的纸 (足够大) , 对折若干次后, 就可以达到或超过世界最高峰的高度。学生马上会瞪大了眼睛张开嘴发出惊讶的声音。此时悬念已产生, 兴趣也调动起来了, 他们会怀着急切的心情要编出程序来验证一下这个问题。教师这时恰当地点出编这个程序的几个主要环节。学生会怀着极大的好奇心, 来进行程序编写, 预期的教学效果就达到了。

3. 热点导入法。

所谓热点, 指的是与社会生活、生产、高科技、医疗、环保等各方面民众关注问题, 既是热点, 学生也必定很感兴趣, 而感兴趣就有了学习的动力。

4. 游戏法。

如让学生玩一些五子棋、俄罗斯方块等游戏, 或用各种计算器按要求计算求值, 当然这些都是由Visual Basic开发设计的。通过实例的有效引入, 可以让学生了解Visual Basic的实用性, 培养学生的学习积极性, 激发学生的好奇心。

(二) 引入互助、竞争机制

建议教师在教学中, 适当组织一些以小组为单位、用任务来驱动、通过竞赛来评价的学习活动, 让学生能够及时发现和解决自己学习中存在的问题, 搭建起学生互助和竞争的机制。这样既可以培养学生的团队意识、合作精神, 又可以使基础薄弱的学生得到来自同学的帮助, 利用团队的力量带动学生共同进步, 提高学生的竞争意识。

学习小组, 是学生为一个共同的学习目标、共同参与学习的集体。教师在组建小组时, 应该根据学生的基础知识水平、学习风格、认知能力的高低来分组;当然在分组的时候也应该考虑学生的兴趣爱好、性别、平日的人际关系等因素。研究表明, 依照不同学习风格和不同类型组成的小组, 在学习中往往比同类型的小组更能获得好成绩。

一般来说, 每一个小组应该安排一个组长, 管理本小组的活动, 报告本组的活动开展情况。即使在课后开展小组学习, 也要安排一个学生做学习活动的管理者。同时让其余小组的学生各自担任角色, 在完成小组集体任务的过程中, 培养学生的合作精神。

(三) 调整教学内容的教学顺序, 重新组织并合理渗透知识点, 保证学生持续的学习兴趣

Visual Basic语言所涉及的内容较多, 如控件属性、事件、方法等, 教师在教学中不可能面面俱到。如果教师仅仅简单地介绍各控件的属性、事件、方法及其应用, 学生就会感到枯燥乏味, 产生厌学情绪, 甚至在机房里打游戏, 致使课堂教学无法进行。那么, 怎样才能激发并保持学生的学习兴趣, 让学生更好地掌握该门课程呢?

在教学中, 我们可以用一个个鲜活的具体实例把知识点贯穿起来, 在每个例子中适时、适量渗透一些相关的概念和知识, 让学生在做中学、在学中做, 使学生在完成任务的过程中逐渐地、自然地体会概念。最后再适当地引导学生进行归纳总结, 以更好地理解这些概念了。同时, 教师在授课时, 应考虑安排一些既符合学生特点, 又和课程相关的、学生容易感兴趣的感性知识, 增加教学内容的兴趣点。教师还要在课堂教学中增加社会实践知识、生活常识知识的介绍, 帮助学生连接起书本理论知识与实际应用相联系的纽带, 达到吸引学生注意力和引导学生解决实际问题的目的, 从而让枯燥的课堂变得生动有趣。

(四) 逐步深入, 分层推进, 最终与实际问题接轨

在Visual Basic讲授过程中, 必须处理好从简单到综合最后到实用的关系, 使之逐级铺垫, 前联后挂, 呈阶梯深入, 以适合学生的理解接受过程。例如, 我在开始教学Visual Basic时, 并不急于介绍程序设计的相关内容, 而是经常给学生展示一些设计好的小程序, 调起学生的胃口, 只介绍一些操作性强的内容, 如控件、窗口、菜单等, 其中慢慢渗透一些基本的语句, 然后过渡到程序设计中来。又如, 在讲一维数组和二维数组的概念时, 我先准备了好几张漂亮的一维平面图片和二维图片, 让沉闷的课堂轻松起来, 接着又给学生讲解数学中的一维坐标和二维坐标, 当每位同学都感觉简单时再来介绍本节的内容, 这样就好理解多了。最后通过一系列的练习题, 将学生解决问题的水平逐级提升, 从知识的简单应用到综合应用, 最终与解决实际问题接轨。

(五) 恰当、正确处理细节工作, 化繁为简, 化沉闷为轻松

1. 教育家斯维特洛夫说过:

“教育家最主要的, 也是第一位的助手是幽默。”教师富有哲理和情趣的幽默, 能深深地感染和吸引学生, 使自己教得轻松, 学生学得愉快。教师的幽默是赢得学生喜爱、信赖和敬佩的重要条件。在Visual Basic的教学中, 基本概念和理论性的解释, 往往使教师感到棘手, 使学生感到抽象、枯燥, 记忆较困难。在讲授时, 如果教师运用风趣的语言, 适当的比喻或或众不同的思维, 就能将繁杂化为简洁, 沉闷化为轻松, 使学生在轻松愉快的气氛中掌握知识。这样就好理解多了。

2. 抽象问题生活化。

抽象的问题比较理性化, 而学生对事物的认识、思考是直觉性思维在起主导作用, 教师可以将抽象问题感性化、生活化。例如, 在讲到二个变量值互相交换的问题时, 我将其比喻成两杯饮料, 要交换, 而饮料不能丢失, 学生会马上说出“再拿一个杯子来”。这时, 必须借助于第三变量问题就提出来了, 问题也解决了。

总之, 在教学过程中, 学生知识的获得、能力的培养、智力的发展的须通过各种方法、手段, 充分调动学生的能动性, 把被动学习变主动学习, 把厌学变成好学, 并根据教学过程的实际情况, 灵活地、创造性地掌握教学过程, 把握关键点, 才能获得最大的教学效果。课堂就是一个舞台, 教师就是一个演员, 学生是观众, 我们应根据学生好奇心强的特点, 采用随机应变、因势利导的教学形式把Visual Basic的教学表演好。

摘要:中职Visual Basic的课堂与传统课堂有许多相似之处, 教师要在舞台上当好45分钟的演员, 除了取传统教学精华外, 还要根据中职生的现状有准备、有创新, 随机应变、因势利导地进行教学, 应运用多种教学方法、把握教学要点, 充分、持续地调动学生的学习兴趣, 让学生由被动学习变为主动学习, 做好Visual Basic程序设计课堂教学。

Visual 篇2

1、安装之前先要看看自己的系统支不支持

注意:

① 选中所有的一起安装;

② Visual Studio太大,不要把Visual Studio 安装到了C盘

2、双击下载后的软件:vs2015.preview_ult_ENU.iso,将他加载到虚拟光驱中,点击vs_ultimate.exe,开始运行:

3、安装完后系统会重新启动一次,然后可以继续安装“D:Program Files (x86)Microsoft Visual Studio 14.0SecondaryInstallerSecondaryInstaller.exe”通过它来安装Visual Studio对应的交叉开发环境 4、若想在Visual Studio上开发android native程序的话,还需要自己去更新 android sdk,主要是更新跟Visual Studio自带的这个““C:Program Files (x86)Androidandroid-sdkSDK Manager.exe””

注:

① 由于sdk在C盘中,所以需要设置“C:Program Files (x86)Android”这个目录的权限为可写才行,否则会报错的;

Visual 篇3

关键词:党校教学;Visual Foxpro;数据库;实例开发

0引言

随着信息技术的发展,计算机和互联网正渗透到社会生活的各个方面,对思维理念和工作生活产生着深刻的影响。党校在各个班次开设计算机技术与操作课程,可以说是恰逢其时。作为新一代小型数据库管理系统,Visual Foxpro是实践性很强的课程,在党校也是一门新课程,缺少现成的教学经验,有必要对其进行一些讨论和探索。

1学员特点和教学现状

党校的教学对象一般都是在职人员,不同于一般的高等教育的教学对象,他们在年龄、职业、基础知识、思维方式和能力等诸方面都有较大的差别。从对计算机知识掌握程度来说,他们中有的已接触过计算机,对计算机的基础知识略为了解,有的已受过较系统的计算机基本知识的培训或教育,有一定的动手操作能力,有的过去根本没有接触过计算机知识;从对学习计算机知识目的来说,他们在党校所要了解和掌握的计算机知识,不是谋生的必备手段,更多的是提高工作和学习效率的需要。了解和掌握党校学员的这些特点,才能在Visual Foxpro课程教学中做到因材施教,提高教学效率和教学效果,合理定位教学目标。简单地说,Visual FoxPro教学目标是,培养学员掌握必要的数据库理论知识,能熟练地创建和使用数据表、数据库、视图、查询、菜单、表单和报表,能够开发—个小型的面向实际应用的桌面数据库系统。然而,通过实际调查,学员在学完这门课程后,很多知识不能融会贯通,只掌握了一些数据库的基础理论知识和基本的操作,缺乏解决实际问题的能力,实践操作能力较薄弱。

因此在教学中,强化课程内容的基础性和实用性十分重要,同时要注重实例开发和上机指导,把课程内容真正转化为实践应用能力。

2教学内容的基础性和实用性

在教学中,应深入讲解Visual Foxpro课程的基础内容,如基本命令及函数、关系数据库理论、SQL语句的使用等,使学员在广度和深度上加强对课程的理解。掌握以下几点显得尤为重要。

2.1向导和设计器的使用

在Visual Foxpro的集成开发环境中,使用向导可快速地生成管理系统中常用的对象和控件,当向导不能满足精细设计要求时,可使用设计器对对象进一步改进。针对每一种对象,比如数据库表、表单、菜单等,Visual Foxpro都提供了设计器,这些图形化的开发工具,使用户能够根据实际形象地设计所需要的程序和界面,避免抽象的设计过程,提高程序开发效率。在教学过程中,涉及这方面的教学内容时,在深入讲解的基础上,应结合实例进行分析。

2.2函数的掌握

与其他高级语言一样,Visual Foxpro也提供了大量的函数。适当地运用函数,不仅能增强和扩充命令与程序的功能,而且还能减少编写应用程序的工作量。在Visual Foxpro中常用函数的涉及面很广,有算术运算函数、字符运算函数、日期与时间函数、转换函数与测试函数等,这些看上去纷繁复杂的函数,其实用价值却很高,有了它们在编程或使用数据库时才能事半功倍。有些教师在讲授函数时只讲几个常用函数,让学员在课后自学其他函数,这样做虽然节省了课时,但容易使学生忽视函数的重要性,这是弊大于利的。教师应把各类函数中极具代表性的数个函数摘要出来讲解,并且对函数的不同应用环境多加举例,使学生深切感受函数的优点,深刻体会函数对简化程序的重要性。

2.3数据库表的设计

关系数据库的精髓在于可以利用表间的内在联系来实现数据的同步,提高处理速度。比如在修改某个记录时,另一个相关联的数据库表中的记录指针可以相应地移动,这样只要进行一次操作,就可以达到修改全部数据的目的。因此,表问的关联设计十分重要,要考虑到:表与表之间是通过哪一个关键字联系在一起的,该关键字的特性是什么,这一关键字改变时是否会影响该记录在其他表中的位置等。作为教师,在使学员掌握数据库使用方法的基础上,应尽可能多地讲解多表数据库的例子,分析表间关系,和学员共同讨论数据库应用系统的要求、可能的扩充和改变,提高数据库的灵活性,使学员真正认识到合理的数据库设计将直接影响到应用系统的性能。

3实例开发

在Visual Foxpro课程教学中应注重培养学员应用基础理论知识的能力和实践技能,通过加强课程的实践教学来提高教学质量和教学效果。

3.1实例开发教学

传统的课内教学实例是专为各个章节而设计的,各个实例之间没有必然的联系,各个章节的知识点不能有机地联系在一起。所以有必要将一个实例的开发过程分解成多个课内教学实例,将实例教学贯穿于整个Visual FoxPro的教学活动中,使学员对数据库应用系统的开发过程有一个整体的认识,理解Visual FoxPro各功能的联系和实际应用系统的构成。

通过分析系统各个功能模块的功能,让学员清楚学习VisualFoxPro的目的及在实际领域中的应用,培养学员的学习兴趣;在数据库设计中,通过演示数据库的创建、表字段属性的设置、视图和查询的创建和索引的建立等基本操作,突出重点,把数据库表间的关系、查询、索引和参照完整性等重点、难点知识和抽象原理具体化,加强学员对这些原理和概念的理解;在程序设计中,重点讲解结构化程序设计和面向对象程序设计两种设计方法的不同应用,将对象和类通过表单的创建、控件的使用直观地呈现在学员面前,帮助学员理解对象、属性、方法、事件等概念,使学员掌握面向对象程序设计方法和设计理念,界面设计好以后,要实现系统预定的功能,就需要用结构化程序设计方法编写事件代码,通过编写和分析程序代码,让学员了解程序执行的过程和程序语句的功能,熟练掌握常用函数和表达式的用法。

3.2课程设计

通过课内实例开发教学,学员对Visual FoxPro开发数据库应用系统有了一个全面的认识,但还缺乏独立思考和解决实际问题的能力,需进一步提高。结合党校学员的学习特点,可由学员自己选择课程设计题目,特别是紧密联系学员工作中实际应用的设计项目。

课程设计可分三个阶段,一是准备阶段,要求学员根据课程设计项目自己查找参考书籍和文献,将课程设计所需的相关资料准备充分;二是分析阶段,要求学员对课程设计项目进行可行性分析、需求分析和数据库设计,详细描述项目的流程,明确项目应具有的功能,画出系统结构图;三是设计实施阶段,要求学员完成项目各功能模块的详细程序设计及调试工作,使学员进一步理解Visual FoxPro开发的事件、方法和属性,熟练掌握核心事件的使用,明确事件发生顺序和数据更新的过程。通过课程设计,应培养学员养成查询资料、相互交流的习惯,使学员能从实际应用系统开发的角度来掌握知识。

4结束语

Visual 篇4

随着时代的发展, 人们工农业生产自动化的程度也在不断提高, 为了更有效地提高生产的质量和效率, 串口通信被广泛地应用于我国国民经济的各个部门, 并进一步在其使用的位置上闪烁着光芒。

Visual Basic是Mcrosoft公司推出的强有力的系列开发软件之一, 以其实用、方便、快捷、开发周期短、广泛而强大的功能越来越被广大编程人员所亲赖, 广为流传。在Visaul Basic开发工具中提供了大量的控件 (或称控制、组件) 供编程人员使用, 可以方便的利用这些组件中的属性、方法、语言等以事件驱动方式开发应用程序, 还可以利用WINDOWS SDK中的API中的应用程序接口等工具开发应用程序。VB还自带一个控件开发软件包CDK, 利用CDK可以开发自己需要的Controls。

那么如何利用Visual Basic实现串口通信技术呢?

2. Visual Basic实现串口通信的基本知识

Visual Basic实现串口通信有两种方法, 其一是利用VB本身提供的控件 (CONTRALS) , 另一种方法是利用WINDOWS API应用程序接口。

2.1 利用WINDOWS API应用程序接口实现串口通信

WINDOWS API提供了三个动态连接库KERNEL.EXE、US-ER.EXE和GDI.EXE供开发人员调用, 其中KERNEL.EXE主要包括一些底层操作函数, 完成一些资源管理、任务等操作, US-ER.EXE包含了一些与WINDOWS管理有关的函数, 如通讯、菜单、消息以及绝大多数非显示函数, GDI.EXE则是图形设备接口库, 主要包括与设备输出有关的函数。和串口通讯有关的函数等都存在于WINDOWSSYSTEM子目录下的User32.dll动态链接库中。

用WINDOWS API实现串口通信的时候, 往往会需要使用五个函数, 如下:

(1) Create File函数:用于打开指定的端口。

(2) CommConfigDialog函数:用于以对话框的方式设置:波特率、数据位、奇偶校验位和流控方式等。

(3) CommTimeOuts结构定义超时设置, 可以使用GetCommTimeOuts函数获得当前的设置, 用SetCcommTimeOuts函数完成设置.

(4) ReadFile、WriteFile用于读写串行端口, 采用的方法与读写文件采用的方法相同

(5) CloseHandle () 用于关闭串口, 以释放独占资源。

2.2 利用Visual Basic本身提供的控件实现串口通信

如果要使用Visual Basic本身提供的控件实现串口通信, 可以使用它提供的MSCOMM控件, 打开"Project->Add To Project->Components and Controls->Registered Activex Controls", 然后选择控件:Microsoft Communication Control, version 6.0插入到当前的工程中。这样就将类CMSComm的相关文件mscomm.cpp和mscomm.h一并加入到了工程中, 也就是说可以使用MSCOMM控件了。

MSCOMM控件提供了功能完善的串口数据发送及接收, 利用RS-232进行串行通信所需的详细设置、规则都可以通过设置MSCOMM控件的各种属性而实现。利用MSCOMM的事件、函数可以完成数据在串口的接收和发送。

MSCOMM控件对串行通讯有两种处理方式, 一种是利用事件驱动方式:利用MSCOMM控件的ONCOMM事件捕获并处理通信错误及事件。另一种是使用查询方式, 通过查询Comm Event属性的值来判断事件和错误。

MSCOMM控件的主要属性及方法如下:

⒈CommPort:用于设置或返回串行端口号

⒉Setting:用于设定串行端口的波特率、奇偶校验位、数据位、停止位

⒊PortOpen:用于打开或关闭串行端口

⒋InBufferSize:用于设置或返回接收缓冲区的大小, 缺省为1024个字节。

⒌InBuffer Count:用于返回接收缓冲区内的等待读取的字节个数, 通过将该属性定为0来清除接收缓冲区。

⒍RThreshold:该属性为阈值, 它确定当接收缓冲区内字节个数达到或超过该值就产生代码CommEvRecieve的OnComm事件, 设置为0时, 则接收缓冲区中无论有多少字符均不触发CommEvRecieve事件。

⒎Inputlen:用于设置或返回接收缓冲区内用INPUT读入的个数, 若取0, 则读入整个缓冲区。

⒏Input:该属性表示从缓冲区内移走一串字符

⒐Output:用于向发送缓冲区传送一串字符

⒑OutBufferCout:用于返回发送缓冲区内等待发送的字符数

⒒RTSEnable:用于确定是否使Request To Send (RTS) 线有效, 由计算机发送Request To Send信号到连接的调制解调器, 以请示允许发送数据

⒓SThreshold该属性为一阀值, 它确定在发送缓冲区中的字符数小于该值时, 就产生代码为CommEvSend的事件。

⒔InputMode用于确定Input属性取回数据的格式是字符串或是二进制数据的数组

ONCOMM事件可以捕获并处理通信错误及事件, 通过查询其属性Comm Event可以确定确定错误的类型以及所发生的通讯事件, COMMEVENT部分属性的常数值及其含义如下:

(1) comEvSend:其值为1, 发送缓冲区中的字符数少于STHreshold指定的值。

(2) comEvReceive:其值为2, 在接收缓冲区中收到RTHreshold个字符, 这个事件将持续产生

直到利用INPUT属性从接收缓冲区中移除数据.

(3) comEvCTS:其值为3, Clear To Send线的状态发生变化

(4) comEvEOF:其值为7, 收到文件结束 (ASCII字符为26) 字符

(5) comEventBreak:其值为1001, 接受到一个中断信号

(6) comEventFrame:其值为1004, 硬件检测到帧错误

(7) comEventRxOver:其值为1008, 接收缓冲区溢出, 即接收缓冲区中已没有剩余空间接收新的数据。

(8) comEventRxParity:其值为1009, 奇偶校验错误

(9) comEventTxFull:其值为1010, 发送缓冲区已满

3. Visual Basic实现串口通信的技术方案

Visual Basic实现串口通信的两种方案中利用WINDOWS API应用程序接口实现串口通信可以说是比较复杂, 但其实现的效果更接近底层因而在要求较高的情况下使用, 在通常情况下很少使用;利用Visual Basic本身提供的控件实现串口通信主要是事件和属性的应用, 其方便、快捷、实用, 因而获得了广泛的应用。

利用Visual Basic自身控件实现串口通信分接收和发送两个部分。

接收数据的时候往往首先需要选择串口来源, 再设置波特率、奇偶校验位、数据位、停止位、取回数据的格式、最后打开串口, 则可以获得所应该获得的数据。在实际操作中, 可以通过CommPort设置串行端口号即数据的串口来源;然后利用Setting属性设定串行端口的波特率、奇偶校验位、数据位、停止位;利用InputMode属性确定Input属性取回数据的格式;利用PortOpen打开串口;利用Comm Event属性检验数据, 利用Input属性获得数据, 并在恰当的时候设置InBufferSize、InBuffer Coun属性和Inputlen属性。

在具体应用的时候, 对于接收而言, 通常有两种要求, 一是按照规定的时间来获取相应的数据, 即每隔一段时间只取一组数据;另外一种则是获取所有应该获得的数据。对于按照规定时间来获取相应数据的要求, 可以利用Timer控件的Timer事件来判断时间的变化节奏, 利用MSCOMM控件的Input属性清空不需要的数据信息并获取所需要的数据, 即在Timer控件的Timer事件编写代码, 通过MSCOMM控件的Input属性获得数据, 获得数据后再利用数学函数和字符串函数来获得实际传输的数据即可。对于获取所有应该获得的数据的操作, 则可以利用ON-COMM事件获取相应的数据。

发送数据的时候与接收数据有类似之处, 同样需要设置串行端口号、串行端口的波特率、奇偶校验位、数据位、停止位, 确定数据的格式, 利用PortOpen打开串口, 利用Output属性可以向发送缓冲区传送数据。

此外利用Visual Basic操作串口通信还需要注意以下两点:一是切换串口的时候注意PortOpen属性的设置, 否则容易出现冲突和错误;二是注意每隔一段时间只取一组数据方式中每组数据获得的时间, 如果忽略这一点往往会获得错误的数据。

摘要:为了解决串口通信的问题, 提出Visual Basic操作串口通信的技术方案。

关键词:Visual Basic,串口,通信

参考文献

[1].《图像编码基础 (第3版) 》姚庆栋等清华大学出版社

[2].《Visual Basic 6使用详解》王道义乔陶鹏等机械工业出版社

Visual 篇5

Visual C++有能力创建你能够想像到(以及有些你想不到)的任何应用程序。然而,从整体上看,应用程序可以分为五种类型,这就是本文首先要集中讨论的内容:

控制台应用程序适用于你真正需要与遗留系统保持某种兼容性或不需要为用户提供全功能操作界面的情况。

基于对话框的应用程序通常是实用程序的专利,也适用于极小型不需要菜单系统的应用程序。

单文档应用程序适用于操作自有数据的简单应用程序,比如记事本或小型数据库前端应用。这类应用程序也需要某种类型的菜单系统。

多文档应用程序是提供完整功能的应用程序,比如字处理程序或电子表格。由于多文档应用程序是C++编程中十分复杂的部分,因此,当你考虑建立这类应用程序时,应该在Visual C++的灵活性与诸如Visual Basic之类的快速应用开发工具提供的速度之间进行权衡。

基于HTML的应用程序是Visual C++ 6.0新增的应用程序类型。它们操作某种类型的数据(像单文档或多文档应用程序那样),但与Inte.net结合在了一起。作为标准编辑器的替代物,你的用户会看到Web浏览器风格的前端应用。

注释 请注意本章我们在讨论应用程序。Visual C++有能力创建各种不同类型的代码。使用Visual C++不仅可以创建DLL、ActiveX控件、ISAPI扩展程序、设备驱动程序、像屏幕保护器之类的后台应用程序,甚至也可以扩展Visual C++本身。本章中我们只讨论一般的应用程序,随着本书的展开,我们也会介绍许多其它类型的代码。

控制台应用程序

我前面已经介绍过控制台应用程序的概况,但由于这一介绍过于粗略,以至于并未真正告诉读者控制台应用程序到底是什么样的。控制台应用程序具备DOS风格的窗口外观,而不是读者更熟悉一些的Windows风格窗口。控制台应用程序使用等距字体,就像你在DOS窗口中看到的那样,在控制台应用程序中可以使用标准C函数完成输入输出,比如printf和scanf。然而,从内部上讲,控制台应用程序确实是个Windows应用程序。下图是个控制台应用程序的典型示例(本章后文中我们将实际创建一个这样的程序)。

注 使用控制台应用程序可以把某些功能型DOS代码转移到Windows系统之下。

那么,为什么要创建这种杂交怪物呢?假设说你有一些工作得很好的老的遗留代码,但它们是DOS下的应用程序。你想把这个程序迁移到Windows系统下,但又没有时间把所有代码都转换成Windows调用,那么控制台应用程序提供了一个折中的解决办法。在这类应用程序中你可以使用老的代码(至少是其中的一部分),但在Windows环境中执行这一程序。

注 从长远的观点看,创建控制台应用程序并不一定会节省时间和精力没有谁能保证让你使用所有现存代码。

使用控制台应用程序还有另外一个好处。当把应用程序从DOS搬到Windows中时,外观上就不一样。没有什么办法填平两者之间的鸿沟,从用户的观点来看,你引入了一个完全不同的应用程序,需要做出计划重新培训每一个工作人员及一切相关的事情。另一方面,控制台应用程序外观上与DOS应用程序十分相似,每个人都已经相当熟悉,因此或许你并不需要花多少精力进行配置。你会感到烦恼的唯一的一件事就是如何让每个人都习惯以不同方式运行应用程序。

然而,不要以为控制台应用程序是每个DOS应用程序迁移到Windows环境的理想途径。本质上两种方式下你都要创建新的应用程序,其间的唯一差别是可重用代码数量,因此也表现在创建新的应用程序所耗费的时间。事实上,如果你决定采用控制台应用程序这种方法时,只要考虑一下就会发现,你终将编写两个应用程序。绝大多数公司发现他们终将承受把DOS应用程序转换到Win-dows应用程序所付出的代价。

当然,如果DOS应用程序在DOS窗口中运行得相当好时,你也必须斟酌一下重新编写控制台应用程序是否明智。无疑地,控制台应用程序可以使用某些Windows服务,但或许所需的一切服务已经在DOS应用程序中实现了(你需要访问某些MFC函数以增强应用程序的功能并改进应用程序的易用性)。向你的DOS应用程序中添加越多的Windows功能,控制台应用程序的可采用性也变得越低。

可移植性 可以安全地假定使用控制台应用程序能够把DOS应用程序的“商务逻辑”迁移到Windows环境,也可以把某些显示和打印功能进行迁移。然而,想通过控制台应用程序使用一组代码同时实现DOS和Win-dows下应用程序的假定从来都不是安全的这两个环境的差别实在太大了,当把应用程序从DOS迁移到Windows时总需要进行某些修改。

基于对话框的应用程序

许多人把配置屏幕、About对话框之类的应用与基于对话框的应用程序联系起来,而把其它功能要求归类于全功能应用程序。基于对话框的应用程序在编程世界中也占有一席之地。它们对实用程序类应用程序极为有用,在这类应用程序中通常只需要显示少量的数据和获取少量的用户输入。下图是本章后面要创建的一个基于对话框的应用程序的示例:

技巧 当确定是创建基于对话框的应用程序还是创建基于窗口的应用程序时,需要考虑实用程序。如果你的应用程序适合作实用程序,那么基于对话框的应用程序界面或许是良好的选择。另一方面,如果打算在应用程序中添加众多的特性或者需要用户进行大量的交互操作,那么应该考虑选用基于窗口的界面。在做出决定时一定要考虑未来对应用程序的扩充问题今天做出的错误选择将在明天的重新实现中付出沉重的代价。

那么,到底是什么原因使基于对话框的应用程序比基于窗口的全功能应用程序更好呢?最重要的原因之一是程序规模。你可以创建同一个应用程序的两种版本,一种使用对话框界面,另一种使用窗口界面。每次做这样的实验时你都会发现对话框版本的程序更小一些。除了节省资源外,对话框版本的应用程序的加载速度也更快些。基于对话框的应用程序比完成相同功能的基于窗口的应用程序更简单有效。

你还会发现创建基于对话框的应用程序的速度也很快。基于对话框应用程序的特点就是规模小、效率高。当你发现需要在这类应用程序中增加大量功能和特性时,或许你一开始就选错了要创建的应用程序的类型。基于对话框的应用程序通常避免使用菜单和其它基于窗口应用程序为提供友好界面所需的部件。更少的特性减少了程序员的开发和调试时间。显然,任何有利于提高程序员效率的方法都值得一试。

注 把过多的控件塞进基于对话框的应用程序的做法只能使该应用程序既笨拙又难以使用。

基于对话框的应用程序并不一定要承受缺乏重要特性的遗憾。例如,你可以把基于对话框的应用程序创建成完美的OLE服务器。在这方面Visual C++向导会为你提供相应的帮助,因此,在应用程序中添加OLE支持只需要你多做一丁点工作,

使用对话框应用程序唯一存在的问题是某些程序员感到难以划分对话框。我曾经见过一个基于对话框的应用程序,其上充满了让人不知所措的各种小玩意。基于对话框的应用程序看上去会比同等功能的基于窗口的应用程序拥挤些,但也不应该把它们拥挤到谁也不能使用的地步。

技巧 就像Windows中用于配置的属性对话框那样,你可以使用选项卡来降低基于对话框应用程序界面的拥挤程度。

单文档界面应用程序

单文档界面应用程序是像NotePad(记事本)或Microsoft Paint(画笔)这样的应用程序。它一次处理一个文档,降低了编程的复杂度并减少了运行程序时所需的资源。对某些小型应用(比如文本编辑器或小型图像编辑器)可以采用这种类型的窗口应用程序。单文档界面应用程序允许用户与其创建的文档进行全面的交互,但通常不如多文档界面的应用程序耐用。另外,单文档界面应用程序至少要比多文档界面的应用程序少一个菜单就是用于选择要编辑文档的Windows菜单。

注 对只需要用户进行少量交互的小型应用程序来说,可以采用单文档、基于窗口的界面。

与基于对话框的应用程序相似,单文档应用程序也可以创建成OLE服务器。实际上,这类应用程序也可以作为OLE客户程序,尽管极少有程序员把这种能力添加到他的应用程序中。下图是本章后面要介绍的一个单文档应用程序示例。请注意这个示例可以作为OLE的客户端。

注 通过把应用程序的基视图类选择为CHtmlView,可以把单文档界面的应用程序转换成简单的Web浏览器。

不幸的是,单文档界面的应用程序与基于对话框的应用程序有相同的问题用起来太复杂了。我还记得以前使用老版本CorelDRAW时的问题。每当我想查看一幅图案时,不得不在查看之前首先关闭当前打开的文档。这种限制使得CorelDRAW比它应该提供的方法要难用一些。例如,我在比较两幅图案时浪费了太多的时间(所幸的是,Corel Systems在当前版本的CorelDRAW中已经纠正了这一缺陷)。

技巧 当操作数据库管理系统时,单文档、基于窗口的应用程序工作的相当完美,其原因相当简单,极少有用户需要同时打开多个数据库。即使他们需要同时打开多个数据库,数据库本身的使用规则也减少了用户本身访问多个数据库的可能性。正常情况下,你需要以可编程方式控制对各种数据库元素的访问,并把结果显示给用户。

多文档界面应用程序

现在我们来谈谈多文档界面应用程序。使用这种类型基于窗口的应用程序可以创建像字处理程序或电子表格那样的应用程序。例如,Microsoft Word和Microsoft Excel都是多文档应用程序的示例。如果你想一想,就会发现,文本编辑器具备有限吸引力的原因正是由于其一次只能打开一个文档。人们需要在文档之间进行比较,这就是多文档界面的应用程序不仅幽雅而且在众多情形下需要的原因。

注 通过把应用程序的基视图类选择为CHtmlView,可以把多文档界面的应用程序转换成简单的Web浏览器。

多文档界面的应用程序通常也都具有多种功能(你可能会走向另一个极端,看一看人们对当今厂商生产的主流产品臃肿特性的抱怨也就知道了)。文本编辑器可以提供十分简单的查找功能但并不提供替换文本的任何方法。而全功能的字处理程序则把查找和替换作为标准功能来对待。

多文档界面应用程序的缺点就在于它处理多个文档。同时处理多个文档的能力也意味着需要更多的额外编程工作。你并不只是要跟踪所有打开的文档,也要提供Windows菜单来管理特殊的程序特性,比如要考虑屏幕划分问题。你还需要决定是否允许用户同时显示多个文档。像最小化其中一个文档,而最大化另一个文档这样的任务也需要额外的程序代码。总而言之,即使在开始编写多文档应用程序之前,就需要做大量的编程准备工作了。

当然,多文档界面的应用程序也有不少的缺点。例如,如果你以前把Word用做过OLE服务器,你就会知道,在另一个应用程序中单击链接之后,每次打开这个庞大的应用程序时都要等待很长时间这种烦恼了。而且,你或许也经历过内存不够的困惑。在最近之前,每当你要使用OLE时,你就必须有足够的内存同时运行两个应用程序(客户和服务器)。所幸的是,通过让服务器接管客户端窗口的方法,Microsoft已经降低了这类内存需求,现在只负责操作文档本身了。客户窗口为服务器菜单和工具条提供了框架,因此不会再浪费额外的内存空间了。

基于HTML文档的应用程序

Visual C++ 6.0提供了一种新的应用程序类型,但你在New对话框的Project选项卡中却找不到它的踪影。你可以通过MFC AppWizard第6步的对话框创建基于HTML文档的应用程序,本章中我们将花费几节的篇幅讨论这方面的内容。上述对话框Base Class(基类)组合框中包含了一个CHtmlView选项,正是使用这个选项来创建这种新型的应用程序。

那么,基于HTML文档的应用程序有什么优点呢?想一想创建自己定制的Web浏览器的好处吧!你可以把这个浏览器设置成自动浏览公司Web站点并限制用户访问Web上非商务站点的方式。由于定制的浏览器不需要具备全功能浏览器所有的通用功能,因此,定制浏览器会减少内存需求和磁盘空间需求。换句话说,你可以建立一个提供浏览器所有功能、而又不存在它们所含问题的程序环境(至少在访问公司Web站点上是这样)。下图是个用于访问Web站点的基于HTML文档的应用程序的示例(显示的是CHtmlView类提供的缺省Web站点)。

不管怎么说,这种新型应用程序比你原先想像得更有价值。例如,你可以把CHtmlView类添加到现存应用程序中,让它能够访问基于Web服务器的帮助桌面(在第15章的“给你的应用程序添加基于HTML的帮助”一节我将介绍基于HTML的帮助)。作为创建标准帮助文件并把它添加到应用程序的一种替代方法,你可以创建十分专业化的Web浏览器,并把它置入到应用程序中。

基于HTML的帮助的优点十分明显。使用老的帮助文件就意味着一旦把应用程序交付给用户或在整个公司内分发后,你就不能够轻易地更新帮助文件。而更新HTML帮助则简单到只需要在Web服务器上修改文件即可。另外,使用Microsoft Help Workshop还需要做一些额外的工作。而基于HTML的帮助则既不需要编译器,也不需要特殊工具,只要有个文本编辑器即可(理论上说,在编写巨型帮助文件时,你需要个专门为操作HTML而设计的编辑器)。

HTML帮助也有一些缺陷。一方面,难以在基于HTML的帮助中建立能够满足需要的查询功能。由于查询用户所需的信息与建立这些信息处于同等重要的位置,因此,基于HTML的帮助并不适合于初级用户。另外,基于HTML的帮助必须建立Internet(至少为内部网)链接。如果你的公司中有许多旅途中的用户,那么试图建立Internet链接或许并不现实。当然,总可以复制所需的HTML文件,但这与以前的帮助形式存在相同的问题:过期的帮助文件。

这种新的应用程序类型还有许多其它的用途多的这里无法罗列。需要记住的重要一点是,从Internet访问中能够得到好处的应用程序从CHtmlView类的使用中也会得到好处。利用这个类,可以完成从销售代表处远程更新公司数据库到让用户易于登记产品之类的一切任务。换句话说,CHtmlView类为你和你的用户打开了一个新的世界。

Visual 篇6

关键词:程序设计 对象 逻辑思维 自主学习能力

《Visual basic程序设计基础》是计算机应用专业、计算机软件开发方向必修的专业基础课程。Visual basic是一种有代表性的较流行的可视化语言,利用它使得创建具有专业外观的用户界面的编程工作简单易行。对于刚刚进入职业中学的同学来说,程序设计的逻辑思维方式和概念都是全新的,每一个对象、每一串代码都很陌生,当然好奇与兴趣也是空前得高涨,如何导引学生学好Visual basic,变好奇和兴趣为强大的动力,是每位程序设计教师的责任,本人通过多年的Visual basic教学,积累了一些教学方法,与大家一起分享。

一、激发兴趣,增强求知欲。兴趣是学习的关键,兴趣决定了教学效果的好坏。在程序设计教学中要从学生的兴趣入手,抓住学生的好奇心,对学生非常重要,选择一些有趣的、有实际意义的程序,激发学生的学习兴趣。为了激发学生的兴趣,在Visual basic程序设计中的第1课,简单地介绍了Visual basic的窗口构成以后,就安排了一个简单有趣的动画程序帮助学生了解如何用Visual basic开发应用程序,让学生从优美的画面中感受到用Visual basic编写程序很有意思,并安排实验课让他们在教师的指导下一步一步做出来,从而迎合了学生渴望成功的心理特点。在第1课的教学中老师还可以再综合一些往界在实训中由学生自己编写的、有趣的程序,从而吸引学生,并告诉他们学习了Visual basic程序设计的内容以后,大家都能够编出这些有趣的小程序。

二、循序渐进、逐步过渡。概念的形成过程常常是学生进行逻辑思维的过程。如果遵循逻辑思维过程去组织教学,必将使学生容易掌握概念。刚接触程序设计的学生,对程序设计充满了好奇,如果把对象事件、控件等一大堆难懂的、晦涩抽象的概念放在前面讲,一下子引入大量抽象的名词、概念,学生理解起来比较困难并且容易伤害他们学习的积极性,因此要想让学生领会这些抽象的概念,教学中应以一个个鲜活的具体实例为切入点,在每个例子中适时、适量渗透一些相关的概念和知识,让学生在做中学,在学中做,使学生在完成任务的过程中,逐渐地、很自然地去体会控件、对象、事件的概念。在Visual basic程序设计中,对象和事件是两个重要的概念,所有的开发都是围绕着对象的事件进行的。为了让学生灵活掌握每个控件的用法,教学中要安排足够的课时把这些控件的用渗透到一个个程序实例中,由浅入深逐渐介绍,让学生在编写程序的过程中总结控件的用法,程序与程序之间不能是孤立的、要有联系,完成程序所需的知识应该是循序渐进的。另外,大部分学生对界面设计的学习较感受兴趣,但是对代码的编写却不甚理解。因此在教学的过程中要逐渐从重界面设计(认识控件)的学习,逐步过渡到代码的编写。第一阶段可直接给出样例,学生按要求模仿做,主要目的是熟悉Visual basic控件的属性、事件,体会Visual basic程序设计的过程;第一阶段是提出问题,给出参考样例,留给学生一些自由发挥、创造的空间,在教师指导下完成。比如设计一个小程序,我采用“半成品”的教学方法,先将程序编好,在代码中设置几处错误,这几处错误是学生在参考样例编写代码过程中常犯的错误,让学生到服务器上下载程序文件,将程序文件粘贴到已设计好的界面中进行运行调试,查找错误。并在课堂中开展竞赛,看谁查找得既快,修改得又正确,学生的积极性非常高,他们在学习的过程中获得了成功感,从而增强学生学习的信心,提高他们的学习兴趣。

三、教学中不面面俱到、抓重点,培养学生生自主学习的能力。通过多年的实践,我认为一定不要对教材中每一部分都去讲解,可以选择部分最基本最重要的内容仔细讲解,其他内容一代而过,留给学生自己思考的空间。帮助学生尽快掌握使用Visual basic开发windows应用程序的一般方法。学习Visual basic的最好方法是结合自己的需要利用最基本的方法开发出最简单的程序来获得windows应用程序开发的感性认识。如果每一个细节都去讲解,一来浪费大量时间,二来学生获得大量目前未用到的知识,这样的知识是死的并且会很快忘记。关键要通过教师的讲解获得windows应用程序开发的思想,而讲解Visual basic的实用方法仅仅是一个手段。要引导学生根据自己的兴趣和要求有选择地快速地获得全书的整体印象,至于书中大量细节内容应引导学生通过上机和自学掌握。不仅要让学生学会使用Visual basic开发应用程序,还要思考如何实现自己的需要。这样不仅学会了Visual basic的使用,还学会了如何开发windows应用程序的思想。学生在校利用课堂接受老师讲解的时间相对于以后的工作时间是短的,并且计算机知识的更新是非常快的,为了能及时掌握新的软件、新的编程环境,教学时必须有意识地培养学生自主学习的能力,必须教会学生开发windows应用程序的思想而不仅仅学会使用开发工具的方法。这样学生通过学习Visual basic获得开发windows应用程序的一般方法,为学生日后进一步学习和使用其他windows应用程序开发工具打下基础。

四、开展课外活动,培养编程“高手”,调动大家的程序设计热情。开办程序设计兴趣小组,遵循因材施教的原则,选择程序设计能力较强的学生,开办Visual basic编程小组,激发学生对编程语言的兴趣,同时辅导部分学生参加各级各类程序设计员考试,进一步深化和补充程序设计教学内容。并举行一些程序设计大赛,通过竞赛,检验课外活动开展的质量及学生掌握知识的情况,也让学生看到自身的能力,增强克服困难的信心和勇气,激发他们的求知欲。

五、根据Visual basic程序设计课的特点,做好归纳小结。程序设计的教学,一般都是从局部分散地讲,如果不归纳总结,学生则难以形成完整、清晰的框架,因此,教学中可以通过一些综合性的应用题对所学过的知识进行归纳、小结。归纳可以是一个控件多方面(如事件、属性设置等)的归纳,也可以是对一种结构的归纳(如循环结构的归纳)。总结可以是一章的总结,也可以是几章的总结。归纳总结的形式也可以多种多样,可以让同学先自己总结,然后老师补充做最后的总结,也可以老师通过实例进行总结;重难点要着重强调。这种归纳总结,一方面利于学生理解知识、融会贯通,顺利实现知识迁移,另一方面对于提高学生的学习效率也有很大的帮助。

总之,在程序设计教学中教学方法很关键,它制约着程序设计教学的效率。教无定法,但万变不离其宗,绝不能离开程序设计的教学内容和教学目标、脱离学生的知识背景和认知规律。采取符合学生认知规律的、科学的教学方法,必然会提高教学效率,取得满意的效果。

参考文献:

[1]丁爱萍,主编.《Visual basic程序设计》电子工业出版社.

[2]刘炳文,等主编.《二级教程——Visual basic 语言程序设计》 .高等教育出版社.

Visual 篇7

根据国家教育部对高等院校非计算机专业计算机课程提出的基本要求, 各高校均开设了《大学计算机基础》课程, 数据库是其中非常重要的一个部分。Visual FoxPro (简称VFP) 作为一个面向对象的关系型数据库管理系统, 是开发小规模数据库应用系统和信息管理系统的常用工具, 目前已成为我国高校非计算机专业初次学习数据库管理系统的首选课程[1]。变量在VFP过程调用中有着非常重要的地位, 但不同的变量其作用范围也有所不同。

1 概念

在VFP中, 变量按作用域的不同可以分为三种:公共变量、私有变量、本地变量。变量的作用域指的是变量在什么范围内是有效的或能够被访问的[2]。

1.1 公共变量

公共变量即在任何模块中都可使用的内存变量, 应先建立后使用。建立公共变量的命令格式如下:

PUBLIC<内存变量列表>

命令的功能:将内存变量列表指定的变量设置为公共变量, 并赋逻辑假值.F.为其初值。

说明: (1) VFP默认在命令窗口中定义的变量是公共变量, 但不能在程序方式下使用[3]。 (2) 公共变量作用域很广, 可供上层模块、并列模块、下级模块使用。 (3) 公共变量一旦建立就一直有效, 当程序终止执行时, 公共变量不会自动清除, 只能用清除内存变量的命令来清除。

1.2 本地变量

本地变量是只能在建立它的模块中使用的内存变量, 本地变量也应先建立后使用。建立本地变量的命令格式如下:

LOCAL<内存变量列表>

命令的功能:将内存变量列表指定的变量设置为本地变量, 并赋逻辑假值.F.为其初值。

说明: (1) 为了避免与LOCATE命令混淆, LOCAL不可缩写为前4个字母。 (2) 本地变量不能在其上级模块、下级模块中使用, 其作用域仅为建立它的模块。 (3) 建立本地变量的程序结束时, 本地变量自动释放。

1.3 私有变量

私有变量是可以在定义它的模块及其下层模块中使用的内存变量。

1.3.1 私有变量的定义

私有变量的定义方式有两种, 一种是“隐含定义方式”, 另一种为“显式定义方式”。

1.隐含定义

在程序中没有使用PUBLIC命令和LOCAL命令定义而直接使用的变量, 都称为由系统隐含定义的私有变量。

2.显式定义

通过PRIVATE命令定义的私有变量。其命令格式如下:

PRIVATE<内存变量列表>

命令的功能:声明内存变量列表指定的变量为私有变量, 并屏蔽上级模块的同名变量, 直到声明它的程序、过程或自定义函数执行结束后, 才恢复使用被屏蔽的上级同名变量。

说明: (1) “声明”不同于“建立”。声明仅指定变量的类型不赋值, 建立既指定变量类型, 同时还为变量赋初值。 (2) 私有变量允许与上级模块的变量同名。 (3) 在建立私有变量的模块运行结束后, 私有变量自动清除。

1.3.2 私有变量的作用域

不管是哪种定义方式, 私有变量的作用范围都是定义它的模块及其下级模块。但由于上级模块中可能存在同名变量, 则私有变量的作用域也会发生相应变化。由此, 可以得到以下几种情况。

1.私有变量的作用域包括定义它的模块及其调用的下级模块。即上级模块的私有变量可以在下级模块中使用。

2. 若下级模块中声明的私有变量与上级模块的私有变量同名, 则上级模块中的私有变量的作用域不包括下级模块, 即上级模块的私有变量不能在下级模块中使用。在调用下级模块时将上级模块中同名的私有变量屏蔽, 当下级模块执行完毕返回上级模块时才恢复使用。

2 实例分析

2.1例1

有主程序main1.prg, 一级子程序sub1.prg, 二级子程序sub1-1.prg如下图所示。运行主程序main1.prg, 结果如下图所示为10和5。

从程序运行结果可知, 变量a, b是在子模块sub1.prg中建立的公共变量, 其初值为.F.。在子模块中为变量a进行重新赋值为5, 在下级子模块sub1-1.prg中为变量b重新赋值为10, 因为a, b均为公共变量, 则它们既可供主模块使用也可供下级模块使用。因此, 当程序返回子模块sub1.prg时, 变量b的值则应为新值10;当返回主模块main.prg时, 变量a的值应为新值5。

2.2例2

有主程序main2.prg, 子程序sub2.prg如下图所示。执行主程序main2.prg, 屏幕弹出出错提示信息, 如下图所示。

由以上执行结果可知, 在主程序main2.prg中建立的本地变量, 其作用范围不包括下级模块, 因此在子程序sub2.prg中执行输出命令时会出现“找不到变量”的出错提示。

若将主程序main2.prg中建立本地变量的命令“LOCAL A, B, C”移到子程序sub2.prg中首行, 当子程序执行完毕返回主程序执行输出命令“?A, B, C”时, 依然会出现“找不到变量A”的出错提示。由此可知, 在子模块中建立的本地变量, 其作用范围也不包括上级模块。

2.3例3

有主程序main3.prg, 子程序sub3.prg如下图所示。运行主程序main3.prg, 结果如下图所示。

从程序运行结果可知, 变量a, b, c是在主模块main3.prg中隐含定义的私有变量, 其作用范围包括子模块sub3.prg, 则变量a, b, c可在子模块sub3.prg中使用。在子模块中为变量a, b, c分别进行重新赋值, 当返回主模块main3.prg时, 变量a, b, c的值应为新值5, 10, 100。

若在子程序sub3.prg的首行增加一条命令“PRI-VATE A”, 则程序执行结果会变成“1, 10, 100”。这是因为, 在主模块main3.prg中隐含定义了私有变量a, b c, 其作用范围本应包括子模块sub3.prg。但在子模块中显式定义了子模块的私有变量a, 则在调用子模块时, 主模块中的私有变量a因与子模块的私有变量a同名, 会被暂时屏蔽, 不能在子模块中使用。在子模块中, 为子模块的私有变量a赋值为5, 为主模块的私有变量b, c分别重新赋值为10, 100, 当返回主模块main3.prg时, 变量b, c的值为新值10, 100;主模块的私有变量a恢复使用, 但仍使用原值1。

2.4例4

有主程序main4.prg, 子程序sub4.prg如下图所示。执行主程序main4.prg, 结果如下图所示。

从程序运行结果可知, 在主模块main4.prg中建立了本地变量a, 其作用范围仅仅为主模块。主模块中同时还隐含定义了主模块的私有变量b, 其作用范围本来包括主模块及其下级子模块sub4.prg。但在子模块中显式定义了子模块的私有变量b, 则在调用子模块时, 主模块中的私有变量b因与子模块的私有变量b同名, 会被暂时屏蔽, 不能在子模块中使用。在子模块中, 同时还建立了公共变量c, 其作用域包括主模块;隐含定义了子模块的私有变量a, 其作用域为子模块及下级, 不能在主模块中使用。在子模块中还为其私有变量a赋值为5, 私有变量b赋值为10, 公共变量c赋值为100。当返回主模块main4.prg时, 子模块的私有变量a, b被释放, 主模块的本地变量a、私有变量b保留原值1和2。因公共变量c的作用域包括主模块, 则其值100在主模块中也可使用。

3 结束语

在VFP的过程调用中, 经常需要大量使用变量。这时, 不同过程中变量的作用范围就显得非常重要。如果处理不当, 变量间相互影响, 将给系统带来很大的隐患。给学生讲解这部分的时候应配合尽量简单的实例, 进行详尽的分析, 再辅以优秀的教学方法如任务驱动教学法[4]、项目教学法[5]等, 使之深入掌握, 以后在程序设计中对变量进行使用时才会做到游刃有余。

摘要:Visual FoxPro (VFP) 是用户收集信息、查询数据、创建集成数据库系统、进行实用系统开发较为理想的工具软件。但在进行过程调用时, 对于各类变量的正确理解及变量的作用域一直是学生学习的难点。文中对VFP过程调用中使用的三种变量进行了介绍, 并配以浅显易懂的实例分析, 以求加深学生对其作用范围的理解。

关键词:Visual FoxPro,变量,作用域

参考文献

[1]王静.在医学院校VisualFoxPro课程中开展任务驱动教学的构思[J].计算机时代, 2012 (10) :54-55.

[2]王利.二级教程—VisualFoxPro程序设计[M].高等教育出版社, 2006.

[3]周敏.大学计算机基础教程[M], 科学出版社, 2013.

[4]段青.“任务驱动”教学法的本质探析[J].中小学信息技术教育, 2002 (1) :72-74

Visual 篇8

一、重视学习的开始阶段, 了解学生特点, 有效引入新课

中职学生对学习不感兴趣, 很容易产生厌学情绪。他们对学习没有心思, 而热衷于上网聊天, 喜欢在作业本上乱写乱画。针对这种情况, 怎样有效地引入Visual Basic这门新课程呢?开始阶段是非常重要的, 假如开始阶段能吸引学生, 使学生听起来有兴趣, 就会形成良性循环。在学习VB的第一节课时, 我先明确Visual Basic这门课程与他们以往学习的计算机课程有所不同, 让他们对Visual Basic产生新鲜感。然后根据学生的喜好, 把往届毕业生的程序作品演示给他们看, 当中有些程序是“聊天记录板”、“画板制作”、“上网浏览器”。让他们运行这些程序, 感受一下这些程序。期间, 学生感受到这些程序和平常的QQ上网聊天, 画画用的软件没什么区别。“好玩, 在娱乐中学习”抓住他们这个心理, 然后问他们想不想也设计出这样好玩的程序。不出意外, 学生们异口同声地回答:想!从他们欣喜的眼神, 可以看出第一节课他们对Visual Basic这门课程已经产生兴趣。这样引入新课首先能抓住他们的眼球, 吸引他们的注意力, 引起学生追求知识的强烈欲望, 集中学生学习的注意力, 从而使学生积极地参与课堂教学, 提高教学效果。

二、以学生的知识为基础, 调整教学结构

通常有关Visual Basic的教材, 大多一开始就介绍算法、流程图、对象、对象属性、方法、事件等一些比较抽象难懂的概念, 然后介绍Visual Basic语言基础、结构、数组等。从知识的逻辑结构体系来说, 这样安排是合理的。但对于基础较差的中职学生来说, 一开始就给他们讲授这些内容, 他们听起来, 就好比听“天书”一样, 要他们理解这些概念更是困难。缘于此, 在教学上我把书本的结构顺序改变了, 先引入实例吸引他们, 然后讲述Visual Basic的运行环境, 接着开始学习基本控件, 利用控件的属性去设计程序, 和他们一起去做程序。在做的过程中由学生去直观领悟对象、属性这些概念。

在教学中, 采用自然过渡、类比的方法, 和学生一起学习Visual Basic的打开、建立和保存、软件界面等知识, 由于他们已经学过Word等软件, 这些相似的界面, 他们操作起来比较容易。在操作过程中, 先不讲解每件事的含义, 而是指导他们操作。同学们通过完成操作, 自己体会什么是对象、什么是对象的属性、方法, 如何在窗体添加对象、设置属性等。有了直观的感受, 再去领悟, 就容易多了。这样的教学顺序, 是遵循先易后难, 先具体后抽象的原则, 使学生更容易接受知识。

三、据学生个性差别, 深化教学改革, 探索不同的教学法

中职学生素质参差不齐, 学生的个体差异较大的情况给教学带来较大困难。在Visual Basic教学中, 我因材施教, 根据学生不同的情况, 采取不同的教学方法。如采取分层教学法, 在讲授基本控件、文本框控件等, 对成绩比较差的学生, 我要求他们掌握控件的基本属性, 最起码要懂得在窗体上添加控件, 然后在属性窗口里设置它的一些属性;对成绩中等的学生, 要求他们掌握利用控件的属性进行程序设计;而对于成绩较好的学生, 则会加大程序设计的难度, 利用文本框的密码属性, 设置一个仿到柜员机取款的密码登录程序。这样, 对不同程度的学生进行不同层次的教学, 能顾及到每个学生的接受能力, 使每一个学生能“吃饱、吃好”, 有学习的满足感, 他们才会对学习产生兴趣。

而在承认学生有差异的同时想总体提升学生的综合素质, 教学中, 会适时适当地采用项目教学法。如在学习完基本控件后, 我会要求学生进行程序设计, 以便对控件的属性掌握得更为牢固。而要求设计“计算器”、“聊天记录”、“画板”等程序, 对于部分基础较差的同学来说是一种高要求。这时我会采取项目教学法, 把学生分成若干小组, 每组有好、中、差的学生, 每小组负责一个或若干个程序的设计任务, 从界面设计、程序的编写、调试等都由每个小组独立完成, 每个同学都为完成这个任务而进行思考、探索。这样就使得成绩差的同学不会无所事事, 在成绩好的同学的带动、帮助下, 也能提出自己的见解、方法。通过这样的教学方法, 使到不同层次的同学可以互相讨论, 成绩差的同学也可以在小组内发挥作用。

俗语说, 教无定法。为了提高学生学习的兴趣, 作为教师要了解学生的情况, 采取不同的教学方法。这样做, 教师要付出更多, 例如, 采用分层教学法, 教师要根据三个层次的学生来备课, 为他们安排有梯度的习题, 工作量是倍增的, 但为了学生, 这些付出无疑是值得的。

四、引入竞争机制, 考核明确化, 激发学习兴趣

中职学生虽然基础较差, 但大多有“争强好胜”的天性。其实, 他们也很看重自己的分数, 自己的表现。因此, 我在Visual Basic教学中, 有意识地引入和组织学生之间的良性竞争, 激发他们在学习上的“好胜心”, 从而提高他们学习的兴趣。如在学习了文本框控件、标签控件、按钮控件后, 我要求学生做一个“计算器”的程序。完成后, 利用多功能教学平台, 让学生演示他们所做的程序, 教师和同学一起综合评分, 并把这分数作为平时考核成绩。对表现好的同学及时给予表扬和鼓励。大多数学生想在演示时有好的表现, 又想取得好的平时成绩, 所以在上课时, 会留心听课, 学习效果自然较好。

为提高学生的学习兴趣, 很多有经验的老师有不同的教学方法, 但都是根据学生的实际情况而实施。另外, 作为教师, 要有良好的师德, 扎实的专业水平, 在实施过程中, 良好的师生情感可以营造良好的教学氛围, 这也很关键的。以上几点拙见, 望能得到同行的指正。

摘要:Visual Basic是一种功能强大、面向对象的可视化编程语言, 也是中职学校计算机专业学生必须要掌握的一门课程。如何提高学生学习Visual Basic的兴趣, 是影响教学效果的关键。

Visual 篇9

随着多媒体技术的迅速发展与学校多媒体计算机使用的普及,多媒体教学逐步兴起,Power Point是应用最广的多媒体课件制作软件之一。它具有操作简单、设计效率高、易于学习掌握等特点而被许多用户所青睐。操作环境为Office用户所熟悉,可以轻松地上手操作。除此之外,它还拥有VBA,增强和提高了PowerPoint制作课件的能力[1],但VBA也有局限性,如不能使用控件数组,在幻灯片上制作和操作大量控件时,需要在相应代码中手动添加大量相似代码,代码较烦琐,对于某些动态效果的实现,灵活性略显不足,较难达到预期效果。

而Microsoft Visual Basic以其实用、方便、广泛而强大的功能越来越被广大编程人员所青睐。从设计新型的用户界面到利用其它应用程序的对象、从处理文字图象到使用数据库,Visual Basic提供了完成这些工作的所有工具。其开发工具中提供了大量的控件供编程人员使用,可方便的利用这些控件中的属性、方法、事件开发应用程序[2]。相对V B A而言,有更大的优势。如果能将Visual Basic程序设计语言结合到PowerPoint课件[3][4][5]制作中,将使所设计课件更具灵活性和趣味性。

2、实例

在教学过程中,如果老师可以根据教学需要,点击一个按钮即可随机产生一个在座学生的姓名进行提问,这样不仅能提高学生的注意力和学习兴趣,而且做到了随机、公平、生动、有趣,活跃了课堂气氛,与多媒体课件的教学相辅相成、相得益彰,从而进一步发挥了多媒体教学的作用。

要完成这一功能,在VB开发环境下建立一个包含一个窗体的工程,窗体上有五个标签控件(其中Label5是控件数组),用来显示相关的提示信息和学生名单,标签的Backstyle属性设置为0 Transparent,字体、颜色等属性也作相应的设置;一个命令按钮。在教学过程中,老师可以根据教学需要,点击一个按钮即可随机产生一个在座学生的姓名进行提问,用VB完成设计工作后,先将用VB设计好的应用程序编译成可执行文件,然后在课件的适当位置设置一个连接点,如图标,选择“幻灯片放映”→“动作设置”→“运行程序”,在其下的文本中,输入或选择已生成的可执行文件的路径(最好用相对路径)和文件名即可。在课件演示时,单击该图标即可启动对应的点名程序。

在课件的幻灯片上设置为小图标(图1中的图标),每张幻灯片上都可能用到此功能,应将其添加到“幻灯片”母版中,可提高课件的制作和修改的效率。

主要功能:启动随机点名程序后,调入全班学生名单,提问时,单击按钮,随机抽取学生(图2),提问过的学生名字,在界面上标注红颜色,当前抽取的学生,在界面下部中间显示。

以下是用Visual Basic编制的随机提问界面及原程序:

程序代码:

3、结论

在课件制作过程中,如果能充分利用VB可以补充和扩展Powerpoint的功能,改变Powerpoint课件呆板单一的面孔,增强课件的交互性、趣味性和灵活性,从而有利于提高学生的学习主动性。今后利用VB可在课件的交互性(如课后练习、自测系统等)、较复杂动态效果的实现以及对动态演示的精确控制方面进行开发,使得Powerpoint课件更加完美。

参考文献

[1]程昌品.VBA在PowerPoint课件中的应用[J].重庆文理学院学报.2006,(1)

[2]张艳.Visual Basic程序设计教程[M],江苏徐州.中国矿业大学出版社.2006

[3]谷震离.多媒体教学软件原型法开发模型研究[J].计算机工程与设计.2006,27(10):1828-1830

[4]刘悦,高杰.新概念PowerPoint2003教程[M].北京:科学出版社.2006-07.

Visual 篇10

图形设计是可视化设计的重要部分。在应用程序中增加适当的图形和动画, 常常可以增强程序的魅力, 使其多姿多彩。利用Visual Basic提供的有关图形显示控件和绘图方法, 可以很容易地完成各种图形编程工作。若将它们灵活的加以应用, Visual Basic不但能够创建既具有影响力, 又实用美观的图形效果, 而且还能设计出丰富多彩的多媒体程序。

2、坐标系统

2.1 默认坐标系

VB的默认坐标系为左手系, 坐标原点在窗体的左上角, 水平为x坐标, 向右递增;垂直为y坐标, 向下递增。窗体ScaleLeft, ScaleTop, ScaleWidth, ScaleHeight属性表示窗体的坐标系, ScaleLeft, ScaleTop表示窗体左上角的坐标, ScaleWidth, ScaleHeight表示窗体的宽度和高度, 因此可求窗体右下角的坐标ScaleLeft+ScaleHeight, ScaleTop+ScaleWidth。

2.2 自定义坐标系

对象的坐标系允许用户自行定义。Scale方法是建立用户坐标系最方便的方法, 其语法如下:

[对象.]Scale[ (xLeft, yTop) - (xRight, yBottom) ]

对象可以是窗体、图形框或打印机。 (xLeft, yTop) 表示对象在左上角的坐标值, (xRight, yBottom) 为对象在右下角的坐标值, 均为单精度值。方括号[]内的内容是可选的, 表示不同的用法。

3、绘图属性

3.1 当前坐标

窗体、图形框或打印机的CurrentX, CurrentY属性给出这些对象在绘图时的当前坐标。这两个属性在设计阶段不能使用。当坐标系确定后, 坐标值 (x, y) 表示对象上的绝对坐标位置。如果坐标值前加上关键字Step, 则坐标值 (x, y) 表示对象上的相对坐标位置, 即从当前坐标分别平移x, y个单位, 其绝对坐标值为 (CurrentX+x, CurrentY+y) 。

3.2 线宽与线型

窗体、图形框或打印机的DrawWidth属性给出在这些对象上所画线的宽度或点的大小。DrawWidth属性以像素为单位来度量, 为整形量, 最小为1.DrawStyle属性控制线条的效果, 仅当DrawWidth属性值为1时才有效, 具体属性如表1所示。

3.3 颜色

Visual Basic默认采用对象的前景色绘图, 也可以通过以下颜色函数指定色彩:

RGB (红, 绿, 蓝) '红, 绿, 蓝三基色的成分使用0-255之间的整数

QBColor (颜色码) '颜色码使用0-15之间的整数

部分颜色常数值如表2所示:

3.4 填充

封闭图形的填充方式由Fill Style、Fill Color这两个属性决定。Fill Color指定填充图案的颜色, 默认颜色与前景色相同。Fill Style属性指定填充的图案, 共八种内部图案, 如图1所示。

4、绘图方法

4.1 Line方法

Line方法用于画直线或矩形, 语法格式如下:

[对象.]Line[[Step] (x1, y1) ]-[Step] (x2, y2) [, 颜色][, B[F]]

其中 (x1, y1) (x2, y2) 分别为线段的起点、终点坐标;关键字Step表示采用当前作图位置的相对值;关键字B表示画矩形;关键字F表示画矩形的颜色来填充矩形。F必须与关键字B一起使用, 矩形的填充由Fill Color和Fill Style属性决定。

4.2 Circle方法

Circle方法用于绘制圆、椭圆、圆弧和扇形, 其语法结构如下:

[对象.]Circle[Step] (x, y) , 半径[, 颜色][, 起始角][, 终止角][, 长短轴比率]

其中对象指示Circle在何处产生结果, 它可以是窗体、图形框或打印机, 默认时为当前窗体 (x, y) 为圆点坐标, 关键字Step表示采用当前作图位置的相对值。圆弧和扇形通过参数起始角、终止角控制。当起始角、终止角取值在0~2π时为圆弧, 当在起始角、终止角取值前加一负号时, 绘制扇形, 负号表示画圆心到圆弧的径向线。

4.3 PSet方法

PSet方法用于在窗体、图形框或打印机指定位置上画点, 其语法结构如下:

[对象.]Pset[Step] (x, y) [, 颜色]

其中参数 (x, y) 为所画点的坐标;关键字Step表示采用当前作图位置的相对值。

5、正弦曲线的绘制

用Line方法在窗体上画坐标轴、坐标刻度和sin曲线。

要在窗体上绘制坐标轴与坐标刻度, 必须先定坐标系, 确定坐标原点。X轴上坐标刻度线两端的坐标为 (i, 0) , (i, y0) , 其中y0为定值。Y轴上标记坐标刻度线两端点的坐标为 (0, i) , (x0, i) , 其中x0也是定值。坐标轴上刻度线的数字标识, 可通过CurrentX, CurrentY属性设定当前位置, 然后用Print输出对应的数字。

具体程序代码如下:

效果如图2所示。

如果将倒数第3行的Line- (i, y) 语句改为Line (i, 0) - (i, y) 语句, 则显示结果如图3所示。

参考文献

[1].龚沛曾陆慰民杨志强.Visual Basic程序设计简明教程.高等教育出版社, 2003年3月第2版

[2].谢步瀛龚沛曾.Visual Basic计算机绘图实用技术.电子工业出版社, 2004年4月第1版

上一篇:促进农村建设下一篇:国产桌面操作系统

本站热搜

    相关推荐