vb程序设计论文范文

时间:2023-04-26 16:13:36

引言:寻求写作上的突破?我们特意为您精选了12篇vb程序设计论文范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。

vb程序设计论文

篇1

Abstract:VisualBasicprogrammingasapublicnon-professionalcomputer-basedlessons,theoryandpracticestrong,andteachingdifficult.Thearticleonhowtoimprovethequalityofteachingandtrainingstudentsinanintegratedapplicationdevelopmentcapabilitiesandexplorereformsweremade.

Keywords:vb;programming;reform;practice

1引言

VisualBasic(下面简称VB)程序设计是我校非计算机专业学生的必修课,然而VB语言枯燥、难以理解,学生缺乏相应的知识背景,导致学生对这门课有恐惧心理,缺乏兴趣。这就要求我们教师在教学中分析、摸索出一些较为行之有效的教学方法,才有可能培养学生程序设计能力,掌握一门技能,激发学生对程序设计的兴趣。笔者在近几年的教学实践中进行了如下改革探索,取得了良好的教学效果。

2教学改革与实施

2.1对课本原有知识进行整合,激发学生的学习兴趣

大部分的教材总是先讲VB语言的基本语法,然后再讲VB中对象的使用。但在讲授时不宜将两者分开,要把VB面向对象的程序设计方法,事件驱动的编程机制贯穿于整个教学过程中。VB中的对象主要用于构建界面,而具体程序功能的实现则要编写代码行,因此任何一个完整的应用程序都不可能只用对象或只用语法。这两块内容可进行穿插讲解。这样就避免了让学生在毫无知识背景的情况下去理解抽象难懂的概念,挫伤他们编程的积极性。在教学过程中,我始终坚持以学生已有的知识程度为基础,打破原有的以课本知识的逻辑结构为顺序组织课堂教学的模式,先不讲基本概念,改用从简单的实例人手,通过让学生观看、模仿,在实际操作中去探究和领悟这些概念,并适时地加以归纳总结,让学生在轻松愉快的气氛中接受新知识。比如,在讲到循环结构中DO——LOOP语句和FOR——NEXT语句的用法时,我用DO——LOOP语句的4种形式和FOR——NEXT语句实现求解N!的过程,让学生去观察、领悟它们的异同。

2.2教学方法多样化

笔者在教学实践中,除了采用传统的教学方法如:提问法、小组讨论法外,主要采用以下教学方法:

1)错例分析法

学生对变量、类型、运算符、表达式这些基本概念和语言规则的掌握需要一个过程,对算法和数据结构的知识需要不断积累。学习过程中,能听懂老师授课的内容,但自己编制的程序往往错误百出。课堂上,我经常将容易出错的概念以反例形式展示给学生,让他们找错误,通过运行。比如错误使用逻辑运算符。

假设a、b和c是三个变量。如果已知a<c,要判断b的值是否在a与c之间,可以使用以下表达式:a<bAndb<c

不能写成:a<b<c。

很多学生会错误延用数学上的概念,写成后一种形式。

例OptionExplicit

PrivateSubCommand1_Click()

DimaAsInteger,bAsInteger,cAsInteger

a=-3:b=-2:c=-1

Printa<bAndb<c’显示True

Printa<b<c’显示False

EndSub

为什么a<b<c会得False?因为,VB在计算这个表达式时,先计算“a<b”部分,得True;再计算“True<c”,并将True转换为一1,-1<-1?最终得False。

通过诸如此类的反例教学,使学生豁然开朗,印象深刻。

2)零散实例和核心实例结合

零散实例教学法,对每个知识点的运用和理解是非常行之有效的,但对前后知识的贯穿缺乏说服力。笔者在教学改革实践中体会到,除经典的零散实例外,将一个规模较大的、典型的、有实用价值的、学生感兴趣的核心实例贯穿于教学全过程,对提高学生的编程能力非常帮助。所谓核心实例是指,实例从小到大、随章节的展开而逐步成长,呈现为逐步进化的多个版本。比如引入一个贯串全书的问题:设计一个“图书管理系统”。首先,用最基本的概念和最简单的结构,给出该系统的第一个(也是最简单的)版本,以后的每一次课,都对该系统提出新的功能和结构上的要求,并用本次课介绍的新概念和新方法对它进行功能上的扩充和结构上的改进。每次得到该系统的一个增强的新版本。为达到设计目标,学生随着教学的进程,可以积极投入到对实例系统的调试、改进的实践中,逐渐掌握了所学的基本知识,同时也提高了编程能力。

2.3重视实践教学,培养学生综合应用程序开发能力

VB是一门实践性很强的课程,如果只纸上谈兵,不上机练习,是不可能真正掌握VB程序开发的。实践教学主要注意抓住以下几点:

(1)模仿阶段,对课堂核心实例系统的调试、改进。核心实例的每次增强版是全面反映教学内容的,学生通过模仿、知识再现达到在实践中领悟知识,开拓编程思路。

(2)分层次阶段,在教学过程实施的开始,和核心实例同步,我就给出了几个类似核心实例的课程设计内容,供学生选择。对核心实例的调试比较成功的,可以同步实施自己所学的课程设计内容,达到培养学生分析问题和解决问题的能力。对掌握核心实例有困难的学生,针对教学内容重新布置实验,强化知识巩固。课程设计内容课后上机完成。

要掌握上面两个阶段的具体情况,教师应亲自指导,与学生一起上机实验,随时监控学生实验过程。对学生提出的问题及时予以指导,而发现学生常犯的共性错误,可在理论课上进行点评。

2.4培养学生使用标准编码,养成良好编程习惯

在程序设计过程中,使用标准编码可以避免一些不必要的错误。笔者在授课过程当中使用标准编码的实例,在讲解实例过程中对学生进行适当地引导,让学生养成一个良好的编程习惯。

程序书写规范是非常重要问题,不仅书写格式应该结构层次分明,而且程序里面应添加起码的注释。不按照标准书写程序会增加别人查看程序的难度,同时也不利于自己以后上机调试修改。强调学生避免使用VisualBasic中的隐式操作,养成显式编码的习惯。比如永远使用OptionExplicit,严格执行变量先定义后使用的原则。避免使用缺省属性,明确指出是在引用对象还是在引用对象属性。

3结束语

一门课程的教学是一个复杂的系统工程,笔者将以上一些改革和探索用在课堂教学和实践教学中,取得了一些效果,但教学有法,教无定法,只要教学得法。在教学实践中,合理运用多种教学方法,灵活地、创造性地掌握教学过程,激发学生的兴趣,培养学生的创造性思维和综合应用程序开发能力。

参考文献

篇2

[1]宁德琼.VB下学生选课系统的设计方法[J].曲靖师范学院学报,2005(11).

[2]邢国春.基于vb下的ADO控件对学生选课系统设计[J].师范学院学报,2004(3).

[3]李媛媛,傅申,李良彬.校园网上选课系统[J].计算机系统应用,2013,22.

[4]张燕,兰彬.浅谈数据库管理信息系统的结构设计[J].北京农学院学报,2007(6).

[5]康开锋.高职院校在线选课系统的设计与实现[D].重庆大学硕士学位论文,2012.

参考文献:

[1]唐小燕,吴斌,鲁大林.传统教学与案例教学在《VB程序设计》教学中的实施效果分析[J],教育信息化,2006年19期

[2]王四化,林蟒,邱伯文,成明.基于VB和Surfer不连续区域气象资料自动成图的实现[A],第27届中国气象学会年会城市气象,让生活更美好分会场论文集[C],2010年

[3]苟秉宸,余隋怀,王聪,初建杰.设计专业创新教学模式的优化与实践——基于TeamWorking的专业外语教学方法[A],2005年工业设计国际会议论文集[C],2005年

[4]罗妤.计算机软件技术基础实验教学改革探讨[J].职业,2009,20

[5]刘丽.信息化形式高校计算机语言课考试的改革[C].大学计算机基础课程报告论坛论文集,2006,4

[6]刘迎春.高职C程序设计实验改革初探[J].中国现代教育装备,2006,8

[7]彭鑫.VB程序设计课程实验教学的探索与实践[J].桂林师范高等专科学校学报,2009,6

参考文献:

[1]于鹏,李霞.中文版VisualBasic6.0程序设计项目教程[M].北京:清华大学出版社,2010.

