图书前言

前    言

  Visual Basic(VB)之所以成为最流行的编程语言之一,有多种原因:首先,VB易于学习,是理解基本编程概念的绝佳工具;此外,VB已经发展成为一种功能强大的大众化产品,是熟练的VB程序员工作中必须掌握的语言。

  VB是一种完全面向对象的语言,它与许多使用.NET Framework的其他语言兼容。面向对象的概念及VB语言的语法和术语将贯穿全书。

  VB允许程序员开发基于Windows或者Web浏览器的应用程序,同时避免了程序设计工作中的复杂性。程序员无须做太多的工作,就能设计出具有诸如按钮、复选框、单选按钮、文本框以及列表框等标准元素的屏幕界面。这些对象都按照预定设计进行动作,生成一个“标准”的Windows或者Web用户界面。

本书简介

  本书是学习程序设计的入门级教材,本书的读者此前可以没有任何关于计算机程序设计方面的知识。同时,本书的后面几个章节适用于那些希望通过学习一门新的语言来提升自己技能的专业程序员。

  本书要求读者熟悉Windows操作环境,并会使用基于Internet浏览器的应用程序。

学习方法

  本书包含了程序设计的一些基本概念、问题解决方案、程序设计逻辑、面向对象的设计技术以及事件驱动语言。VB是一种完全面向对象的语言,它包含了继承性和多态性。面向对象编程(OOP)的概念将在第1章中介绍,它的特性则会在本书的每一章中得以体现。

  每章的主题都按顺序列出,程序员可从中学习如何布局可视化的界面,掌握许多重要的编程技巧,如创建带有对象、选择、循环以及数据管理功能的项目。

  本书以易于读者理解和使用的方式编写,并为读者提供了界面设计指导原则。

本书特点

● 面向对象概念:帮助学生在学习创建自己的类之前先了解面向对象的设计。

● 界面设计指导:帮助学生更好地理解满足用户需要和采用业界标准。

● 练习题:帮助学生回顾当前主题,并评估自己是否已经掌握了所学的相关内容。

● 提示:帮助学生避免编写有问题的程序,并鼓励他们培养良好的编程习惯。

● 程序设计示例:通过项目设计、编写并执行VB程序的过程,指导学生学习编程的步骤。

● 编程练习:考查学生是否掌握了各章介绍的编程技术。

● 案例分析:提供了具有连贯性的主题练习,可用于整个课程,随着学习的深入,学生将不断完善这些项目。

致学生

● 学生数据:本书网站中的学生数据提供了一个调试项目,还提供了可用于编程练习和案例分析的数据库文件、图形文件以及声音文件。

● 访问VB 2008网站:教师和学生资源请访问http://www.mhhe.com/VB2008/,或者从http://www.tupwk.com.cn/downpage页面下载本书的资源。

致教师

● 教师网站:包括教师手册(教学提示、教学提纲、每章的编程练习需要的特性矩阵);PowerPoint幻灯片;测试文件(使用EZ测试,格式是Word文件);各章末练习题的解决方案。

● PowerPoint幻灯片:为教师提供了完整而详细的教学材料,可以向学生展示每章的重要概念。

● 访问VB 2008网站:教师和学生资源请访问http://www.mhhe.com/VB2008/,或者从http://www.tupwk.com.cn/downpage页面下载本书的资源。

新版本中的改动

  这一新版本教材基于VB 2008专业版。VB 2008包含语言集成查询(Language Integrated Queries,LINQ),它可以用更一致的方法来查询各种数据源。XML字面量可以使我们更轻松地读写XML文件。Windows呈现基础(Windows Presentation Foundation,WPF)提出了界面设计的新理念。

  这一新版本教材具有更为丰富的智能感知(IntelliSense)功能,从而在大多数实例中都没必要使用Me关键字。

  这一新版本教材增加了一个PrintForm控件,它非常方便用于教学环境。PrintForm控件在第1章介绍,它既可用于打印机输出,也可用于打印预览输出。标准的打印功能则仍然在第7章介绍。

  LINQ在第10章和第14章中讨论。

  第11章介绍了一种方法,可以使用My对象写少量数据。

  图像的拖放在第13章介绍。学生可以在本章学习这个熟悉操作的开发技术。

  第14章讨论XML数据文件,并介绍用WPF进行程序设计。

  文字叙述、分布指导练习、屏幕截图以及附录都针对VB 2008做了更新。屏幕截图全部基于Windows Vista操作系统。

  在编码约定方面的改变包括对变量标识符采用Pascal casing命名方法。

