Visual Basic.NET程序设计(第3版)pdf/doc/txt格式电子书下载
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询
书名:Visual Basic.NET程序设计(第3版)pdf/doc/txt格式电子书下载
推荐语:
作者:陆汉权,冯晓霞,方红光
出版社:电子工业出版社
出版时间:2013-03-01
书籍编号:30467276
ISBN:9787121198274
正文语种:中文
字数:149696
版次:3
所属分类:教材教辅-大学
版权信息
书名:Visual Basic.NET程序设计(第3版)
作者:陆汉权 冯晓霞 方红光
ISBN:9787121198274
版权所有 · 侵权必究
前言
大学中的程序设计课程早就成为了大学生的必修课。作为学习者,我们应该理解每门课的学习目的。对程序设计课程,当然专业学生是作为专业课程学习的,而绝大多数非计算机专业学生学习程序设计,显然不是为了使自己成为程序员(Programmer),我们的理解是通过学习程序设计,进一步弄清计算机是如何“按程序设计的步骤去处理、解决问题的”。因此,理解问题并分解问题,使之能适合计算机的处理,是非计算机类专业程序设计课程教学的主要任务。事实上,学习程序设计是进一步理解计算机的最好途径。只有理解了计算机,才可以让计算机能更好地为我们服务。
Visual Basic(简称VB)是我国高校计算机基础课程系列中的程序设计基础与实验的主要内容之一。许多人认为它简单易学,当然这只是VB的一个特点,它的另一个重要特性是它在以Windows为环境的计算机系统中具有特殊地位:VB作为Windows的编程语言不但为计算机编程专业人员所广泛采用,而且由于它延续和继承了Windows系统的丰富资源,如窗口、菜单、工具栏及对话框、按钮等常用的交互方法,因此非计算机专业人员能够很快掌握其编程方法,更重要的是,由于Windows的实际垄断,通过VB理解计算机有着很大的帮助作用。通过VB编程的学习,我们就能更容易理解诸如Microsoft Office这样的Windows应用软件,进而使用好这些软件系统。
多年的发展使得VB有多个版本,如2008版、2010版等。要说明的是,VB语言的基本功能并没有大的变化。尽管本书采用的是Visual Basic 2008版,并不会影响我们使用它的早前的VB 5.0、VB 6.0或更早的版本,或已经发布的Visual Basic 2011和其后的新版本。
众所周知,任何编程语句其语言功能只是其中一部分,更多的和更重要的是提供给编程者构建系统的各种功能模块或者代码库。除了语言元素部分,VB提供的Windows应用程序框架将大量的Windows程序界面元素以工具的方式提供给设计者,因此它更是一种软件开发的工具系统,尤其适合开发Windows应用软件。
根据多年实际教学经验,本书把语言、程序设计、算法、程序架构、面向对象程序设计等和VB特点相关的许多知识点进行了组合,并给出了学习程序设计的目的和提出了学习程序设计是掌握计算机方法的重要途径的观点,既适合初学计算机程序设计的读者,也能够为需要提升VB编程能力的读者提供帮助。
全书共17章,每章开始先导入基本概念,给出学习目标,并以示例程序作为引导,帮助读者建立对本章相关知识的初步认识,然后展开介绍。这种结构源于我们多年的教学实践,对计算机语言类课程特别是VB这类实践性非常强且比较抽象的基础课程,采用这种教学过程是最适合的。本书特别考虑了计算机基础较弱的读者,有针对性地结合基础知识进行介绍。
书中设计了大量生动活泼的例题,基本上覆盖了常用算法,也有习题、思考题和上机实验题。读者结合书中的例题进行上机实践,不但能够进一步理解算法以及设计过程,而且能够迅速掌握编程方法,提高编程技巧。
书中包括了一些教学要求范围之外的编程内容,如网络编程、多媒体编程等,在章节前用“*”做了标记,供读者取舍。我们希望能够给读者一个VB程序设计的全貌,可以充分领略VB编程的魅力。
本书第1、2、6、9、15章由陆汉权编写,第3、4、5、7、8、10、16章由冯晓霞编写,第11、12、13、14、17章由方红光编写。全书由冯晓霞统稿。
本书在编写过程中得到了浙江大学计算机学院沈钦仙、陈建海、章文等老师的大力支持和帮助。作者在此深表感谢之意。本书在出版过程中得到了电子工业出版社的全力支持和帮助,在此也一并表示谢忱之意!
由于作者的水平有限,书中的错误在所难免,恳切希望使用本书的老师和读者指正。
本书为任课教师提供配套的教学资源(包含电子教案),需要者可登录华信教育资源网站(http://www.hxedu.com.cn),注册之后进行免费下载,或发邮件到unicode@phei.com.cn进行咨询。
作 者
于杭州,浙大紫金港
第1章 概述
本章首先回答为什么要学习程序设计,然后介绍有关程序设计语言的一般知识,并讨论有关编程的一些基本问题。本章通过对 Visual Basic.NET(简称VB.NET)历史和简单例子的介绍,使读者对VB.NET程序设计语言有个初步的认识。通过对结构化的编程方法、事件驱动编程和面向对象编程等技术的介绍,帮助读者理解通过计算机运行程序来解决应用问题的过程。
1.1 为何要学习程序设计
良好能力性的素质,往往表现在从问题的定义出发,明确问题的性质,发现问题的本质,找到解决问题的途径,并确定一种最好的处理方法,使得问题最终得以解决。无论是社会活动还是日常问题,无论是科学实验还是制定研究规则,这个过程总是类似的。
如果着眼于发现问题、解决问题的观点,学习计算机语言并尝试进行程序设计就是一种非常好的方法。这里首先需要理解“为什么要学习程序设计”,这非常重要:如果你不知道为什么要做某件事,很难想象你会把某件事做好。
1.1.1 什么是程序设计
大家知道,计算机依靠程序才能够工作。一般认为,程序(Program)是产生一系列指令(或者叫做命令)让计算机工作的过程,它们可以存储在计算机中,而这些指令的集合就是计算机程序设计语言。因此在这个意义上,程序设计有两个重要的思想:一是我们需要把复杂的设计过程翻译为机器能够理解的执行代码,二是程序被存储在计算机中可以反复地被执行。
现在有数以百计用于不同应用的计算机程序设计语言(Programming Language),这些语言大致可以分为三类:机器语言、汇编语言和高级语言。
机器语言(Machine Language)也叫做机器代码语言,使用二进制代码,计算机能够直接识别并执行这些代码,其中的代码又称为机器指令。汇编语言(Assemble Language)以英文助记符的形式表示,最后需要将其翻译为二进制代码才可运行。这两种语言都是面向机器的,也就是说,不同CPU类型的计算机有不同的指令系统和汇编语言。使用机器语言、汇编语言的用户需要对所编程机器的指令系统有非常深入的掌握,所以一般被认为这是专业人员所从事的事。
随着计算机技术的发展,许多过去必须由计算机专业编程人员才能够从事的程序设计工作被更多的非专业人员所掌握。打破专业人员对计算机编程的“垄断”,应该归功于“高级语言”。
编程人员编写机器语言程序需要仔细地书写一个个0和1组成的代码,使用汇编语言则需要将每条指令用一个助记符代替,高级语言程序则可以简单地使用类似于数学表达或者英语单词组成其语句。高级语言可以让编程人员在较短的工作时间内完成更多的编程工作,大大提高了编程的效率。
1.1.2 有哪几种常用的高级语言
现在尽管有多种高级语言,但发展到今天能够称得上被广泛使用的高级语言也只有少数几种。
① C语言:功能强大,一直有“专业语言”的美誉。C语言由Bell实验室于1972年开发,兼有高级程序设计语言的优点和汇编语言的高效率,能够直接操纵计算机内存单元中的数据位,因此在设计系统软件(如操作系统)或者实时应用领域用途很广。使用C语言比使用其他高级语言写出的程序运行速度快得多。
② C++语言:C语言的扩展版本。C++提供了若干特性,改善了C语言的功能,并增加了面向对象编程的功能。在今天的系统设计领域,C++已经成为主要设计语言之一。
③ FORTRAN语言:在数学、科学计算等领域,FORTRAN(FORmula TRANslator,公式翻译)语言具有独特的优势。它也是最早的计算机高级编程语言,最初由IBM公司于1957年开发。
④ Java语言:被称为网络编程语言,是面向对象的程序设计语言,是基于C和C++的。Java特别适合于Internet环境,现已成为Internet中最受欢迎、最有影响的编程语言之一。Java的Windows版本叫做Visual J++,很多人认为Visual J++是Visual Basic的最有力竞争者。Java是由美国SUN公司开发并于1995年发布的。
上面列举的几种,加上本书所介绍的VB.NET,被认为是目前最广泛使用的几种编程语言。机器语言、汇编语言都是面向机器的,它们必须针对特定的机器进行程序设计,而高级语言则灵活得多,一般情况下都是与机器无关的。
1.1.3 翻译计算机语言程序
高级语言编写的程序(称为源程序)需要翻译为机器语言程序才能被计算机所执行。语言翻译程序也是一种软件,人们称之为“程序的程序”,根据其翻译的方式,可分为解释程序和编译程序。
解释程序对源程序中的代码翻译一句执行一句,如图1.1所示,这个过程有点像同声翻译。解释程序在执行过程中不生成可执行的文件,因此程序运行速度较慢,而且源程序必须在解释程序环境下运行,如果源程序出错,它将立即停止执行。计算机使用解释程序可以在较小的内存中运行程序。早期的BASIC语言就是解释型语言,Visual Basic保留了这个特点,同时使用编译方式。
图1.1 解释程序
编译程序的结构如图1.2所示,图中的虚线部分为语言处理程序。首先由编译器(Compiler)将源程序整体翻译为目标程序代码,然后由连接程序(Linker)将目标程序和系统资源(如函数库、系统过程等)连接在一起形成可执行程序文件,最终可以直接运行可执行程序文件,使得用户编写的程序脱离编译系统而独立运行。这个结果有点像外文文献的书面翻译。
图1.2 编译程序
在计算机文件中,可执行程序(Executable Program)文件大多以.exe为后缀(扩展名),因此很好辨认。现在,许多编译系统已经直接将编译和连接过程组合在一起“构造”(Builder)可执行程序。Windows系统将这类可执行程序文件统称为“应用程序文件”。
1.1.4 程序设计是一种方法学
一个很有意思的问题经常会被提及,那就是“为什么要学程序设计”。至少有一点是很明确的——几乎每个不同职业的人都要用到计算机软件:学生使用字处理软件撰写论文,会计师使用软件记账,摄影师使用图片编辑软件处理照片,电视台使用软件编辑节目,作家使用软件写作……事实上计算机是职业人员应该使用的工具,而理解计算机,学习编程是最好的途径。
学习程序设计和学习数学一样,能够培养一个人发现问题、处理问题的能力,而且这种训练更符合信息时代的发展要求。与传统课程不同的是,程序设计是一个主动的、积极的过程,因为在编程过程中计算机能够立即、直接地反馈信息,这需要编程者与之互动,达到探索、实验和评价的效果。若把编程与做数学习题的过程进行比较,就会发现程序设计更有趣、更生动:编程者与计算机直接交互,如计算机会告诉你某个语句出现了错误,你就必须检查并纠正这个错误,这是一个探索过程;同时,编程者有一种成就感,如果你的程序能被正确执行的话。
学过程序设计的人未必就一定要从事程序设计工作。事实上,目前编程的人越来越少,用程序的人越来越多,这就使得有人怀疑是否有学习程序设计的必要。其实回答这个疑问并不难,就像我们在大学里人人都学习微积分,但并没有几个人使用微积分。那么是不是不用的人就不需要学呢?如果你不以程序设计本身为目的进行学习,那么我们看看下面的事实。
在我们使用各种不同的软件帮助处理问题时,我们需要与计算机进行交互,如编辑文档、使用电子表格、制作演示文稿等。一个简单的例子是,如果你现在通过网络的搜索引擎去查找需要的资料,一个更符合检索要求的表达式是重要的,因此你理解计算机如何用程序来运行你的检索表达式,对你进行检索操作肯定会有帮助。如果你知道了计算机是如何用程序进行工作的,则你在电子表格中对符合条件的数据进行统计计数时,绝对不会一个个地把它数出来。今天我们使用的是这些软件,我们不能知道几年后将会有哪些软件,会帮我们解决哪些问题。因此,理解编程比直接理解使用软件有更长远的意义。
让计算机帮助人们做事,采用了人在与计算机交互过程中使用的特定科学符号,有些是自然语言表达,有些是具体的特定记号,这些都是某种形式的“编程”过程。即使使用某些功能很强大的软件包,如进行科学计算和工程计算的MATLAB之类的软件,仍然需要在某种程度上按照一定的表达形式进行“编程”,这些软件才能够帮助用户完成工作。
1.1.5 如何学习程序设计
一个程序员的工作与作家、设计师没有什么不同,都是从构思框架开始,然后进入细节,最终把其设计思想表现为特定的文字或者图纸。其中将根据故事的发展或设计要求的变化,反复修改。
事实上,没有任何一个程序员设计程序能够一气呵成,都需要经过多次的反复修改,最后达到程序功能的要求。进一步,即使程序看上去正确,其中仍然会隐藏着未知的错误。因此,测试程序需要使用不同的输入,在尽可能多的环境下运行,以使得这些错误发生在程序正式投入运行之前,然后及时纠正。
几乎所有的程序设计都会涉及输入数据、处理数据,进一步地说,设计针对某个特定问题求解的程序,必须知道需要哪些数据、这些数据的性质(正式的说法是数据的属性),以及这些数据之间的相互关系。因此,要学习程序设计就必须学习表达这些数据以及相互关系的语言的描述,一般认为,需要:
① 分析问题,使用特定的方法进行描述,如使用流程图描述。
② 在表达抽象问题时,用明确的实例加以说明。
③ 使用编程语言精确描述所定义的语句和数据之间的关系。
④ 通过检查,包括机器编译过程的检查,测试上述设计。
⑤ 注重细节问题。
第一步的分析过程是至关重要的。如果说其后的步骤和计算机语言关系密切的话,那么分析问题则与“算法”相关。大多数处理过程还与数学表达有关,即选择一个合适的算法是程序设计的第一步。讨论“算法”不是本书的范围,但本书给出的例子都含有算法的影子,这需要读者从中领会。
以上这些表现在计算机程序设计中的行为,与任何一项有意义的事务(如一个商业活动)的过程都是类似的。程序设计过程与一般处理问题的过程有一个重要的差别,即衡量程序的设计结果不是靠设计者或使用者的评价,更重要的是机器的评价,即程序必须被正确地运行,至少在预见的范围内,程序的运行结果能够与预期结果相同。
因此,强调实践环节有时比设计过程的学习更要紧。传统的阅读理解是需要的,但有时把设计的代码输入到计算机,让计算机执行一次再来查看程序的执行结果,比仅靠阅读来理解程序更有效,也就是说,实验能够帮助我们进一步理解程序设计的过程。
1.2 什么是Visual Basic.NET
Basic正确的书写应该是BASIC,因为它是Beginners All-purpose Symbolic Instruction Code(初学者通用指令码)的缩写。实如其名,BASIC的语法规则相对简单,易于理解和掌握,被许多非计算机专业编程人员和爱好者所喜欢,也被广泛使用。最初的PC系统内置的软件就是BASIC,因此可以认为BASIC是与PC的发展同步的。
早先的微机系统是字符界面的,而现在广泛使用的主要是基于GUI(Graphics User Interface)的Windows系统。20世纪90年代以来,Windows应用软件就逐渐成为程序设计的主流。而开发Windows程序,大量的编程工作是建立交互界面,如窗口、菜单、对话框等,使得程序开发工作量大大增加。据统计,在一个Windows应用程序中大概有80%的工作是设计这些交互界面。
计算机系统技术的这些发展使得基于Windows的GUI环境的程序设计语言随之发展,因此BASIC进化为Visual Basic,它是Microsoft公司于1991年开发的。
Visual Basic是随Windows发展而发展的,因此它被称为“Windows程序设计语言”。从这个意思上看,学习Visual Basic的确是“容易”的。因为它把Windows的大多数资源,如窗口、菜单、对话框、按钮等“对象”集成起来,纳入到Visual Basic中,程序员需要使用这些对象时,可以简单地“拿来”使用,而不必自己再花大量的时间编写这些对象的代码,可以集中精力编写程序对数据的处理过程。Visual Basic给这些“对象”取了专用的名字:控件(Control)。
继Visual Basic之后,微软公司推出了全新的“.NET框架”。.NET是微软的新一代技术平台,为敏捷商务构建互连互通的应用系统,这些系统是基于标准的、连通的、适应变化的、稳定的和高性能的。从技术的角度来看,一个.NET应用是一个运行于.NET Framework之上的应用程序。.NET Framework(.NET框架)由微软开发,是致力于敏捷软件开发、快速应用开发、平台无关性和网络透明化的一个软件开发平台。
.NET框架采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime,CLR)为基础,支持C#、C++、Python等多种语言的开发,其中包含了Visual Basic.NET,它是这个系统中的重要部分之一。
Visual Basic.NET的简称为VB.NET。Visual Basic只是半面向对象的编程环境,其面向对象的能力及执行效率往往不能满足一些大项目的需要,所以Visual Basic的最后一个版本是Visual Basic 6.0。
在Visual Basic 6.0之后,微软第一个Visual Studio.NET 7.0(Visual Studio简称VS)版本中集成了Visual Basic 7.0、Visual C++7.0等。Visual Basic 7.0(VB 7.0)是VB.NET的第一个版本,所以它是微软新平台的技术。VB.NET编译以后生成的可执行文件被称为Assembly,即程序集。本书使用的VB.NET的版本号是Visual Basic 9.0,是Visual Studio 2008的组件之一。
设计程序有两个主要的部分:一是与用户交互部分的“界面设计”,二是对数据进行处理的程序代码设计。界面呈现在计算机显示器屏幕上,VB.NET把界面中的对象通过“控件”提供给编程人员,整个程序设计的界面就是“可见的”,这就是Visual的意思。
编写Windows环境下的应用程序,使用VB.NET是方便编程的选择之一。今天的VB.NET仍是许多专业人员选择的Windows应用系统开发工具之一。VB.NET有强大的工具和丰富的控件,并提供了多媒体功能,适合于普通应用,再加上基于Internet/Intranet应用的编译代码,对软件业的发展和变革也起到了重要的作用。
1.3 VB.NET平台:集成开发环境
本书介绍VB.NET(也称为Visual Basic 2008或VB 9.0),为方便起见,后面的章节中仍称其为VB。编写一个应用程序的过程包括:创建程序、编辑代码、调试程序、运行程序等多个步骤。早期的编程是将这些步骤分别使用不同的系统(也是程序)来完成。
可以把平台视为一个舞台,不同的表演形式可以在相同的舞台上展示,那么Windows就是支持各种基于Windows操作系统的应用程序的运行舞台。VB.NET也是在Windows环境下运行的。VB.NET提供给编程者在同一个环境中建立或打开源程序、编辑代码、调试运行程序等,可完成所有的编程工作,这就是IDE(Integrated Development Environment,集成开发环境)。因此,也可以说.NET是一个包括多种语言且具有解释、编译VB.NET应用程序的综合型编程工具软件。
.NET本身就是Windows的应用程序,它的许多资源如菜单、对话框、工具按钮也是被它自己所使用的,因此在.NET环境下编写用户系统往往会有一种非常特别的感觉:似曾相识。
在计算机上安装VS 2008后,从桌面任务栏上选择“开始”→“所有程序”→“Microsoft Visual Studio 2008”→“Microsoft Visual Studio 2008”,系统将显示如图1.3所示的“选择默认环境设置”对话框,从中选择“Visual Basic开发设置”,单击“启动Visual Studio”按钮,这时Microsoft Visual Studio为第一次使用配置环境。在等待几分钟后,进入如图1.4所示的运行界面,它是集成环境中默认的浏览器主页,也是选择最近使用的项目、读取产品新闻和了解VB新功能等操作的地方。
图1.3 选择默认环境设置
在图1.4所示的界面中,选择“文件”菜单的“新建项目”命令,出现如图1.5所示的“新建项目”对话框,编程者可选择使用哪一种编程语言来创建哪一种应用程序。
图1.4 Microsoft Visual Studio起始运行界面
图1.5“新建项目”对话框
其中“Visual Basic”就有多种项目,每种项目又提供了多种应用程序模板,可见.NET提供的编程功能非常强大。VB.NET使用“项目”作为用户编程的代名词。利用图1.5所示对话框新建项目,VB.NET就把用户选定的项目类型的相关特性装入,进入设计主窗口。
现在,选择项目类型为“Visual Basic”下的“Windows”,然后在“模板”中选择“Windows窗体应用程序”,这是Windows类型下的默认模板,允许程序员使用VB的大多数特性,可以生成在Windows环境下直接执行的程序文件。本书的大多数示例程序和编程都使用这个模板。在该对话框的“名称”处输入项目名“Example”,单击“确定”按钮,这时出现如图1.6所示的VB窗体应用程序开发界面。
在图1.6所示窗口中,标题栏上已出现了目前项目名称“Example”,它是一个多窗口的操作环境,图中所示的是编程者常用的几个窗口,其中的工具箱如图1.7所示。这些窗口初次使用时自动打开,如果需要关闭或者重新打开,可在“视图”菜单中选择相应的选项。
图1.6 Visual Studio窗口
图1.7 工具箱
在图1.6所示窗口中,我们可以完成VB.NET的编程工作。这个窗口的基本操作(如菜单、工具按钮等)与Windows的窗口操作类似。有关它们的使用,我们将在后续章节中根据进度介绍,这里不再赘述。
其中的“帮助”菜单可以打开帮助窗口。“帮助”(快捷键F1)提供VB.NET的功能、控件特性、函数使用等非常详细的介绍。无论用户如何熟悉VB.NET,在线帮助仍然是需要的,因为用户不可能靠记忆掌握VB.NET各种元素的复杂特性和使用规则。
(1)窗体和窗体编辑器
在图1.6所示窗口中,“Form1.vb[设计]”选项卡中有标题为“Form1”的子窗口,它们分别是窗体编辑器和窗体。
“窗体”是Form的中文翻译,本意是外形或者形状。简单地说,在进行VB.NET编程时,窗体可以作为用户界面的载体(容器),存放程序中的按钮、菜单、各种标签、文本框等组件(控件)。
当所设计的程序被执行时,窗体就是显示在屏幕上的用户程序界面。与一般的Windows程序一样,窗体可以接受用户的数据输入,可以显示执行程序后的各种输出。
在进行界面设计时,窗体和窗体编辑器是组合在一起的。当界面设计完成需要进入代码编写时,双击窗体中的任何空白处就可以进入编码状态,这时出现标签名为“Form1.vb”的选项卡,其中就是程序代码编辑器。
(2)工具箱
工具箱(ToolBox)位于IDE左侧,当鼠标指针移到左侧文字“工具箱”上,就会出现如图1.7所示的工具箱窗口。工具箱中有多组工具,如“公共控件”、“容器”等。图1.7所示即为一部分“公共控件”,编程者可直接使用它们来定制窗体。
控件是编制Windows程序所用到的公共资源,实际上是VB.NET开发者设计好的、可以重复使用而不必重新编写代码的打包(Packet)部件,即一段可以反复使用的程序段。
把经常需要重复使用的代码预先编写好提供给开发者使用,已经是各程序设计语言的通常做法,如数学函数。控件不是以代码的形式而是以图形图像方式供给用户的。控件和函数可以使用户集中精力编写需要专门设计代码的程序部分,使得编程更加方便、快速。
VB.NET运用了Windows中的即时指示功能(Tool Tip),即当鼠标指针移动到
....
本站仅展示书籍部分内容
如有任何咨询
请加微信10090337咨询