[2]张凯,李妙妍,袁静.任务驱动教学法在VB语言程序设计课程教学中的应用初探[C].Proceedingsof2010ThirdInternationalConferenceonEducationTechnologyandTraining(Volume8),2010.

[3]段旭,潘舒,易德成.任务驱动教学法在VB教学中的应用与实践[J].科技信息,2010(30).

篇3

VB于1991年诞生在美国,经过二十多年的发展日趋成熟。它一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。功能强大可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。

如今VB课程已经成为了中等职业学校计算机专业的一门公共基础课程。笔者在近几年教学中发现了许多问题,并积极地探索解决的方法,现在这里和大家交流交流。

一、教学效果不佳的原因

首先,中职学校的生源素质普遍偏低。众所周知,他们大多是中考失败者,缺乏学习主动性及自我学习能力,在初中的时候数学成绩就比较差使得逻辑思维能力不强,而VB这门课程就需要的就是较强的逻辑思维能力,这样就造成了在学习的时候颇为吃力;其次,英语基础差影响动手能力。VB不仅强调理论知识,在动手操作方面要求也是颇高,对英语水平也有一定的要求。对于初中毕业的学生来说英语水平比较差,很难记住VB的命令,对控件的使用属性中的英语有的也不认识,更不要说利用命令来解决问题了;最后,很难建立程序设计的思想。由于学生在学习VB课程之前没有接触过任何程序设计方面的知识,要理解程序设计中的面向对象、语法结构等专业知识比较困难。在这么多困难下,学生往往很容易产生畏惧的情绪,还役入门就已经放弃了学习,所以老师如何设计好教学过程,更好的引导学生学习显得格外重要。

二、提高教学效果的几个办法

做为一名教学工作者,笔者一直努力探索如何提高VB的教学效果,引导好学生学好这门课程。现在这里谈谈自己在平 时教学中使用的一些办法。

(一)“低起点、缓坡度、密台阶”的教学理念

“低起点”就是在课本要求的基础上再降低难度,让学生一开始学习就能够很轻松上手,因为大部分认为程序设计课程高深莫测,很难学懂,进而产生的恐惧心理;“缓坡度”即是在教授知识时,难度要循序渐进,不能够一味的“拔高”,让学生能够扎实的掌握每一个知识,一步一个脚印,慢慢提高。“密台阶”是教学中层次结合要紧密,尽量减少知识点的跳跃,紧密的教学内容让学生形成紧密的知识链,对学生学习提 高十分有利。

(二)“建立快乐课堂”的教学目标

快乐是人精神上的一种愉悦,是一种心灵上的满足,它会使一个人变得开心。所以把快乐带给学生也是课堂教学的一个关键。人只有心情愉快的时候才能提高学习效率,才能使人学习进步,笔者一直本着让学生快快乐乐学习,快快乐乐靠大学 的想法,开展了快乐课堂。 第一,幽默的语言。语言也是一种艺术,而幽默的语言往往是建立和谐J渝决气氛的催化剂。在课堂教学中,学生要获得快乐就必须有一个愉快的气氛,老师在课堂中就是“指挥官”,也是可以说是“导演”,一个小小的幽默就能激发学生的“快乐分子”,让课堂气氛轻松,决。

第二,亲切的教学态度。要让快乐贯通整个课堂,亲切的教态是必不可少的。人与人相处,态度非常重要,你给别人一个微笑,别人会给你更多的微笑,你给比人一份关心,别人给你的关心会更多更多。

第三,教学设计多添加“快乐元素”。教学设计是整个教学环节的重中之中,它的好坏直接影响这节课的质量。在教学中添加快乐元素是建立快乐课堂的重要手段之一。如在教学中穿插游戏、比赛、讨论等内容,有利于课堂气氛的调节。

第四,让他们感受成功的喜悦。成功是每个人向往的,它能给你带来快乐、建立信心。在v$学习中的成功莫过于设计的作品能顺利运行,教学老师应该多给学生感受成功的机会。例如遇到较难的间题,可以分解成若干小问题逐个解决,提高成功率,保护学生的学习积极性。成功让他们跟有自信,有了自信学习起来就会更有兴趣。

篇4

0引言

一直以来人们使用传统人工的方式管理产品,这种管理方式存在着许多缺点诸如效率低、保密性差等。另外,时间一长,将产生大量的文件和数据,这对于查找、更新和维护产品都带来了不少的困难。仓储信息管理系统能够极大地提高商品库存的管理效率,也是企业库存管理科学化、正规化的重要条件。仓储信息管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,仓储信息管理系统能够为用户提供充足的信息和快捷的查询手段。

1系统功能分析、设计

系统的总体任务是实现企业仓储信息管理的系统化和自动化,帮助管理人员更好更高效的完成企业的仓储信息管理工作。本系统分为用户登录、商品管理、库存管理三大大模块。仓储信息管理系统的系统模块图如图1所示[1,2]。

1.1商品管理模块

对商品信息进行录入、查询、修改和删除。商品信息主要有商品编号、商品名、型号、生产厂家、厂址和生产日期等,还可以在备注栏中进一步说明该商品的其他信息。

1.2仓库管理模块

对商品进行入库、出库管理;对库存情况进行统计和管理,及时了解商品的存货量,结合入库出库信息,准确的判断该商品的销售状况,不至于出现断货、或者严重压货的现象。其中商品的基本信息包括货物编号、货物名、型号、单价、货物数量、总价、入库时间和相关备注。

2数据库设计

数据库主要包含库存和商品信息2个数据表。

1)库存数据表包括货物编号、货物名称、货物型号、货物数量、货物单价、货物总价、入库/出库时间和备注等字段。如表1所示。

2)商品信息数据表包括编号、商品名、货物型号、货物生产厂家、货物生产厂址、日期和备注等字段。如表2所示。

3开发环境

仓储信息管理系统是用VB+Access数据库实现。VB是一种可视化的、采用事件驱动机制的编程工具,与其它程序设计语言相比有易学易用的特点[3];Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库[4]。

4结束语

系统操作界面简单大方,用户使用方便。系统开发采用了模块化程序设计的方法,本着实用性的原则,对各种实际情况进行了考虑。系统为企业管理商品管理提供了一个简单、方便和高效的操作平台,实现企业仓储信息管理的系统化和自动化,帮助管理人员更好更高效的完成企业的仓储信息管理工作。

【参考文献】

[1]宫平.基于VB工程财务管理系统问题的探究[J].现代商业,2014(06).

篇5

中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2013) 01-0177-02

1 关于VB语言的简单介绍

1.1 Visual Basic 语言的特点

Visual Basic 语言用其设计应用程序时具有两个基本特点:可视化设计和事件驱动编程。 可视化设计:表现在VB在设计应用于程序界面时有“所见即所得”的处理功能。 事件驱动编程:在设计应用程序时,把对象添加到窗体中,在用户与程序进行交互时,用户基本上是通过鼠标、键盘与应用程序进行交互的,那些对象就必须对鼠标和键盘操作所引发的事件做出响应,来执行一段应用程序。

1.2 Visual Basic 系统几个在程序应用中的常用名词

Visual Basic 系统除了一般高级语言所具有的一些名词术语外,还有几个系统常用的名词。其基本含义如下:

(1)视窗(Form)

视窗是进行人机交互的界面或接口,也叫窗体。VB系统的人机交互界面或接口,无论是在设计时或是在运行时,都是Windows 系统的标准视窗。

(2)对象(Object)

对象是VB系统内部提供给设计者可以直接使用的处理输出的控制工具。本程序所应用到的对象类型有标签框 (Label Box),文本框 (Text Box),命令按扭 (Command Button),网格 (Data Grid),ADO控件 (Adodc1)等。当把这些工具放置到用户界面对应的窗体上时,被称为对象或控件。用户可以通过设置对象的“属性”和“方法”,便于对象适应自己所设计应用程序的输入输出内容,对象的生成过程及结构都被封装起来。正确使用对象可以减少程序和开发时间,提高程序设计者的工作效率。

(3)属性(Properties)

属性是VB系统提供的有关对象的参数或数据接口。用户通过适当地设置或改变对象的属性来确定对象的外观及性能特征,从而有效地使用系统提供的对象。比如,对象的名称、在屏幕上显示的位置、大小、颜色、接收或容纳的数据内容及数据的表现格式等。

(4)事件(Events)