本书主要内容

  本书每一章都以学习目标和简要的概述开始。大量的编程示例和项目实例贯穿于全书之中。通过每章中的练习题,学生可回顾当前学习的主题,从而评估自己对该主题的理解程度。每一章的末尾还包含小结、复习题、编程练习以及4个案例分析。

  第1章  “VB 2008综述”介绍了Microsoft的Visual Studio集成开发环境(IDE)。这一开发环境适用于多种编程语言。循序渐进的学习安排让学生对程序设计快速上手。通过本章中介绍的PrintForm控件,学生可以在程序运行时轻松地提交窗体的屏幕截图。本章还介绍了对象、属性、方法以及事件的OOP概念。同时,本章也介绍了调试的要点以及如何使用帮助系统。

  第2章  “用户界面设计”展示了优秀的程序设计技术,包括为用户设计简便易用的界面以及如何设计可维护的程序。本章还介绍了一系列控件,包括文本框、丰富文本框、掩码文本框、分组框、复选框、单选按钮、图片框以及新增的形状和线条控件。

  第3章  “变量、常量以及计算”阐述了使用数据及声明数据类型的概念。学生将学会如何遵循标准来声明常量和变量的数据类型和范围,并总是使用Option Strict来保证数据类型的一致性。

  本章还介绍了使用结构化的异常处理模式进行错误处理,以及Try/Catch/Finally结构和与计算相关的一些内容。还将学习如何通过MessageBox类显示错误消息,以及OOP中的重载构造函数的概念。

  第4章  “选择和条件”介绍根据由不同关系和逻辑运算符构成的条件,执行不同的动作。本章使用If语句对输入数据进行有效性验证。多重条件可以用嵌套If语句或者Select Case结构来处理。

  本章还涵盖了IDE中的调试功能,逐步骤地介绍了如何单步调试程序以及在程序执行期间检查中间值。

  第5章  “菜单、通用对话框、子过程以及函数过程”阐述了编写和调用通用子过程以及函数过程的概念。本章将学习在项目中添加菜单和上下文菜单,显示Windows通用对话框,并使用由用户提供的输入。 

  第6章  “多窗体项目”阐述了给项目添加闪屏和About窗体。摘要数据显示在单独的窗体中。还介绍了Friend关键字。 

  第7章  “列表、循环以及打印”阐述了在项目中使用列表框和组合框,并讨论了循环过程和打印信息列表。在.NET中,打印操作是使用图片对象和回调事件来完成的。打印控件包含一个打印预览特性,这可以让我们直接预览打印结果而不用实际打印出来。 

  第8章  “数组”介绍了数组,本章紧接着第7章中列表的逻辑思路。学生可以学习使用一维和多维数组,以及表的查找和结构体数组。 

  第9章  “Web应用程序”介绍了使用Web窗体的Web应用程序。通过学习,学生可以设计和开发包含Web页面的简单Web应用程序,该应用程序可以在浏览器中执行。本章介绍了多页面Web站点,并介绍了验证控件和状态管理。

  第10章  “数据库应用程序” 介绍了ADO.NET,它是Microsoft公司用于访问数据库数据的最新技术。本章中介绍了如何创建绑定源、表适配器以及数据集。示例程序中包含了从Windows窗体和Web窗体中访问数据的方法。学生将学会把数据表绑定到数据网格以及把单个数据字段绑定到控件上的方法,如绑定到标签和文本框控件上。LINQ用于查询系统进程。

  第11章  “数据文件” 描述了数据文件处理的VB面向对象技术。学生将学会使用My对象和使用流来保存和读取少量数据。StreamWriter 和StreamReader对象用于存储和重新载入组合框中的内容。

  第12章  “OOP:创建面向对象的程序” 解释了更多有关面向对象编程的理论。虽然自第1章以来就使用了面向对象的概念,但直到本章才全面了解了面向对象的术语和应用程序。继承包含了可视化对象(窗体)及对现有类的扩展。示例程序很简单,是一个介绍性的类。

  第13章  “图形、动画、声音以及拖放技术” 包含了GDI+的类和方法。本章中包含了用于绘制形状和线条的图形对象、画笔以及画刷对象。动画由Timer控件和移动控件的SetBounds方法来完成。My.Computer.Audio.Play用于产生声音,拖放事件则用于将文本框中的内容转移到列表框中或转移到图像中。

  第14章  “VB的附加主题” 介绍了很多VB的高级主题。本章中包含了使用Error Provider验证用户输入以及控件的Validating事件。学生将学习使用多文档界面(MDI)来创建应用程序,并使用ToolStrip和StatusStrip控件创建工具栏和状态栏,以及使用WebBrowser控件在Windows窗体中添加Web内容。本章还介绍了代码片断特性。本章最后介绍了使用新的XML字面量和使用LINQ来读写XML文本文件。

  附录  提供了重要的附加资料。附录A包含了所有练习题的答案。附录B包含了数学、字符串处理以及日期处理的方法和函数。在OOP编程风格中,大多数原来使用函数完成的操作现在都可以使用数学类和字符串类的方法来完成。附录C介绍如何精通Visual Studio环境,它基于.NET IDE,本附录还介绍了如何使用对齐线进行窗体设计。附录D讨论了基于Windows和Web程序设计的安全问题。

