编辑推荐
微软认证程序开发专家(MCAD) Bryan全新作品
清华经典红皮书 全面升级至第8版
Visual Studio 2015 百科全书
本书面向编程新手
一本书从入门到精通Visual Basic 2015
内容简介
循序渐进的Visual Studio 2015新手入门指引
Visual Basic具有通用、可视化和易用特点,是理想的初学者语言。 Visual Basic 2015入门经典(第8版) 面向编程新手,通过详明的步骤清晰讲解各个知识点,可帮助初学者快速上手;还全面介绍Visual Studio的新功能,以帮助精简工作流程。本书首先介绍入门知识为你掌握重要编程技能奠定坚实基础,此后更进一步简要讨论ASP.NET、SQL Server、ADO.NET和XML。本书通俗易懂,详尽诠释编程技术,列举大量动手练习,不需要读者拥有任何编程经验。
主要内容
◆ 介绍Visual Basic的安装以及用于创建简单应用程序的工具和界面
◆ 讲述.NET框架以及编写Windows或Web软件的基础知识
◆ 给出如何使用数据结构、对话框和菜单等的专业提示
◆ 使用SQL Server和ADO.NET访问数据和开发数据库项目
◆ 使用ASP.NET分步开发Web应用程序和网站
◆ 各种调试和处理不同类型错误的方法
作者简介
Bryan Newsome,领导一个由开发人员组成的团队,致力于微软解决方案。自从开始建立Visual Basic 5 解决方案以来,他掌握了Visual Basic 的每个新版本,目前创建的所有新解决方案都利用了.NET 平台和VB.NET。他为客户提供解决方案,并时刻关注微软的新技术。Bryan 是Visual Basic .NET 方面的微软认证程序开发专家(MCAD)。
内页插图
目录
第1章 初识Visual Basic 2015 1
1.1 事件驱动编程 2
1.2 安装Visual Basic 2015 3
1.3 Visual Basic 2015集成开发环境 4
1.3.1 配置启动页面 4
1.3.2 菜单 6
1.3.3 工具栏 6
1.4 创建简单的应用程序 7
1.4.1 工具箱 10
1.4.2 改进型匈牙利表示法 13
1.4.3 代码编辑器 14
1.5 使用帮助系统 17
1.6 小结 18
第2章 .NET Framework概述 19
2.1 .NET理念 19
2.1.1 .NET与Java有些类似 20
2.1.2 现在所处的阶段 20
2.2 为Windows编写软件 21
2.2.1 .NET Framework类 21
2.2.2 执行代码 22
2.3 公共语言运行时 23
2.3.1 载入并执行代码 24
2.3.2 应用程序隔离 24
2.3.3 安全性 24
2.3.4 互操作 25
2.3.5 异常处理 25
2.4 通用类型系统和
公共语言规范 25
2.5 小结 26
第3章 编写软件 27
3.1 信息和数据 27
3.1.1 算法 27
3.1.2 什么是编程语言 28
3.2 使用变量 29
3.3 注释和空白 32
3.3.1 注释 32
3.3.2 空白 33
3.4 数据类型 33
3.4.1 使用数字 34
3.4.2 常见的整型数学运算 34
3.4.3 整型运算的缩写方式 37
3.4.4 有关整型运算的问题 38
3.4.5 浮点型数学运算 38
3.4.6 使用字符串 41
3.4.7 使用日期 48
3.4.8 布尔类型 54
3.5 存储变量 54
3.5.1 二进制 55
3.5.2 位和字节 55
3.5.3 值的表示 56
3.5.4 值的转换 57
3.6 方法 58
3.6.1 使用方法的原因 59
3.6.2 前面曾介绍过的方法 59
3.6.3 创建方法 62
3.6.4 选择方法名称 65
3.6.5 作用域 66
3.7 小结 68
第4章 流程控制 69
4.1 做出决策 69
4.2 If语句 70
4.2.1 Else语句 72
4.2.2 可进行多重选择的ElseIf语句 72
4.2.3 嵌套的If语句 74
4.2.4 单行If语句 74
4.2.5 比较运算符 74
4.2.6 字符串比较 83
4.3 Select Case语句 84
4.3.1 不区分大小写的Select Case语句 88
4.3.2 多重选择 90
4.3.3 Case Else语句 91
4.3.4 Select Case中的不同数据类型 92
4.4 循环 92
4.4.1 For…Next 循环 92
4.4.2 Do…Loop循环 98
4.4.3 嵌套循环 102
4.4.4 提前退出循环 104
4.4.5 退出Do…Loop循环 105
4.4.6 无限循环 106
4.5 小结 107
第5章 处理数据结构 109
5.1 数组 109
5.1.1 定义和使用数组 110
5.1.2 使用For Each…Next循环 113
5.1.3 将数组作为参数传递 115
5.1.4 数组的排序 117
5.1.5 反向检索 118
5.1.6 用值初始化数组 119
5.2 枚举 120
5.2.1 使用枚举 121
5.2.2 确定状态 124
5.2.3 设置无效值 126
5.3 常量 127
5.3.1 使用常量 127
5.3.2 各种常量类型 129
5.4 结构 129
5.4.1 创建结构 130
5.4.2 为结构添加属性 133
5.5 ArrayList 134
5.5.1 使用ArrayList 134
5.5.2 在ArrayList中进行删除操作 138
5.5.3 显示ArrayList中的项 141
5.6 集合 142
5.6.1 创建CustomerCollection类 143
5.6.2 添加Item属性 145
5.7 使用HashTable创建查找表 146
5.7.1 使用HashTable 146
5.7.2 Remove、RemoveAt和
Clear方法 150
5.7.3 区分大小写 152
5.8 高级数组操作 153
5.8.1 动态数组 154
5.8.2 使用Preserve关键字 156
5.9 小结 156
第6章 构建Windows应用程序 159
6.1 响应事件 159
6.2 统计字符 163
6.3 统计单词 166
6.4 创建更复杂的应用程序 169
6.5 创建工具栏 170
6.6 创建状态栏 173
6.7 创建编辑框 173
6.8 清除编辑框 174
6.9 响应工具栏按钮 176
6.10 使用多个窗体 179
6.11 About对话框 179
6.12 小结 182
第7章 显示对话框 185
7.1 MessageBox对话框 185
7.1.1 MessageBox中的可用图标 186
7.1.2 MessageBox中的可用按钮 186
7.1.3 设置默认按钮 187
7.1.4 其他选项 187
7.1.5 Show方法的语法 187
7.1.6 MessageBox的示例 189
7.2 OpenFileDialog控件 192
7.2.1 OpenFileDialog控件 192
7.2.2 OpenFileDialog的属性 193
7.2.3 OpenFileDialog的方法 194
7.2.4 使用OpenFileDialog控件 195
7.3 SaveFileDialog控件 199
7.3.1 SaveFileDialog的属性 199
7.3.2 SaveFileDialog的方法 200
7.3.3 使用SaveFileDialog控件 200
7.4 FontDialog控件 203
7.4.1 FontDialog的属性 203
7.4.2 FontDialog的方法 204
7.4.3 使用FontDialog控件 204
7.5 ColorDialog控件 206
7.5.1 ColorDialog的属性 207
7.5.2 使用ColorDialog控件 208
7.6 PrintDialog控件 209
7.6.1 PrintDialog的属性 210
7.6.2 使用PrintDialog控件 210
7.6.3 PrintDocument类 210
7.6.4 打印文档 211
7.7 FolderBrowserDialog控件 217
7.7.1 FolderBrowserDialog控件的属性 217
7.7.2 使用FolderBrowserDialog控件 218
7.8 小结 220
第8章 创建菜单 223
8.1 菜单功能概述 223
8.1.1 图像 223
8.1.2 访问键 224
8.1.3 快捷键 224
8.1.4 复选标记 224
8.1.5 Properties窗格 225
8.2 创建菜单 226
8.2.1 设计菜单 226
8.2.2 添加工具栏和控件 228
8.2.3 为菜单编写代码 229
8.2.4 为View菜单和工具栏编写代码 233
8.2.5 测试代码 234
8.3 上下文菜单 237
8.3.1 创建上下文菜单 237
8.3.2 启用或禁用菜单项和工具栏按钮 240
8.4 小结 244
第9章 调试和错误处理 245
9.1 主要错误类型 245
9.1.1 语法错误 246
9.1.2 执行错误 249
9.1.3 逻辑错误 249
9.2 调试 250
9.2.1 创建示例项目 251
9.2.2 设置断点 265
9.2.3 使用Watch窗口和QuickWatch对话框进行调试 272
9.2.4 使用Autos窗口进行调试 274
9.2.5 使用Locals窗口进行调试 274
9.3 错误处理 275
9.4 使用结构化错误处理 276
9.5 小结 278
第10章 构建对象 281
10.1 对象的概念 281
10.1.1 封装 282
10.1.2 方法和属性 282
10.1.3 事件 283
10.1.4 可见性 283
10.1.5 类的概念 284
10.2 构建类 284
10.3 重用性 285
10.4 设计对象 286
10.4.1 状态 286
10.4.2 行为 287
10.4.3 存储状态 287
10.4.4 属性 290
10.4.5 读/写属性 292
10.4.6 自实现属性 295
10.4.7 IsMoving方法 295
10.5 构造函数 297
10.6 继承 299
10.6.1 添加新方法和属性 300
10.6.2 添加GetPowerToWeightRatio方法 302
10.6.3 改变默认值 304
10.6.4 多态性:可怕的单词,简单的概念 305
10.6.5 重写更多的方法 306
10.6.6 从对象类中继承 308
10.7 对象和结构 308
10.8 框架类 308
10.8.1 名称空间 309
10.8.2 Imports语句 310
10.8.3 创建自己的名称空间 311
10.8.4 .NET Framework中的继承 314
10.9 小结 314
第11章 面向对象的高级技术 317
11.1 构建收藏页浏览应用程序 317
11.1.1 Internet快捷方式和收藏页 317
11.1.2 使用类 320
11.1.3 遍历收藏页 325
11.1.4 查看收藏页 332
11.2 另一个收藏页浏览应用程序 334
11.2.1 构建收藏页的系统托盘图标 334
11.2.2 显示收藏页 335
11.3 使用共享属性和方法 339
11.3.1 使用共享属性 339
11.3.2 使用共享方法 344
11.4 理解面向对象编程和内存管理 345
11.4.1 垃圾回收 346
11.4.2 释放资源 346
11.4.3 整理碎片和压缩 347
11.5 小结 348
第12章 使用结构化查询语句访问数据库 351
12.1 完成本章练习所需要掌握的知识 351
12.2 什么是数据库 352
12.2.1 数据库表 353
12.2.2 主键和外键 357
12.2.3 查询 359
12.3 理解基本的SQL语法 360
12.3.1 使用SELECT语句 360
12.3.2 使用JOIN语句 361
12.3.3 使用UPDATE语句 363
12.3.4 使用DELETE语句 363
12.3.5 使用INSERT语句 364
12.3.6 使用SQL注释 364
12.4 在SQL Server中执行查询 365
12.5 小结 368
第13章 使用SQL Server和ADO.NET进行数据库编程 371
13.1 ADO.NET 372
13.2 ADO.NET数据名称空间 372
13.2.1 SqlConnection类 373
13.2.2 使用连接字符串参数 373
13.2.3 打开和关闭连接 374
13.2.4 SqlCommand类 374
13.2.5 SqlDataAdapter类 376
13.2.6 DataSet类 380
13.2.7 DataView类 380
13.3 使用ADO.NET类 382
13.4 数据绑定 391
13.4.1 BindingContext和CurrencyManager对象 391
13.4.2 绑定控件 392
13.4.3 绑定示例 393
13.5 小结 418
第14章 ASP.NET 421
14.1 瘦客户端体系结构 421
14.2 Web窗体和Windows窗体的比较 422
14.2.1 Windows窗体的优点 422
14.2.2 Web窗体的优点 423
14.3 Web应用程序基础 423
14.3.1 Web服务器 423
14.3.2 浏览器 424
14.3.3 超文本标记语言 424
14.3.4 JavaScript 424
14.3.5 CSS 425
14.4 关于ASP页面 425
14.4.1 ASP.NET Web页面的优点 425
14.4.2 特殊的Web站点文件 425
14.4.3 开发方式 426
14.4.4 工具箱 426
14.5 构建Web应用程序 426
14.5.1 为客户端和服务器端处理创建Web窗体 427
14.5.2 Visual Studio 2015中Web站点的位置 431
14.5.3 数据的输入和验证 433
14.5.4 使用GridView构建数据驱动的Web窗体 441
14.6 小结 445
第15章 部署应用程序 447
15.1 什么是部署 447
15.1.1 ClickOnce部署 448
15.1.2 XCOPY部署 452
15.2 Visual Studio 2015安装程序选项 453
15.3 部署不同的解决方案 453
15.3.1 私有程序集 453
15.3.2 共享程序集 454
15.3.3 部署桌面应用程序 455
15.3.4 部署Web应用程序 455
15.3.5 部署XML Web服务 455
15.3.6 一些有用的工具 455
15.4 小结 456
第16章 Windows 8应用程序 457
16.1 Windows 8应用程序的设计原则 457
16.1.1 使用触摸 458
16.1.2 应用程序命令 458
16.1.3 Windows 8控件 460
16.1.4 用XAML编写Windows 8应用程序 460
16.1.5 创建第一个Windows 8应用程序 461
16.2 应用程序布局 474
16.2.1 应用程序视图 474
16.2.2 屏幕大小和方向 474
16.3 小结 479
附录A 练习题答案 481
前言/序言
《C++ Primer Plus(第6版)》:一本扎实的C++编程入门与进阶指南 引言 在软件开发的广阔天地中,C++语言以其强大的性能、灵活的内存控制以及跨平台的特性,一直占据着举足轻重的地位。从系统底层开发到高性能游戏引擎,从嵌入式系统到大型企业级应用,C++的身影无处不在。对于渴望掌握这门强大语言的开发者而言,一本优秀的书籍是必不可少的引路者。《C++ Primer Plus(第6版)》正是这样一本集权威性、系统性、实用性于一身的经典之作,它能够带领读者从零开始,一步步深入理解C++的精髓,并为未来的深入学习和实际项目开发打下坚实的基础。 内容概述 《C++ Primer Plus(第6版)》是一本面向初学者和有一定编程经验的开发者的综合性C++教程。本书的内容设计严谨,循序渐进,涵盖了C++语言的方方面面,从最基本的语法概念到复杂的面向对象特性,再到更高级的主题,都进行了详尽而清晰的阐述。 第一部分:C++编程基础 本书的开篇,将带领读者认识C++这门语言,理解其发展历程、核心理念以及在现代软件开发中的作用。随后,将从最基础的编程概念入手,例如: 程序的结构与运行: 介绍C++程序的组织方式,包括头文件、函数、语句等基本组成部分,以及如何编译、链接和运行一个C++程序。 基本数据类型与变量: 深入讲解C++中内置的基本数据类型,如整型(`int`)、浮点型(`float`、`double`)、字符型(`char`)等,以及如何声明和使用变量来存储和操作数据。 运算符与表达式: 详尽介绍算术运算符、关系运算符、逻辑运算符、位运算符等,以及它们在构建表达式中的应用,理解表达式的求值过程。 控制流程语句: 学习如何使用条件语句(`if`、`else if`、`else`、`switch`)来控制程序的执行路径,以及使用循环语句(`for`、`while`、`do-while`)来重复执行代码块。 函数: 理解函数的作用,如何定义和调用函数,参数传递的方式(值传递、引用传递),以及函数的返回值。函数是实现模块化编程的关键,本书将深入讲解其设计和使用。 第二部分:面向对象编程(OOP)的基石 C++的核心竞争力之一在于其强大的面向对象特性。《C++ Primer Plus(第6版)》将花费大量篇幅,系统地介绍面向对象编程的四大基本概念,并结合丰富的示例进行讲解: 类与对象: 深入理解类(Class)作为蓝图的概念,以及对象(Object)作为类的实例。学习如何定义类,包括数据成员(属性)和成员函数(方法),并理解访问控制(`public`、`private`、`protected`)的重要性。 封装: 强调将数据和操作数据的方法捆绑在一起,隐藏内部实现细节,只对外暴露必要的接口。这有助于提高代码的安全性和可维护性。 继承: 学习如何创建新的类(派生类)来继承现有类(基类)的属性和方法。理解不同类型的继承(公有继承、保护继承、私有继承),以及多重继承带来的复杂性。 多态: 探讨在运行时根据对象的实际类型调用相应方法的机制。详细介绍虚函数(`virtual`)和纯虚函数(`pure virtual`)的概念,理解静态联编和动态联编的区别。 第三部分:深入C++特性 在掌握了面向对象的基础后,本书将带领读者进一步探索C++更高级、更强大的特性: 构造函数与析构函数: 学习如何使用构造函数来初始化对象,以及如何使用析构函数来释放对象所占用的资源。理解默认构造函数、参数化构造函数、拷贝构造函数以及拷贝赋值运算符。 运算符重载: 学习如何为自定义类型赋予标准运算符的行为,使得代码更加直观和易读。例如,重载加法运算符来实现两个自定义对象的相加。 模板: 掌握泛型编程的思想,使用函数模板和类模板来编写能够处理多种数据类型的通用代码,极大地提高了代码的复用性。 异常处理: 学习如何使用`try-catch`块来处理程序运行时可能出现的错误,确保程序的健壮性,避免程序崩溃。 标准模板库(STL): 介绍STL的核心组件,包括容器(如`vector`、`list`、`map`、`set`)、算法(如排序、查找、遍历)和迭代器。STL是C++开发效率的巨大提升,本书将对其进行详细的讲解和演示。 内存管理: 深入理解C++的内存模型,包括栈(Stack)和堆(Heap)。学习如何使用`new`和`delete`运算符进行动态内存分配和释放,以及如何避免内存泄漏等常见问题。 智能指针: 介绍C++11引入的智能指针(如`unique_ptr`、`shared_ptr`、`weak_ptr`),它们能够自动化内存管理,显著减少手动内存管理的负担和错误。 文件I/O: 学习如何使用C++的流库(``)来读写文件,实现数据的持久化存储。 第四部分:进阶主题与实践 为了帮助读者构建更复杂、更强大的应用程序,本书还将涉及一些进阶主题: C++11/14/17新特性: 介绍C++语言近年来引入的重要新特性,如Lambda表达式、右值引用、自动类型推导(`auto`)、范围for循环等,这些新特性极大地提升了C++的表达能力和开发效率。 构建工具与调试: 简要介绍常见的C++构建工具(如Makefile、CMake)以及如何使用调试器来定位和修复代码中的错误。 面向对象设计原则: 探讨一些面向对象设计的原则(如SOLID原则),帮助读者写出更易于扩展、维护和理解的代码。 实战项目示例: 书中穿插了大量的小型项目和练习,例如实现一个简单的计算器、管理系统、图形界面应用等,让读者在实践中巩固所学知识。 特点与优势 《C++ Primer Plus(第6版)》之所以能够成为经典,得益于其诸多突出优点: 循序渐进的教学方法: 本书结构清晰,内容组织合理,从易到难,逐步深入,确保读者能够一步一个脚印地掌握C++的知识。 丰富的代码示例: 书中包含了大量精心设计的代码示例,这些示例不仅能够清晰地演示概念,而且经过实际验证,可以直接用于学习和参考。 详尽的解释与说明: 对于每一个概念,本书都进行了深入浅出的解释,并辅以必要的理论背景和原理说明,让读者知其然,更知其所以然。 高质量的练习题: 每章都配有数量可观的课后习题,涵盖了从基础概念巩固到综合应用能力的提升,能够有效检验读者的学习成果。 面向实际应用: 本书的内容设计不仅侧重于语言本身的语法特性,更注重将这些特性应用于实际的项目开发中,帮助读者理解如何在真实场景中运用C++。 对C++标准的更新: 第6版全面更新,融入了C++11、C++14和C++17的部分重要新特性,确保内容的时效性。 优秀的翻译质量: (如果引用的是中文版)优秀的翻译确保了技术术语的准确传达和阅读的流畅性。 适用人群 零基础的编程初学者: 如果您从未接触过编程,或者对C++有浓厚的兴趣,本书是开启您C++编程之旅的绝佳选择。 其他语言的开发者: 如果您已经掌握了其他编程语言,并希望学习C++,本书能够帮助您快速理解C++的独特之处。 希望深入理解C++的程序员: 即使您已经有一些C++使用经验,本书也能为您提供更系统、更深入的知识,帮助您成为更优秀的C++开发者。 计算机科学专业的学生: 本书是学习C++语言的理想教材,能够帮助学生打下坚实的理论基础。 总结 《C++ Primer Plus(第6版)》是一本真正意义上的“经典”,它不仅仅是一本技术书籍,更是一份通往C++世界的完整地图。通过认真研读本书,您将不仅学会C++的语法,更将领悟其设计哲学,掌握构建高效、健壮、可维护的软件应用程序的核心技能。无论您是想成为一名游戏开发者、系统工程师,还是希望在嵌入式领域大展拳脚,扎实的C++功底都是您成功的基石。《C++ Primer Plus(第6版)》将是您在这条道路上最值得信赖的伙伴。