事件是指用户或操作者对计算机进行的某一操作(如击键、单击或移动鼠标等)的行为或系统状态发生的变化。VB系统常用事件来引导计算机执行一段程序。程序所用的键盘事件有KeyPress(按键)事件,KeyDown事件和KeyUp事件;鼠标事件有Click(单击鼠标)事件,DbDlicd(双击鼠标)。

(5)方法(Method)

方法主要是指对一个对象使用某种作用的过程。它是在程序执行的过程中要计算机执行的某种操作。其程序的方法有Show(显示)方法,Hide(隐藏)方法,Refresh(刷新)方法。

(6)过程(Procedure)

过程是指经过定义或说明的,或基于某一对象对应的事件所引发的程序段。

(7)模块 (Module)

模块是指一些运算量或过程进行声明或定义的一个集合。系统程序大体可分成四个模块:数据输入、根据查询、数据打印和通讯。

1.3 为何选择VB语言作为开发工具?

VB是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。它简单易学、效率高,且功能强大可以与Windowsr专业开发工具SDK相媲美。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的广泛应用程序接口(API)函数,以用动态链接库(DLL)、对象的链接与世隔嵌入(OLE)、开放式数据连接(ODBC)等技术,可以高效、快速地开发Windows环境下功能强大、图形界面丰富的应用软件系统。随着版本的提高,Visual Basic的功能也越来越强。5.0版以后,Visual Basic推出了中文版,与前个版本相比,其功能有了很大提升。

但是,功能再强大,Visual Basic仍然有一个缺点:在没有MSVBVM**.DLL的计算机上必须安装所需的DLL文件。

2 系统结构

2.1 系统模块

学生管理系统模块,整体分成部分,分别为:系统管理、班级管理、学生档案管理、学生交费管理、课程管理、成绩管理、打印报表以及帮助。

2.2 系统管理模块

在系统管理模块中,此模块提供了添加用户、修改密码、重新登录和退出系统的功能。其中添加用户中,可以对用户的类别进行设置,还有权限的设置。

2.3 班级管理模块

在班级管理模块中,此模块提供了班级浏览、添加班级及班级查询的功能。在班级浏览中,可以查看各个班级的基本信息,还可以对班级信息进行查找、修改、删除及打印。

2.4 学生档案管理

在学生档案管理模块中,此模块提供了添加学生信息,浏览学生信息和查询学生信息等基本功能。其中浏览学生档案中,还可以对班级信息进行查找、修改、删除及打印。

2.5 学生交费管理

在学生交费管理模块中,此模块提供了基本学费设置、学生交费浏览、添加、查询学生交费情况的功能。其中基本学费设置也拥有浏览、添加查询学费的功能。

2.6 课程管理模块

在课程管理模块中,此模块提供了基本课程的设置和各个班级课程的设置的功能。基本课程的设置中,可以对课程修改、添加、删除;而班级课程的设置中,可以对每个班级的课程进行设置。

2.7 成绩管理模块

在成绩管理模块中,此模块中具备对进行了选课的学生所选择的的课程的成绩进行增加和浏览及查询的功能,除此以外,还可以对考试类型进行设置。

2.8 打印报表模块

另外,还设置了打印报表的菜单,拥有以下功能:打印学生信息、打印课程信息、打印交费信息。

其中,在学生查询模块中,可以按照学号、姓名、性别、姓名关键字等条件来进行查询;在学生交费管理模块中,可以查询各个学生的交费情况;在成绩查询模块中则可以查询出学生所有科目的成绩。

整个学生管理系统用起来比较方便,为学校管理人员提供了很大的方便,大大地提高了学校管理的办事效率。

3 数据库的设计

3.1 数据库的新建

打开access数据库新建一个数据库命名为xs,并且新建一些表,分别用于存放数据,

Xs库中包含allkecheng、cj、class、classkecheng、jf、kaoshineirong、use、xj、xuefei。

3.2 新建表

(1)新建allkecheng表,属性列为:课程名称、教材。元素行添加所需的课程名称。其数据类型为文本。

(2)新建cj表,其中可以对学号、学期、类型、课程名称和分数进行设置。学号、学期、类型、课程名称的数据类型为文本。分数的数据类型为数字。

(3)新建class表,年级、班级、教室、年制、专业、班主任的数据类型为文本,备注数据类型为备注。

(4)新建classkecheng表,年级、专业、年制、学期、课程名称的数据类型分别为文本。

(5)新建jf表,学号、学期、交费、欠费、日期、操作员的数据类型分别为文本、文本、货币、货币、日期/时间、文本。

(6)新建kaoshileixing表,字段名称为类型的数据类型为文本。

(7)新建use表,usename、passward、admin、readonly、qx1、qx2、qx3、qx4的数据类型都为文本。

(8)新建xj表,字段名称为:学号、姓名、性别、班级、出生年月、家庭住址、邮政编码、联系电话、入学时间,数据类型分别为:文本、文本、文本、文本、日期/时间、文本、数字、数字、日期/时间。

(9)新建xuefei表,年级、专业、年制、学期、学费的数据类型分别为文本、文本、文本、文本、货币。

4 结束语

学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。该论文通过Visual Basic 6.0软件和ACCESS 2003数据库,实现了学生基本信息的查询、添加及修改和学生的课程、学费、成绩的查询、添加和修改等功能。

参考文献:

[1]郝佳波.中文版Visual 实用教程[M].西安电子科技大学出版社,2006.

[2]李敏,王颖.Visual Basic+Access数据库应用实例完全解析[M].人民邮电出版社,2006.

[3]吴绍根,陈建潮.Visual Basic程序设计基础作者[M].人民邮电出版社出版,2006.

[4]卢湘鸿.数据库ACCESS 2003应用教程作[M].人民邮电出版社,2007.

[5]郭静,李钊平.Visual Basic 可视化程序设计[M].中国铁道出版社,2008.

[6]张翼英程序设计基础[M].清华大学出版社,2008.

[7]刘瑞新,崔庆.Visual 程序设计作者[M].机械工业出版社出版,2006.

篇6

NetMeeting是Windows操作系统中集成的一款实用通讯软件,用户利用它可以在Intenet或局域网络上轻松实现文件传送、共享桌面、远程管理、语音通迅等功能。在教学实践过程中,笔者利用NetMeeting构建了《Visual basic语言程序设计》课程教学环境,在实践教学中尝试采用各种教学方法,取得了良好的教学效果。后经推广到其他计算机语言(如C语言,VF语言等)教学,也达到了同样的预期效果。

1 NetMeeting教学环境的的架构

由于笔者所在的教学机房中各机已经构成局域网环境,并且都已经安装XP操作系统,而NetMeeting软件是Windows操作系统自带的,因此不需要另外安装。具体实现方法如下。

(1)公共设置:教师机和学生机均要完成这部分设置。具体步骤是:选择任务栏左下脚的“开始”菜单,选择“运行”选项,然后在“运行”对话框中输入“conf”命令。第一次运行时需要按照向导的提示设置自己的名字和电子邮件等信息,完成设置后会在操作系统桌面上生成NetMeeting的快捷图标,以后只要双击就可直接启动。

(2)教师机设置:首先单击NetMeeting面板菜单上“呼叫”栏的“主持会议”按钮,根据弹出的对话框里具体说明进行选择确认。然后再点“呼叫”栏的“自动接受呼叫”按钮,这样可以自动接受学生的呼叫。最后点“工具”栏的“共享”按钮,选择桌面共享,教师机的屏幕将同步显示在学生的屏幕上,实现操作演示。

(3)学生机设置:单击NetMeeting面板菜单上“进行呼叫”按钮,在弹出的对话框里输入公布的教师机IP地址,教师机将自动接受其呼叫请求,NetMeeting的名称窗口将会出现被呼叫人和呼叫人的头像和名称。

在NetMeeting窗口下方包含四个选项:共享、聊天、白板和文件传送,这四项包含了NetMeeting的主要功能。利用以上功能可以实现学生机与教师机同步演示、文字互动交谈,可以将简单图形或文字发送到所有学生机的屏幕上,一次性将作业或辅导材料发送给所有学生。至此完成NetMeeting教学环境的架构,为计算机教学创造了基本条件。

2 NetMeeting下计算机语言教学模式的几点尝试

在VB程序设计教学过程中,如何解决程序设计本身枯燥、不易理解这个问题,找到一条比较新颖的教学方式,一直是广大计算机教师颇感兴趣的课题,笔者在基于NetMeeting下大胆尝试各种教学方法。

2.1 先入为主教学法