致谢

  有许多人为本书的编写和出版付出了辛勤的劳动。感谢我们的编辑Scott Davidson和Alaina Grayson,也要感谢参与本书出版工作的很多人,包括Marlena Pechan、Becky Komro以及Betsy Blumenthal。

  我们也非常感谢Mt. San Antonio学院的Theresa Berry和Rose State学院的Peter van der Goes对本书全面、专业的审阅,以及他们提出的有建设性的意见和有价值的建议。我们还要感谢Mesa Community学院的Brenda Nielsen,她制作了与本书内容相关的所有PowerPoint演示文件。同时也要感谢Theresa Berry,他负责教师手册和测试库。最重要的还要感谢Dennis和Richard在这段漫长的日子里以及每天繁忙的电话中对我们的支持和理解。

作者的话

  进行VB的教学和程序设计工作是我们的乐趣所在。我们希望大家在阅读本书的过程中也能体会到这种乐趣,并享受学习或教授这门杰出的编程语言所带来的乐趣。

  Julia Case Bradley

  Anita C. Millspaugh

  

  

  

  

  

  

  致  读  者

  学习VB程序最好的方法就是实践。如果您输入并运行一个项目实例,就已经开始了编写应用程序的旅程。只阅读实例代码而不试着运行,那只是学习数学或者外语的方法。输入项目代码,遇到问题,在MSDN这个博大的帮助库中寻找答案,最后再运行项目。

安装VB

  要运行本书中的程序,需要安装.NET Framework、VB以及MSDN(Microsoft Developers Network)库,该库包含了所有帮助文档和很多指导文章。无须安装C++或者C#。

  可以从站点msdn.microsoft.com/express上下载VB速成版和Visual Web Developer。使用这两个产品,可以完成本书中的大多数练习。

VB语句的格式

  VB语句、方法以及函数都按照如下字体编写。可选项应写在方括号[]中。用花括号和竖线表示需要进行二选一操作的两个值:{A值|B值}。

  示例:

     Const Identifier [As Datatype] = Value

     Do {While | Until} Condition

  在学习本书的过程中,可能会看到很多VB语句或者方法的可选项。通常而言,这些可选项包含了相应章节所涉及的内容。如果您想了解语句的完整形式或方法的所有版本,请参见帮助。

  

  J.C.B.

  A.C.M.