谈谈我眼中的Visual Basic 语言与算法

社区服务
高级搜索
猴岛论坛电脑百科谈谈我眼中的Visual Basic 语言与算法
发帖 回复
倒序阅读 最近浏览的帖子最近浏览的版块
2个回复

[网络资讯]谈谈我眼中的Visual Basic 语言与算法

楼层直达
我很爱猴岛的

ZxID:17719021

等级: 列兵
举报 只看楼主 使用道具 楼主   发表于: 2012-03-09 0
  
  1991年,美国微软公司推出了Visual Basic(可简称VB),目前的最新版本是VB 2008 Beta2(VB9)中文版。
  Visual 意即可视的、可见的,指的是开发像windows操作系统的图形用户界面(Graphic User Interface,GUI)的方法,它不需要编写大量代码去描述界面元素的外观和位置,只要把预先建立好的对象拖放到屏幕上相应的位置即可。
  Basic 实际上是一个短语的缩写,这个短语就是 Beginners all_purpose symbolic instruction code ,其中文意思为“初始者通用符号指令代码语言”。Visual Basic有学习版、专业版和企业版三种版本,以满足不同的开发需要。学习版适用于普通学习者及大多数使用Visual Basic开发一般Windows应用程序的人员,但是;专业版适用于计算机专业开发人员,包括了学习版的全部内容功能以及Internet控件开发工具之类的高级特性;企业版除包含专业版全部的内容外,还有自动化构件管理器等工具,使得专业编程人员能够开发功能强大的组骨子里分布式应用程序。
  Visual Basic
  第1节Visual Basic的概述
  Microsoft Visual Basic(简称VB)是在Windows操作平台下设计应用程序的最速度、最简捷的工具之一。不论是初学者还是专业开发人员,VB都为他们提供了一整套的工具,可以轻松方便的开发应用程序。因此,VB一直被作为大多数电脑初学者的首选入门编程语言。
  “Visual”指的是采用可视化的开发图形用户界面(GUI)的方法,一般不需要编写大量代码去描述界面元素的外观和位置,而只要把需要的控件拖放到屏幕上的相应位置即可方便图形设计图形用户界面;“Basic”指的是 BASIC语言,因为VB是在原有的BAISC语言的基础上发展起来的。
  VB是 Microsoft的一种通用程序设计语言,它包括在 Microsoft Excel、Microsoft Access等众多Windows应用软件中的VBA都使用VB语言,以供用户进行二次开发;目前制作网页使用较多的VBScript脚本语言也是VB的子集。
  利用VB的数据访问特性用户可以对包括 Microsoft SQL Server和其他企业数据库在内的大部分数据库格式创建数据库和前端应用程序,以及可调整的服务端部件。利用ActiveX(TM)技术,VB可使用 Microsoft Word字处理器、Microsoft Excel电子数据表极其他Windows应用程序提供的功能,甚至可直接使用由VB专业版或企业版创建的应用程序和对象。
  51xp系统下载用户最终创建的程序是一个真正的.EXE文件,可以自由发布。
  VB提供了学习版,专业版和企业版,用以满足不同的开发需求。学习版使编程人员很容易地开发Windows和Windows NT的应用程序。专业版为专业编程人员提供了功能完备的开发工具,专业版中包含了学习版的所有功能。企业版允许专业人员以小组的形式来创建强大的分布式应用程序。它包括专业版的所有的特性。所以可以根据不同的需要来选择不同的版本。
  第2节集成开发环境
  VB的集成环境或称IDE,由多个部分组成,包含了标题栏、菜单栏、工具栏、控件箱,以及窗体设计器窗口、工程管理器窗口、属性窗口、代码窗口和窗体布局窗体布局等。覆盖了开发应用程序的设计、编辑、编译和调试等所有功能。
  在VB中,应用程序也称工程。当第一次启动VB并打开一个新工程时,可以看到如图所示的集成开发环境界面。
  Visual Basic 集成开发环境
  VB通过工程来组织应用程序的开发,使用工程来管理构成应用程序的所有文件。一个工程一般由若干个窗体、标准模块以及应用环境组成。系统通过工程菜单来对工程进行管理,如添加窗体、引用等。系统允许同时打开和管理多个工程。
  第3节Visual Basic语言简介
  Basic是最常被用来做入门使用的高级语言。它的全名是 Beginner’s All-purpose Sumbolic Instruction Code,简称为 BASIC。顾名思义,Basic就是一种专为初学者设计的语言,因其易学易懂,所以身受欢迎。早期的Basic语言都是属于解译式的,因此可以一行一行地执行,所以它可以立刻看到执行的结果,对初学者来说这是很方便的设计。不过它也因此没有结构化的概念,在程序的维护及管理上比起其他语言困难许多。不过在后期的Basic则改正了以上的缺点(如Quick Basic),使得它也可以用来开发较大型的程序。
  语言是构成VB程序的基本成分。VB规定了语句格式和功能。
  语法:
  语句定义符[语句体]
  语句定义符用于规定语句的功能,语句体指定语句的具体内容或要执行的具体操作。所有语句的集合就是VB语言,用VB语句进行有机组合完成某个特定功能就是程序。界面+程序就能解决某个应用问题。
  VB应用程序代码一般在“代码编辑器”窗口编写。“代码编辑器”像是一个高度专门化的字处理软件,有很多便于编写VB代码的功能,图所示为[例Ex-Hello]在“代码编辑器”窗口编写的代码。
  “代码编辑器”窗口
  第4节用Visual Basic开发应用程序
  使用VB编程,一般先设计应用程序的外观,然后再分别编写各对象事件的程序代码或其他处理程序,编程的工作要轻松多。
  创建应用程序的步骤如下:
  1. 创建应用程序界面
  界面是用户和程序交互的桥梁,用VB创建的标准的WINDOWS应用程序的界面一般由窗体和按钮、菜单、文本框的图象框等构成。根据程序的功能要求和用户与程序之间的信息交流的需要,来确定需要那些对象,规划界面的布局。
  2. 设计界面上各个对象的属性
  根据规划的界面要求设置各个对象的属性,比如对象的外貌、名称、颜色、大小等。
  大多数属性取值既可以在设计时通过属性窗口来设置,也可以在程序代码中通过编程在程序运行时设置修改。
  3. 编程对象响应的程序代码
  界面仅仅决定了程序的外观,设计完界面后就要通过“代码编辑器”
  窗口来添加代码,实现一些在接受外界信息后作出响应、信息处理等任务,添加代码,实现一些在接受外界信息后作出的响应、信息处理等任务,添加代码如图的代码编辑窗口所示
  “代码编辑器”窗口
  4. 保存工程
  一个VB程序就是一个工程,在设计一个应用程序时,系统会建立一个扩展名为51xp.vbp的工程文件,工程文件包含了该工程所建立的所有文件的相关信息,保存工程就同时保存了该工程的所有相关文件。比如当设计界面时产生的窗体保存在扩展名为.frm和.frx的窗体文件中。在打开一个工程(文件)时,该工程有关的所有文件同时被装载。
  5. 行和调试程序
  通过“运行”菜单中的选项来运行程序,当出现错误时, VB系统可以提供信息提示也可通过“调试”和“运行”菜单来查找和排除错误。
  6.生成可执行程序
  为了使程序可以脱离VB环境,通过“文件”菜单中的“生成工程1.exe”命令来生成可执行程序(.exe文件),此后即可直接执行该文件。在生成可+执行程序后,再通过安装向导将所有相关文件打包,就可以作为一个软件产品在windows 9x/2000 环境下安装后独立运行
  VB的数据库编程方面按其难易程度可分为三类(由易到难);
  ●使用数据库控制项和绑定控制项
  ●使用数据库对象变量进行编程
  ●直接调用ODBC2.0API
  在使用VB进行数据库编程时,通常,会首先选择三种基本方法之一来进行数据库应用程序的方案设计, 现在就将以上三种设计方法的适应范围及其优缺点进行一个比较。
  1 使用数据库控制项和绑定控制项
  1.1优点
  菠是三种方法中编码量最小的
  不必了解CDBC2.0API的细节
  允许使用标准的和第三方厂商制订的控制项
  胠化了错误处理
  支持所有的动态集方法及属性
  1.2缺点
  不能存取快照对象(snapshop)对象或表格对象(都属于记录集对象)
  不能存取数据库集合,比如表定义(TableDefs)字段(Fieds),索引( Indexes)及查询定义(QueryDefs)
  只能存取部分ODBC2.0管理函数
  不能进行真正的事务处理
  有限的错误诊断功能
  1.3应用
  对中小规模的数据库表(通常少于一千条记录)只进行简章的浏览操作
  基本SQL查询所对应的结果集长度有限(通常结果集的记录数小于一百, 这些记录从一个或两个长度有限的表中检索出来)
  铠用程序的数据输入/输出项较少(通常只涉及一个或两个长度有限的表、并且表中的字段数在10个左右且不具有关系完整性限制
  2 使用数据库对象变量进行编程
  2.1 优点
  可以在程序中存取ODBC2.0的管理函数
  可以控制多种记录集类型:Dynaset、Snapshop及Table记录集合对象
  可以存取存储过程和查询动作
  可以存取数据库集合对象,例如TableDefs、Fields、Indexes及QueryDefs
  具有真正的事务处理能力 , 包括启动事务 ( Begintrans) 、 提交事务(CommitTrans)及回滚事务(Rollback)
  2.2 缺点
  比使用数据控制项的方法编码量较大
  只能进行间接的错误处理和错误恢复
  对每个数据库操作没有细粒度的控制
  对结果集和包含结果集的内丰资源的操作受到限制
  同直接使用ODBC2.0API函数的方法相比性能较低
  2.3 应用
  应用程序需要在执行期间动态地建立表、字段及索引。
  应用程序涉及同步更新几张表(但在逻辑上保持一致性)的复杂事务
  应用程序使用结果集而不是Dynaset的窗体(FORMS),例如Snapshots或Tables,这里是设计要考虑的关键
  应用程序的表非常大,多于1000条记录
  应用程序具有复杂的数据输入/输出项,它涉及许多内部相关的字段并且包括数据库参照完整性或一致性规则
  应用程序需要执行一些额外的操作和对结果集的查询后处理, 尤其是需要很高的数据格式化显示
  应用程序需要利用复杂的ODBC管理功能以选择、配置、校验及建立各种数据源
  应用程序需要在执行期间“显示”数据库的基本结构
  应用程序需要使用复杂的多码索引方式来检索或更新记录
  3 直接调用ODBC2.0API
  3.1 优点
  可以直接参与结果集的开发、管理及规范化
  对结果集游标提供了更多的控制,并且提供了更多的游标类型和执行动作
  能够确定ODBC驱动程序及SQL的一致性级别
  可以更好地控制Windows的执行调度及资源利用
  其他方面同其他方法差不多,因此这种方法很可能具有最好的性能
  3.2 缺点
  较其他两种方法需要大量的代码
  代码复杂并且要求程序员具有编制API调用的经验
  在网络上Visual Basic运行期间库的错误处理缺乏安全性,因此代码运行期间出现的错误所造成的后果会非常严重
  3.3 应用
  如果系统环境为客户机/服务器模式下的大规模多用户环境,那么应用程序必须都能够准确地解决可能出现的系统错误和失败
  应用程序强调资源使用,这里如何对内存、 网络服务器资源进行直接控制是首要的考虑因素
  应用程序使用超大规模数据库,例如数据库表可能包含几万或几十万条记录
  计算机系统中的任何软件,都是由大大小小的各种软件组成部分构成,各自按照特定的算法来实现,算法的好坏直接决定所实现软件性能的优劣。用什么方法来设计算法,所设计算法需要什么样的资源,需要多少运行时间、多少存储空间,如何判定一个算法的好坏,在实现一个软件时,都是必须予以解决的。计算机系统中的操作系统、语言编译系统、数据库管理系统以及各种各样的计算机应用系统中的软件,都必须用一个个具体的算法来实现。因此,算法设计与分析是计算机科学与技术的一个核心问题。
  算法是解题的步骤,我们可以把算法定义成解一确定类问题的任意一种特殊的方法。在计算机科学中,算法要用计算机算法语言描述,算法代表用计算机解一类问题的精确、有效的方法。算法+数据结构=程序,求解一个给定的可计算或可解的问题,不同的人可以编写出不同的程序,来解决同一个问题,这里存在两个问题:一是与计算方法密切相关的算法问题;二是程序设计的技术问题。算法和程序之间存在密切的关系。算法是一组有穷的规则,它们规定了解决某一特定类型问题的一系列运算,是对解题方案的准确与完整的描述。制定一个算法,一般要经过设计、确认、分析、编码、测试、调试、计时等阶段。对算法的学习包括五个方面的内容:① 设计算法。算法设计工作是不可能完全自动化的,应学习了解已经被实践证明是有用的一些基本的算法设计方法,这些基本的设计方法不仅适用于计算机科学,而且适用于电气工程、运筹学等领域;②  表示算法。描述算法的方法有多种形式,例如自然语言和算法语言,各自有适用的环境和特点;③确认算法。算法确认的目的是使人们确信这一算法能够正确无误地工作,即该算法具有可计算性。正确的算法用计算机算法语言描述,构成计算机程序,计算机程序在计算机上运行,得到算法运算的结果;④ 分析算法。算法分析是对一个算法需要多少计算时间和存储空间作定量的分析。分析算法可以预测这一算法适合在什么样的环境中有效地运行,对解决同一问题的不同算法的有效性作出比较;⑤ 验证算法。用计算机语言描述的算法是否可计算、有效合理,须对程序进行测试,测试程序的工作由调试和作时空分布图组成。
  而算法具有一定的特性,它包括:① 确定性。算法的每一种运算必须有确定的意义,该种运算应执行何种动作应无二义性,目的明确;② 能行性。要求算法中有待实现的运算都是基本的,每种运算至少在原理上能由人用纸和笔在有限的时间内完成;③ 输入。一个算法有0个或多个输入,在算法运算开始之前给出算法所需数据的初值,这些输入取自特定的对象集合;④ 输出。作为算法运算的结果,一个算法产生一个或多个输出,输出是同输入有某种特定关系的量;⑤ 有穷性。一个算法总是在执行了有穷步的运算后终止,即该算法是可达的。满足前四个特性的一组规则不能称为算法,只能称为计算过程,操作系统是计算过程的一个例子,xp系统下载是前提,操作系统用来管理计算机资源,控制作业的运行,没有作业运行时,计算过程并不停止,而是处于等待状态。
  算法的复杂性是算法效率的度量,在评价算法性能时,复杂性是一个重要的依据。算法的复杂性的程度与运行该算法所需要的计算机资源的多少有关,所需要的资源越多,表明该算法的复杂性越高;所需要的资源越少,表明该算法的复杂性越低。
  计算机的资源,最重要的是运算所需的时间和存储程序和数据所需的空间资源,算法的复杂性有时间复杂性和空间复杂性之分。
  算法在计算机上执行运算,需要一定的存储空间存放描述算法的程序和算法所需的数据,计算机完成运算任务需要一定的时间。根据不同的算法写出的程序放在计算机上运算时,所需要的时间和空间是不同的,算法的复杂性是对算法运算所需时间和空间的一种度量。不同的计算机其运算速度相差很大,在衡量一个算法的复杂性要注意到这一点。
  对于任意给定的问题,设计出复杂性尽可能低的算法是在设计算法时考虑的一个重要目标。另外,当给定的问题已有多种算法时,选择其中复杂性最低者,是在选用算法时应遵循的一个重要准则。因此,算法的复杂性分析对算法的设计或选用有着重要的指导意义和实用价值。
本帖de评分: 1 条评分 DB +1
DB+1 2012-03-09

欢迎分享

关键我叫残少

ZxID:16156593

等级: 大尉
╔━━━━━━━━╗ ┃新卡盟、招供货っ┃ ╚━━━━━━━━╝
举报 只看该作者 沙发   发表于: 2012-03-09 0
谢谢分享。

LX没JJ
幻希空

ZxID:17414929

等级: 元老
一片花飞减却春          风飘万点正愁人

举报 只看该作者 板凳   发表于: 2012-03-09 0
不好意思,我确实没JJ
交易区
« 返回列表
发帖 回复