VB语言所涉及的内容多,控件属性、事件、方法也较多,学生在毫无知识背景的前提下如果教学开始阶段就过多讲授这些抽象概念,学生就会感到枯燥乏味,容易丧失学习编程的积极性。因此,在第一节课,就采取先入为主法,具体就是让学生在教师指引下直接进入编程环境,从创建最简单的程序入手,如在窗体上添加一个COMMAND1命令按钮,要求单击它就在窗体上输出一段文字。此程序虽然简单,但很好阐述了VB面向对象的事件驱动编程机制。至此,教师再引入VB的基本概念就水到渠成,学生也更容易接受理解,从而打破编程的神秘感,为进一步学习创造了良好的氛围。

根据NetMeeting教学环境本身的特点,开始阶段要求学生和教师一起编程序,突出编程这个主线,贯彻始终,在实践中由同学们自己直观上先去体悟这些概念,待时机成熟时再和同学们一起归纳总结,不断启发学生思维,培养独立编程能力。

2.2 娱乐式教学法

在程序设计教学中从学生的兴趣入手,利用学生对事物的好奇心,选择一些有趣的、有实际意义的程序,激发学生的学习热情。二十岁左右青年学生一般对游戏都感兴趣,因此在教学中,尝试引入一些小游戏程序后,发现能很快带动课堂气氛。笔者引入的是古典的猜数字游戏,就是计算机在1~100之间产生随机的某个整数,让游戏者猜出其具体值,根据你猜的数字计算机给出提示是过大还是过小,从而一步步逼近具体值,最后统计出游戏者猜出正确结果所花的次数。这个程序把VB当中的条件判断语句、输入框、消息框、数据类型的定义、随机数的产生等几个重要概念都揽括了,既让学生在轻松快乐的气氛下既掌握到了编程所需要的基本概念,又让其体验到了编程的乐趣。学生通过对游戏程序不断比较和完善,对重要语法结构、相关概念及关键性语句均有了较深刻的体会,而这是一些传统程序例子所难以企及的。

2.3 重复式教学法

不断的重复再重复就是成功,因此重复也是学习中一个很重要的方法。从学生开始的懵懂到有所领悟到最后的理解,都是在经历相似的编程经历之后达到了,所以说这是个不断循序渐进的过程,而这个过程是不论采用什么先进教学方法都是不可跨越的。VB涉及的知识点很多,为力求重点突出,笔者在教学过程中,对前面章节中的常见标准内部函数、字符串函数等基本概念,就没有专门一一去介绍,而是通过主要语句的实例教学得以体现。因此重复式教学法不是针对所有知识点,而是把握重要知识链,通过教师示范编程、学生简单模仿、独立编写程序这样不断重复的强化训练,使学生较快掌握编程基本思想。

3 结语

科技的进步和发展给我们提供了良好的条件。基于NetMeeting网络开放式环境下的计算机语言教学,其教学模式的构建涉及教育观念的更新、教学方法的改革、给教学赋予新的含义等等。本文进行了相关方面的探讨与研究,希望能够抛砖引玉,共同探索出在网络环境下适于现代化教育要求的教学模式。

参考文献

篇7

一、培养学生的学习兴趣,激发学习动机

从心理学的角度分析,兴趣有直接兴趣和间接兴趣之分,前者主要是感性层面的,属于外在动机,而后者是理性层面的,属于内在动机,是驱动学生学习的最根本、最重要、最稳定的因素。我们的教学不能止步于仅仅激发学生的直接兴趣,更重要的是要激发学生的间接兴趣。让学生在学习过程中“尝到甜头”,获得成功的体验则是一种很好的激发学生间接兴趣的方法。在程序设计教学中的第一节课,我们可以先展示一些自己编写的或是以前学生编写的有趣的程序,吸引学生,告诉他们学习了VB程序设计后,大家都能编写出这些小程序,先从感性层面激发他们学习的兴趣。然后选择其中一个相对简单的实例,让学生看一下界面、代码及运行效果,然后让学生跟着我们操作一步步实现这个程序(主要是把事前发给学生的代码让学生复制到对应的地方),让他们初步体验VB程序设计的过程,并且获得成功的体验,从而在理性层面上激发他们学习程序设计的兴趣。在后面的教学中,我们还可以让学生在学习过程中有一定的自,允许产生“自己的任务主题”等方法来影响学生学习的内在因素,培养学生学习的兴趣,激发学生学习动机。

二、选择从简单实例入手,调动学生学习的积极性

Vb程序设计是一门应用性很强的课程,它既有理论又有实践。而从初中生的认知规律来看,只有把理论引入到具体的简单的实例中去,让学生通过模仿,在实际操作中探究和领悟,才能让学生轻松愉快的接受新的知识,调动他们学习程序设计的积极性。

例如,书本第三节中设计了一个“猜币”程序,它首先有随机函数int(2*rnd)产生0或是1,并且根据产生的0或是1显示相应的图片和文字,然后根据输入的数据(0或1)和随机函数产生的数据对比,如果一样就显示“猜对了”,否则显示“猜错了”。

对于首次接触条件语句的学生来说,如果让他们通过这个实例理解条件语句的运用,那么学生看到如此复杂的程序设计思路,就会打击他们的学习积极性。所以针对这个实例,我们可以把它分解成两个小的程序来完成,减轻学生在理解上的难度。首先,我们让学生完成一个简单的条件语句程序,让学生判断如果text1的text值大于或等于60,label2的caption属性值为“恭喜你,及格了”,否则label2的caption属性值为“很遗憾,没有及格”。根据这个最简单的程序,让学生能初步理解条件判断语句的运用。

然后,把根据随机函数产生数据来显示相应的图片和文字作为另一个程序。在这个程序中只要判断随机数如果是1, image1控件的picture属性值导入正面图片,label1的caption属性值为“正面”,否则image1控件的picture属性值导入背面图片,label1的caption属性值为“背面”。第一个程序是根据text1的输入值来判断显示,第二个是根据随机函数产生的值来判断显示,两个程序的思维方法和解决的方法类似,可以让学生自己尝试着完成。

当这两个程序学生都能理解后,让学生进一步探索判断输入的值与随机的值如果相同就显示“猜对了”,否则显示“猜错了”,这样学生很容易就能想到只要对第一个程序稍加改动将判断的条件改成随机函数产生的值就可以完成了。这样通过简单的实例教学,再加上学生的进一步探索就能完成稍微复杂的程序,让学生在一步步的完成过程中得到越来越多的成就感,既能有效地调动学生的学习积极性,还同时培养了学生的探索能力。

三、培养学生互助合作的精神,促进学生自主探究学习

在程序设计教学过程中,学生的两极分化会比必修中的学习更加明显,有的学生会对程序设计很感兴趣,很乐意编程,而有的学生可能会很讨厌,分析其原因之一很可能是一部分学生在学习过程中获得的成功体验少,久而久之会失去学习的动力,因此在教学过程中要注重培养学生的互助合作精神。我们可以根据学生对知识的掌握情况来划分若干个组,教学时,任务按照难易程度分开发给他们,每个学生必须有必须完成的基本任务,还有可选择的附加任务,对小组的评分标准是每个组的基本任务必须要完成,否则要扣分,附加任务看完成人数的多少额外附加一定的分值,这样能力好的学生在做好基本任务后就会帮助其他学生,好的学生之间会相互讨论附加的任务,在相互的帮助和讨论中,他们还可能会发现问题并主动地去探讨一些还没学到的问题。这样不仅能逐渐培养起学生的互助合作精神,而且由于组间存在竞争激发了学生的学习热情,促进他们主动去探究和学习。只有这样才能让更多的学生喜欢我们的课堂,喜欢我们这门课。

程序设计课既是枯燥的又是有趣的,我们只有在教学过程中根据学生的实际情况,结合学生的认知特点积极地进行教学实践和探索,以学生学习活动为中心,精心设计课堂,进行大胆的教学创新实践。

参考文献:

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

篇8

关键词:vb计时器对象

vb系统中提供了固有计时器timer控件,通过给计时器控件的interval属性设置不同的数值,就可以控制计时器运行的时间间隔,但该属性是一个双字节的整型变量,最大值只能设置为65535,即只有65535毫秒,约一分钟多一点,在需要长时间计时时,该控件就无能为力了。本文给出用timer控件创建一个超长时间的计时器对象,并将其编译成activexdll部件,供其它应用程序调用,可实现最大限度地利用代码的可重用性。下面给出这个超长计时器对象的编程设计过程,供读者参考选用。

1.编写程序

启动vb,新建一个activexdll工程,将工程命名为newtimer,将类模块名class1改名为longtimer。在工程中添加一个窗体form1,在窗体上加入一个timer计时器控件timer1。打开longtimer类模块,加入如下程序代码:

optionexplicit

publiceventtick()''''声明事件

privatenzasinteger

privatecsasinteger

privatem_formasform1

privatewitheventsm_timerastimer''''声明对象类变量

''''返回enable属性值

publicpropertygetenabled()asboolean

enabled=m_timer.enabled

endproperty

''''设置enable属性值

publicpropertyletenabled(byvalvnewvalueasboolean)

m_timer.enabled=vnewvalue

endproperty

''''返回interval属性值

publicpropertygetinterval()aslong

interval=m_timer.interval

endproperty

''''设置interval属性值

publicpropertyletinterval(byvalvnewvalueaslong)

cs=0

nz=vnewvalue\65536+1

m_timer.interval=vnewvalue\nz

endproperty

''''类初始化事件

privatesubclass_initialize()

setm_form=newform1

loadm_form

setm_timer=m_form.timer1

endsub

''''类终止事件

privatesubclass_terminate()

unloadm_form

setm_timer=nothing

endsub

''''产生tick事件

privatesubm_timer_timer()

cs=cs+1

ifcs>=nzthen

raiseeventtick

cs=0

endif

endsub

窗体form1只用来作计时器timer1的载体,不用于显示。

2.测试newtimer.dll

对activexdll部件进行测试,与标准的exe程序一样,可分为单步运行或全运行。在写完所有程序代码后,建议用户先用ctrl+f5进行全编译执行,发现检查newtimer程序的语法错误。也可建立一个测试工程与newtimer链接进行测试,针对由newtimer类模块提供的每个属性和事件,添加测试代码来测试它们的属性和方法。按f8,进入单步运行状态,逐个语句察看对newtimer类模块的调用情况。

3.编译newtimer.dll

完成测试,排除所有错误后,从“文件(f)”菜单中选择“生成newtimer.dll(k)”命令,编译生成newtimer.dll文件。编译成功后newtimer.dll文件将自动注册到windows注册表中,

4.引用newtimer.dll

引用activexdll部件同引用其他对象一样,从“工程(p)”菜单中选择“引用(n)”命令,打开引用窗口,从引用列表中选中newtimer对象。如果是第一次引用newtimer,则在引用窗体上单击“游览(b)”命令按钮,将newtimer.dll文件添加到可引用列表框中方可使用。

5.调用newtimer.dll

在应用程序中加入下述程序代码,实现参newtimer.dll的调用:

optionexplicit

dimwitheventslongtimer1aslongtimer

privatesublongtimer1_tick()

print"时间到,此处添加处理程序"

endsub

privatesubcommand1_click()

longtimer1.interval=12000‘两分钟

longtimer1.enabled=true

endsub

privatesubform_load()

setlongtimer1=newlongtimer

endsub

篇9

 

随着计算机技术的发展,计算机软件在工程设计领域的应用越来越广。在机械、电子、建筑等行业,应用计算机软件进行产品设计的CAD软件也非常丰富,世界和国产的各种优秀CAD软件正以前所未有的速度进入机械、电子、建筑等行业的各个领域,使产品设计人员能够高效率地进行各自领域的产品分析、设计等工作。美国Autodesk公司是目前世界上比较成功的CAD领域的开发商,其开发的AutoCAD一直是CAD市场中的主流产品,随着AutoCAD的日益普及,在其上进行二次开发的工具也相继由该公司推出。企业购进AutoCAD软件,并非只能用作代替“图板”,只有真正地在其上实现了二次开发,才能充分发挥AutoCAD作用。CAD二次开发,有很多不同层次的语言和库可供选择。本文就此向大家分别做一介绍。

第一大类: AutoLisp和VisuaLisp

Lisp是一种计算机的表处理语言,是在人工智能学科领域广泛应用的一种程序设计语言。AutoLisp语言完全嵌套在ACAD内部,同ACAD有机地结合成一体。它既具备一般高级语言的基本结构和功能,又具备一般高级语言所没有的强大的图形处理能力。论文大全。AutoLisp可直接调用几乎全部ACAD的命令,从而进行ACAD的二次开发。利用AutoLisp开发ACAD的一个典型例子就是实现参数化绘图的程序设计。

AutoLisp具有如下优点:

1.AutoLisp是一种表处理语言,是被解释执行的,任何一个语句键入后就能马上执行,它对于交互式的程序开发非常方便。在ACAD的开发工具中,它是唯一的一种不需要专门的编译工具,直接调用其编写的函数,就可以实现目标操作的语言。

2.AutoLisp语言中的一切成分都是以函数形式给出的,它没有语句概念和其他语法结构。执行AutoLisp程序就是执行一些函数,再调用其他函数。

3.AutoLisp把数据和程序统一表达为表结构,即S-表达式,使数据和程序融为一体。

4.AutoLisp语言中的程序运行过程就是对函数的求值过程,是在对函数求值的过程中实现函数的功能。

5.AutoLisp语言的主要控制结构采用递归方式,使程序简单易懂。

VisuaLisp是AutoLisp的扩展,是为加速AutoLisp程序开发而设计的软件工具。VisualLisp已经被完整地集成到ACAD中,为开发者提供了增强的集成开发环境,这样开发者可以直接使用ACAD中的对象,进行更底层的开发。用它开发AutoLISP程序的时间被大大地缩短,而且原始代码能被保密,以防被他人更改;同时利用可视化的编程环境,大大地减小了学习难度。作为脚本语言的VisuaLisp程序,同样存在两大不可避免的缺陷。第一是当程序规模很大或是操作的对象数量过多时,运行速度慢,让你明显感觉到它的迟钝。第二是ACAD命令本身做不到的功能,它也是无能为力。譬如关于自定义对象、内存操作、数据传递之类,只能依赖其他办法来解决了。所以我个人认为Lisp适用于把现有命令组合成一个新命令来使用,尤其是存在大量重复操作的时候,用来做批处理非常好。唯一让人感到不适的是,由于Lisp语言本身的语法要使用大量的圆括弧,当嵌套层次较深时,往往会在括弧的配对上发生问题。

第二大类:ADS(AutoCAD Development System)、ARX(AutoCAD Runtime eXtension)和ObjectARX (AutoCAD Runtime Extension)

ADS是从AutoCADR11开始引入的基于C语言开发应用程序的系统。ADS不是C语言的一个子集,也不是基于C而编制的专用语言(如Microstation的MDL),但它包括了C的全部功能。它具有C的一切优点,又能操作CAD。它对开发人员C语言要求较高。C是编译型语言,功能强大,因此ADS很轻易地克服了AutoLisp所固有的许多缺点而具有速度快,安全性高的特点。ADS不包含于ACAD内部,而是作为一组AutoLisp外部函数由AutoLisp解释器装入、解释并请求ACAD运行。其特点如下:

1.ADS程序是将应用程序编译成可执行的文件,通过AutoLisp和ACAD进行通讯。

2.ADS程序更“绝缘”,ADS程序是一系列独立的过程,程序崩溃并不一定导致AutoCAD系统崩溃(尽管并不总是如此)。

3.ADS程序是不可重复加载的。

4.ADS程序具有保密性好,运行速度快的特点,因而很适合于编写计算量大或需要与主机环境交互的应用程序。

5.ADS只能使用传统的C语言进行编程,采用传统结构化的编程体系。

早期国内常见的应用软件多是用ADS进行开发的,但ADS程序必须经过AutoLisp解释加载,因此ADS的各方面性能受到限制。同时,随着网络技术的迅速发展,面向过程的ADS已有些力不从心了,所以,在AutoCADR13开始推出的一个全新的面向对象的开发工具ARX。ARX是在ADS基础上发展的面向对象的环境,使用C++语言。最终ARX进化为ObjectARX。

ObjectARX是一种崭新的开发AutoCAD应用程序的工具,提供了以C++为基础的面向对象的开发环境及应用程序接口,能真正快速访问ACAD图形、数据库,同时能使用户方便快捷地开发出高效简洁的ACAD应用程序。ObjectARX开发的应用程序速度更快、集成度更高、稳定性更强,同时向下兼容ADS。它的特点是很明显的:

1.ObjectARX与ADS程序和AutoLisp程序都不相同。从本质上讲,是一种特定的C++编程环境,它包括一组动态链接库(DLL),这些库与ACAD在同一地址空间运行并能直接利用ACAD核心数据结构和代码。在ObjectARX中,每个命令都有独立的入口。ObjectARX程序还可以创建新的类,这些类可以为其他程序所共享,从而充分利用面向对象的编程的优点。

2.对于需要经常和ACAD通讯的应用程序来说,ObjectARX程序比ADS程序运行速度更快,这里的运行速度主要指是访问ACAD数据库的速度。

3.相比之下,ObjectARX程序是比宏更基本的程序。主程序(ACAD)可调用每个由ObjectARX程序注册的命令。

4.ObjectARX程序具有ADS程序和AutoLisp程序所不具备的访问和控制ACAD的能力。ObjectARX程序可以监控和处理ACAD各种事件,可以定义ACAD命令,包括可以透明执行的命令。论文大全。这些命令可以像ACAD自身的命令一样被AutoLisp和ADS所调用。

基于以上优点就充分说明了ObjectARX的彪悍。天上不会掉馅饼,这个方式的代价就是难度提高了。对于ObjectARX编程,Autodesk公司建议使用Visual C++4.2及以上版本的开发环境,这一点就要求开发者具有较高的起点,对语言的学习程度要求较高,对广大用户来说相当不易掌握。(在CAD2006以前,只能使用C++语言和VC编译器来生成ObjectARX程序,但目前已经可以使用VB.net C# C++等语言配合VisualStudio.net编译器来生成ObjectARX程序了。)C++语言本身就很复杂(VB.net和C#也不方便到哪里去),再配上复杂度不相上下的ObjectARX库,如果要写出切实可用的程序,还要深入了解ACAD本身的结构。ObjectARX最致命的缺点,由于已经和ACAD融为一体,和AutoCAD共享进程空间,ObjectARX程序崩溃通常会导致ACAD系统的崩溃。

第三大类:ActiveX和VBA(VisualBasic for Application)

ActiveX是Microsoft提出的一组使用COM(ComponentObject Model,部件对象模型)使得软件部件在网络环境中进行交互的技术集。AcitveX与具体的编程语言无关,可以用任何一种支持他的语言来编写,但大家习惯选择简单易用的VB语言。

Autodesk公司从R14开始内置了VBA开发工具,同时提供了适于VBA(VB)开发的ActiveX Automation对象模型,对于熟悉VB语言又不想学习Lisp奇怪语法的开发者来说,这是不错的选择。VBA(VB)的主要特点如下:

1.VBA最早是内嵌在Office97中的一种编程语言,它易学易用,功能强大。所以Autodesk公司从R14之后把它也嵌入了AutoCAD中。

2.VBA和AutoCAD 2000中强大的ActiveX自动化对象模型的结合,代表了一种新型的定制AutoCAD的模式构架。通过VBA,我们可以操作AutoCAD,控制ActiveX和其它一些应用程序,使之相互之间发生互易活动。

3.VBA(VB)数据类型丰富、界面友好。

4.VBA是内嵌在AutoCAD中的一种编程语言,对平台有依赖性,但VB对此有改善。

5.利用VBA(VB)开发AutoCAD,以要求开发者熟悉VB语言为基础。

就当前AutoCAD的主要二次开发工具:VisualLisp、VBA和ObjectARX而言, VisualLisp与VBA较为简单,特别是VBA,使用方便且开发速度较快,但其功能相比ObjectARX有所不足,尤其是对面向对象的功能支持不好。而ObjectARX基于VC平台,在C++的支持下,其功能非常强大,可以很好地运用各种面向对象技术,但其缺点是发开速度比较慢,同时对开发人员的能力要求较高。

基于以上原因,微软新推出的ACAD二次开发平台——.NET API,它具有众多优点。在新推出的AutoCAD 2006中,Autodesk为其开发增加了.NET API。论文大全。.NET与ObjectARX一样,基于VC平台,拥有与C++相匹配的强大功能,同时,具备VB方便易用的特点,似乎是VB.net/C#和ObjectARX Managed wrapper classes的组合,实为较理想的ACAD二次开发工具。从目前的趋势来看,AutoDesk有全面转到.net平台的趋势,有可能完全取代ObjectARX和VB,具体情况仍在观望中。

总之,通过以上分析可以看出,AutoLisp仍然是ACAD的基本开发手段,它适于一般开发者用于较为简单交互性程序的开发。因为除了语言、功能、编写和调试的难度之外,还有CAD版本匹配的问题。AutoLisp程序的适合度最好,即使是为AutoCAD R12开发的程序,在CAD2007中仍然能够使用。ADS将逐步被更为完善的ObjectARX所取代,而ObjectARX与AutoLisp正相反,为CAD2002编写的程序就已经不能在2004下运行了。为老版本ACAD编写的ObjectARX程序的源代码虽然可以不需要修改或较少的修改,但必须链结新版本的ObjectARX库进行重新编译,才能被新版本所运行。而且,不同版本的ObjectARX库还指定了不同版本的编译器。譬如,CAD2000/2002版应使用VC6,CAD2004/2005就需要使用VC.net 2002,而CAD2007则需要VC.net 2005。而作为ACAD用户二次开发的另一支生力军VBA则介于二者之间。Autodesk新推出的 .NET API二次开发平台除了涉及到版本兼容性的问题外,同时,遗憾的是目前的.NETAPI版本还不支持卸载,若要卸载只能关闭ACAD。

Autodesk提供的众多二次开发手段往往会把新手搞糊涂,开发中到底使用什么语言,应根据本身所熟悉的ACAD的版本,以及所熟悉的开发环境,另外,企业规模、资金,也是考虑的关键。总之,众多二次开发工具让各类开发者都能找到适合于自己的开发工具。

篇10

中图分类号:TP317.4 文献标识码:A

0 前言

在信息技术日益普及的环境下,地图广泛服务于城市公众,成为数字城市的基础部分。随着计算机技术的进步,地图应用也越来越广泛。从政府部门到一般企业,再到单独的个人,都离不开地图。现在网络上有很多地图,但地图应用范围单一,大部分面向大众,针对某一行业或特定作用的地图不是很多。也有一些专业功能的地图,但大都价格昂贵。这些制约了地图信息的更广阔的发展。

VisualBasic是微软公司推出的一种可视化的高级程序开发语言,它支持面向对象技术,特别需求者可以再VB平台上开发自己的需求;但大多缺少图形信息。GIS主要是确定空间点的三维信息的一种技术,在GIS领域中,有很多地图开发工具。本文选用VB作用开发平台,调用MapObjects2.0作为开发所用的ActiveX控件。

1 VB与MapObjects技术

1.1 Visual Basic

Visual Basic(VB)是微软公司开发的一种面向对象的开发编程语言。VB因为它的简单、界面可视化、数据库丰富而成为大多数软件开发者首选的开发工具。BASIC 编程语言是VB的前身。VB拥有图形用户界面 ( GUI )和 快速应用程序开发 ( RAD )系统,能够很容易地连接数据库或创建ActiveX 控件。程序员快速、完整地使用VB提供的控件建立一个日常实用程序 。

1.2 MapObjects技术

MapObjects是一套制图软件集,过MapObjects开发人员可以灵活地建立适合用户的地图接口。在小内存空间中,程序员能用多种标准程序环境去开发应用程序,能联合MapObjects与别的软件实现地图与用户信息的联系。它具有如下特点:

(1)MapObjects功能强大,通过MapObjects可完成:显示一张多图层地图(道路、河流、边界)、地图浏览、图形元素生成(如点,线,圆,多边形)、说明注记等等基本地图操作功能。

(2)MapObjects是过程用户。它是为程序设计者服务的。程序设计者可利用MapObjects设计应用程序,并把这些应用程序提供给终极需求者。

(3)MapObjects还有一个特性,地图既可以是程序中的主要元素,也可是附属品。所以,MapObjects非常适合vertical应用软件。比如, 你的软件可能主要是商用数据库,当查询时可在表单上高亮度显示与查询内容相关的地图。

另外,MapObjects支持Shape文件、图像文件、数据表或通过ESRI的专用数据库引擎连接的专用数据表。在基于MapObjects编写的应用程序中,通过ODBC(开放数据库连接)驱动程序,可以访问外部的数据表,它们可以是多种格式的,如Access、SQL Server、Oracle 等。

2 利用MapObjects实现地图开发

MapObjects是一套制图软件集,过MapObjects开发人员可以灵活地建立适合用户的地图接口。在小内存空间中,程序员能用多种标准程序环境去开发应用程序,能联合MapObjects与别的软件实现地图与用户信息的联系。MapObjects是美国ESRi开发,是比较流行的组件式GIS开发软件。MapObjects是一组地图软件的组件(ActiveX控件),使用它可以在普通编程语言(如VB)上实现主要的地理信息系统(其中主要是电子地图功能)功能。通过MapObjects可以灵活地建立适合用户的信息系统。

2.1 系统结构设计

根据系统结构设计的几个原则,即系统的代码要统一,设计规范要标准,传递语言要尽可能一致;系统应具有较好的开放性和结构的可变性,采用模块化结构,提高各模块的独立性,尽可能减少模块间的数据偶合;系统抵御外界干扰的能力及受外界干扰时的恢复能力;在满足系统需求的前提下,尽可能减小系统的开销,我们做了如下设计(如图1)。

2.2 系统开发与集成

本系统地图采用南京交通职业技术学院地图,通过软件学生可以在课程学习中通过该软件来核实自己的实际作业成果,查询学院的一些基础地理信息(如图2)。

3 结束语

一般来讲,自主设计空间数据的数据结构和数据库,利用VB等高级编程语言开发开发地图应用软件,要求具备雄厚的科研力量和巨额的开发费用;引进国外的先进的地图软件(如ARC/INFO),结合自己的需求进行开发,比较简便易行;面向对象的可视开发环境给大家提供了一种开发周期短,成本低,可以脱离大型商业GIS软件平立运行的机会,今后可以为不同的人群提供服务。

课题来源:南京交通职业技术学院青年基金课题

参考文献

[1] 刘轩明.基于卫星图片的数字地图开发与应用[D].哈尔滨工业大学硕士论文,2009.

[2] 刘剑.关于开发地形图成图软件的看法[C].《大地测量与地球动力学进展》论文集,2004.

篇11

0引言

说起我国非计算机专业编程语言教学的走向,就不得不提到我国高等学校计算机基础教育发展的历史。我国的计算机基础教育始于20世纪80年代初期,从80年代初以来,高校的计算机基础教育大致上经历了三个发展阶段:80年代是起步阶段,90年代是规范阶段,进入21世纪,开始了第三阶段,即深化提高阶段。

计算机基础教育是指面向大学中非计算机专业学生的计算机教育,这部分学生约占全体大学生的95%以上。非计算机专业中进行计算机教育的目的是培养大批能使用计算机的人才,而不同于计算机专业的培养计划,可以说他们是计算机应用人才,学习计算机的目的完全为了应用,计算机只是作为一种现代工具来掌握,而不能当做纯理论的课程来学习。明确了这个培养目标,那就可以有的放矢。

目前各高校非计算机专业编程语言教学的现状是:学时是有限的,学习内容是繁杂的,由此对学生产生的学习压力不仅苦不堪言,而现实更是多数非计算机专业的学生在毕业后,对于大学期间学习的编程语言大部分是忘记,若想拾起来重新使用,也不是一件易事。如何解决非计算机专业编程语言教学和实际使用二者之间存在的矛盾这个问题,是我们每个从事高等计算机基础教育的老师不得不思考的问题。

1非计算机专业编程语言教学的现状

对于现存的高等院校非计算机专业编程语言教学的弊端,我们做以下几点分析说明:

(1) 非计算机专业编程语言教学培养目标定位有误

对于非计算机专业学生进行的编程语言教学,应与计算机专业的学生有所不同。计算机专业培养的是计算机专门人才,将来从事信息技术理论研究、科研教学、系统开发等专业性的工作,而在非计算机专业中进行编程语言教学的目的是培养大批能使用计算机的新型人才,他们需要达到的程度仅仅是使用计算机这个工具。作为高等院校非计算机专业编程语言教学计划的制定者,对于专业和非专业要达到的目标一定要明确,否则有可能南辕北辙。

(2) 非计算机专业的编程语言教学设置好大喜功

经过作者在国内各大高校做的调查,几乎各大高校对于非计算机专业编程语言教学一般从大学一年级就开始,陆续开有VB、C、FoxPro、SQL、C++、PB、Delphi、Java等,有的院校在高年级非计算机专业还开有计算机编程语言课程,美名其曰:多学点东西,增加就业砝码。

诚然多学点东西是不会有什么害处,但是不知道说这个话的人有没有想过:对于非计算机专业的学生来说,能有多少比例的学生在真正学这些开设的计算机编程语言课程,更多的恐怕是在各种考试之间疲于应付。当大家手捧毕业证书的时候,手拿四年所修的学分成绩单的时候,当大家面试应聘的时候,留在大家脑海中的计算机编程语言可能屈指可数,可以炫耀的可能仅仅是修过的计算机课程的数量。

作为从事高等教育的老师,我们不能为了这些表面的假象自欺欺人。如何在有限的学时内进行优化选择,使学生学到最需要的知识。当然不仅是指当前最需要,而且也包括今后踏上工作岗位,对于需要用到的计算机编程语言知识的时候也可以信手拈来,不用再重新学过。因此,对于非计算机专业的学生,我们应该敢于摒弃学习那些当前为了考试,今后根本用不多,仅仅是为了增加学分的计算机编程课程。

(3) 系统本身庞大,掌握的知识有限,学不能使其精

对于现存的计算机程序设计的任何一门语言,如VB、Visual Fox、SQL等,系统都是很庞大的。以一个简单的例子,VB为例来说明,VB采用的事件驱动的编程机制,提供了动态数据交换(DDE)和对象链接与嵌入(OLE)等技术。在数据库方面,VB具有很强的数据库管理功能,不仅可以管理MS Access格式的数据库,还能访问其他外部数据库,如FoxPro、Paradox等格式的数据库。另外,VB还提供了开放式数据连接(ODBC)功能。

对于VB强大功能,我相信学过VB的用户,都是普遍承认的,这个不需要多说,但是对于这么大的一个系统,如何能通过简简单单的几个学时就能够完全掌握呢?即使说你上课的时候多么专心地听讲,多么用功地做笔记,都是无济于事的,非要通过系统地做上几个项目才能掌握一二,更不要说是对于仅仅是通过教材上的几个简单例子学习的学生了,这几乎是不太可能的事情。那么有没有学习起来比较容易上手的工具了,答案是肯定的。

(4) 快速记忆,快速忘记

在高等院校里不排除有些用功的学生,学习每门功课都是用功之极,当然也不排除用功是为了在考试中拿个高分,争取奖学金的可能性存在。一个学期,说的更多一点一年对一门语言的学习,在短时间之内掌握某一项技能之后,一旦长时间不使用,肯定会生疏,这是人类不能抗拒的生理现象。而且目前高校里的学生学习的现状是:平时基本不看,考前拼命熬夜苦读,这种短时间内强迫大脑记忆的东西,肯定是经不起时间的考验的,尤其是在一个人不愿意学习这门功课的时候,这是自然规律。

假设你当时学会了VB,而且在大学毕业参加工作的时候也没有忘记,是不是说你就能很好地做自己的事情了呢?答案也是否定的,因为你掌握的是VB,而在工作单位的PC机上或许并没有安装VB的运行环境,这样是不是就为你的使用又出了一道难题。

有没有一劳永逸的工具,只需要简单的学习,而且不论在安装或者未安装VB运行环境的PC机上都能很好的完成自己想做的工作。通过作者亲身实践,本文中提倡的这个方法就可以达到这样的功效。

(5) 支持知识产权保护

如何做才能既使用正版,又不卷入知识产权的纠纷中呢,这里我们提倡在高校中推广,使用VBScript脚本语言在记事本环境下编程,在IE浏览器中运行,就可以达到这样双重效果。

(6) 程序交流困难

一个用户编写的程序如果仅仅是自己使用,这个时候程序的使用有一定的局限性,如果能够拿出去跟别的用户交流,就具有了更大的价值。假设有两个用户A和B,A在VB环境下编写了一段程序,在自己的机器上可以正常运行,当A把这段程序拷贝到B的机器上和B交流的时候,B机器上恰好没有安装VB环境,此时对于二者的交流可能存在障碍。

针对上述,我国高校计算机基础教育体制中存在的诸多问题,作者提出了一种新的思路。

对于一台安装了操作系统(Windows XP、Windows 2000 Professional、Windows ME、Win 98等)的PC机来说,拥有IE浏览器和记事本是再简单不过的事情,作者推荐给大家的就是使用VBScript语言来完成自己想要做的工作。下面我们通过例子来做进一步的说明,以此来演示如何更好的结合二者,使之发挥作用。

在数学或工程应用中,常常存在着大量的数值计算和数值分析问题,如:复合梯形公式、复合Simpson公式、Romberg求积公式等。通过编写简单的程序,就可以让计算机代替人类来做一些复杂的计算任务,在这里以数值计算中一个常见的问题来说明一下如何使用提倡的方法完成计算任务,这里以复合Simpson公式的计算为例。程序是通过输入给定的三个初始值:a、b和n,如图1所示。

图1 数据输入界面

计算设计大致上分为三个步骤:

(1) 在记事本中编写程序代码如下示:

图2 程序源代码

从上述源代码中可以看出:第一,VBScript使用的仅仅是VB中简单的程序设计思想的三种结构:顺序、选择和循环,不涉及复杂的结构,对于非计算机专业的用户来说是非常容易的事情。第二,在程序开始写了一个自定义的函数,在后面对该函数进行了调用,可以达到程序复用的作用。

(2) 将该文件保存为一个html格式的文件,如:a.html。

(3) 运行该程序只需要双击该文件图标就可以在IE浏览器环境下运行,在指定的文本框中输入符合计算要求的数据点击确定就可以得到计算的结果,如图3和图4所示。

图3 程序初始界面

图4 运行结果

3小结

通过上述例子我们可以得出以下结论:

(1) 在记事本环境下,仅仅使用了一些简单的VBScript脚本语句就可以完成复杂的数值计算任务。VBScript是介于HTML语言和Visual Basic、Java等高级语言之间的一种脚本语言,它接近于高级语言的大部分功能,但却比高级语言简单易学。

(2) 在运行该程序时,不像其他的程序设计语言需要经过编译或解释等步骤,以此来生成目标文件、连接文件以及可执行文件等,使用VBScript在记事本中编写的程序需要做的工作仅仅是双击该文件名,而不会生成其他的中间文件,这样就大大节省了系统的存储空间。

(3) 在运行该程序时,对运行环境没有提出特别的要求,仅仅是需要一个IE浏览器。这对于拥有一台PC机的用户是轻而易举的事情。

(4) 当你还在费尽心思考虑程序的在多台机器之间传递的时候,使用在此提倡的方法无需有这方面的顾虑。对于在任何一台PC机上编写的 .html文件,你可以轻松在多台机器上拷贝和运行,而无需进行额外的路径配置等工作。

当然,我们提倡的这种方法并不是十全十美,如:对于需要大量使用界面图形来处理的问题,或者需要使用数据库的问题,该方法就有所欠缺,但是该方法对于仅仅是为了自己方便,进行一些数据处理来说,是再合适不过的了。

全社会的计算机普及,为大学的非计算机编程教育创造了良好的氛围和外部环境,使广大非专业人员学习和使用计算机编程语言变得更加容易,如何使学有所用,使高等教育成为社会发展的推动力量,是高校非计算机专业编程教学面临的严重的挑战,这也是本文的初衷。

参考文献

篇12

网上购物等电子商务活动在今天已十分普及与方便,虽然随着网络技术的不断发展,各种安全机制、策略和工具不断被研究和应用,但Internet的开放性,以及其他方面因素导致网络环境下的计算机系统仍存在很多安全问题。电子商务中的信息安全始终是一个核心问题,因此,在客观上需要一种强有力的安全措施来保护机密数据。密码技术是保护网络安全最有效的技术之一,采取了加密保护措施的网络,可以防止非授权用户的窃听和非法入网,而且也是对付恶意软件的有效方法之一。

一、简易数据加解密算法

加密是通过对信息的重新组合,使得只有收发双方才能解码并还原信息的一种手段,这种手段的原理及应用是本论文研究的重点,基于VB实现DES和RSA等一般的加解密算法过于复杂,且运算速度慢,特别是它的移位操作,因此,研究简易数据加解密算法在电子商务数据保密方面具有相当的现实意义。从加密的主要方法看,换位法过于简单,特别是对于数据量少的情况很容易由密文猜出明文,则简易加解密算法采用替换法对数据进行快速加密,而且加密后的数据能正确地得到解密,当然关键是像VB这样的高级语言能容易实现。

从各种位运算的特点看,异或运算最适合用于简易加解密运算,因为当数1和数2进行异或运算生成数3,若再将数3和数2进行异或运算则又会还原为数1。例如将234和124进行异或运算的结果是150,再将150和124进行异或运算则结果又还原成234。其中234是要进行加密的数据,124则可看成是密钥,因此运用此特性可以将简易数据加解密算法用函数实现。当用同一密钥对某数据进行奇数次异或运算时,是对该数据进行加密运算,当进行了偶数次异或运算时则是进行解密运算。

首先,VB下的字符集采用Unicode字符集,它容量大,可置换的范围广;其次,在Unicode字符集中,所有字符的内码都占两个字节,不再象DOS下西文字符占一个字节,中文字符占两个字节,这样中、西文就都可以互换了。因此,对Unicode字符运算需要两个密钥,其取值范围为0至255,这样对同一字符的加密就有255×255=65025种可能,如果更换密钥后对密文再进行加密,则会有无穷的可能性。其中一个密钥用于对高字节加密,另一个密钥用于对低字节进行加密,则可将某个字符的高字节和低字节分别加以运算,然后再将它们合成为另一个字符,从而置换原数据达到数据加密的作用,解密时则相反。

二、数据加解密界面设计

根据设计要求,首先启动VB6.0应用程序,新建一个标准EXE工程,系统将会自动创建一个名为Form1的窗体,可在该窗体上添加2个文本框控件用来显示加密数据与解密数据和2个命令按钮控件;其中,可通过属性窗口将Form1窗体的Caption属性值设置为“简易数据加解密”、2个文本框控件的Text属性值都设置为“空”、命令按钮1控件的Caption属性值设置为“加 密”、命令按钮2控件的属性值设置为“解 密”,其界面设计如图1所示。

三、数据加解密代码实现

在代码窗口中的“通用”部分定义几个变量,本程序设计需编写加解密函数Encrypt[5]及对Command1和Command2的Click事件进行编程,其程序清单如下:

Dim s As String

Dim d As String

Dim k1 As Byte

Dim k2 As Byte

Private Function Encrypt(ByVal strSource As String, ByVal Key1 As Byte, ByVal Key2 As Integer) As String

Dim bLowData As Byte

Dim bHigData As Byte

Dim i As Integer

Dim strEncrypt As String

Dim strChar As String

For i = 1 To Len(strSource)

strChar = Mid(strSource, i, 1)

bLowData = AscB(MidB(strChar, 1, 1)) Xor Key1

bHigData = AscB(MidB(strChar, 2, 1)) Xor Key2

strEncrypt = strEncrypt & ChrB(bLowData) & ChrB(bHigData)

Next

Encrypt = strEncrypt

End Function

Private Sub Command1_Click()

k1 = 128

k2 = 24

s = Encrypt(Text1.Text, k1, k2)

Text2.Text = s

Text1.Text = “”

End Sub

Private Sub Command2_Click()

d = Encrypt(s, k1, k2)

Text1.Text = d

Text2.Text = “”

End Sub

保存该工程并运行,则在文本框1中输入待加密字符,单击其“加 密”命令按钮则已加密字符显示在文本框2中,当然可单击“解 密”命令按钮进行字符的解密,其运行界面如图2所示,至此对数据的简易加解密就实现了。

四、结束语

密码分析成为了解决信息安全问题的关键技术,本设计采用面向对象程序设计方法进行开发,让用户体验了VB强大的编程能力在电子商务中数据安全性的简单应用。以上程序只是从原理上分析后给出的实例,在实际运用当中应从字符密钥中分别求出Key1和Key2,然后将加密后的数据再更换Key1和Key2反复进行多次加密运算,并结合换位法实现更大难度的加解密算法,保证电子商务中数据的安全与有效性。

参考文献:

[1]祁明:电子商务安全与保密[M].北京:高等教育出版社,2001

[2]William stallings.密码编码学与网络安全[M].北京:电子工业出版社,2004

友情链接