Windows.环境下32位汇编语言程序设计(第2版)扫描版带书签2/2


-
目录 第1篇 基础篇 1 第1章 背景知识 2 1.1Win32的软硬件平台 2 1.1.1 80x86系列处理器简史 2 1.1.2 Windows的历史 4 1.1.3 Win32平台的背后——Wintel联盟 6 1.2Windows的特色 6 1.3必须了解的东西 7 1.3.1 80x86处理器的工作模式 7 1.3.2 Windows的内存管理 9 1.3.3 Windows的特权保护 17 第2章 准备编程环境 21 2.1Win32可执行文件的开发过程 21 2.2编译器和链接器 23 2.2.1 MASM系列 23 2.2.2 TASM系列 26 2.2.3 其他编译器 27 2.2.4 MASM,TASM还是NASM 28 2.2.5 我们的选择——MASM32软件包 29 2.3创建资源 31 2.3.1 资源编译器的使用 31 2.3.2 所见即所得的资源编辑器 31 2.4make工具的用法 33 2.4.1 make工具是什么 33 2.4.2 nmake的用法 34 2.4.3 描述文件的语法 35 2.5获取资料 39 2.5.1 Windows资料的来源 39 2.5.2 Intel处理器资料 41 2.6构建编程环境 41 2.6.1 IDE还是命令行 41 2.6.2 本书推荐的工作环境 42 2.6.3 尝试编译第一个程序 43 第3章 使用MASM 45 3.1Win32汇编源程序的结构 45 3.1.1 模式定义 47 3.1.2 段的定义 49 3.1.3 程序结束和程序入口 52 3.1.4 注释和换行 52 3.2调用API 53 3.2.1 API是什么 53 3.2.2 调用API 54 3.2.3 API参数中的等值定义 59 3.3标号、变量和数据结构 61 3.3.1 标号 61 3.3.2 全局变量 63 3.3.3 局部变量 64 3.3.4 数据结构 67 3.3.5 变量的使用 69 3.4使用子程序 73 3.4.1 子程序的定义 74 3.4.2 参数传递和堆栈平衡 75 3.5高级语法 78 3.5.1 条件测试语句 78 3.5.2 分支语句 80 3.5.3 循环语句 82 3.6代码风格 84 3.6.1 变量和函数的命名 84 3.6.2 代码的书写格式 86 3.6.3 代码的组织 87 第2篇 初级篇 89 第4章 第一个窗口程序 90 4.1开始了解窗口 90 4.1.1 窗口是什么 90 4.1.2 窗口界面 91 4.1.3 窗口程序是怎么工作的 92 4.2分析窗口程序 99 4.2.1 模块和句柄 99 4.2.2 创建窗口 101 4.2.3 消息循环 107 4.2.4 窗口过程 109 4.3窗口间的通信 114 4.3.1 窗口间的消息互发 114 4.3.2 在窗口间传递数据 117 4.3.3 SendMessage和PostMessage函数的区别 118 第5章 使用资源 119 5.1菜单和加速键 119 5.1.1 菜单和加速键的组成 119 5.1.2 菜单和加速键的资源定义 120 5.1.3 使用菜单和加速键 125 5.2图标和光标 138 5.2.1 图标和光标的资源定义 138 5.2.2 使用图标和光标 139 5.3位图 143 5.3.1 位图简介 143 5.3.2 在资源中定义位图 144 5.4对话框 144 5.4.1 对话框简介 144 5.4.2 对话框的资源定义 146 5.4.3 使用对话框 148 5.4.4 在对话框中使用子窗口控件 151 5.5字符串资源 173 5.6版本信息资源 174 5.6.1 版本信息资源的定义 175 5.6.2 在程序中检测版本信息 177 5.7二进制资源和自定义资源 178 5.7.1 使用二进制资源 178 5.7.2 使用自定义资源 179 第6章 定时器和Windows时间 181 6.1定时器 181 6.1.1 定时器简介 181 6.1.2 定时器的使用方法 182 6.2Windows时间 186 6.2.1 Windows时间的获取和设置 186 6.2.2 计算时间间隔 187 第7章 图形操作 189 7.1GDI原理 189 7.1.1 GDI程序的结构 190 7.1.2 设备环境 193 7.1.3 色彩和坐标 199 7.2绘制图形 201 7.2.1 画笔和画刷 209 7.2.2 绘制像素点 212 7.2.3 绘制图形 212 7.2.
-
2015-01-12
2KB
用C编写的Dijkstra算法
2012-06-03学习网络时最短路径路由的用C编写的Dijkstra算法
92.73MB
汇编语言程序设计.[美]Richard Blum(带详细书签).pdf
2019-01-28每种高级语言程序在连接为可执行程序之前,都必须被编译为汇编语言程序,因此对于高级语言程序设计者来说,了解编译器如何生成汇编语言代码十分有用。 本书分为三部分。第一部分讲解汇编语言程序设计环境基础,第二部分研究汇编语言程序设计,最后一部分讲解高级汇编语言技术。本书的主要目的是向使用高级语言的程序员讲解编译器如何从C和C++程序创建汇编语言例程,以及编程人员应如何掌握生成的汇编语言代码,调整汇编语言例程以提高应用程序的性能。 本书适合有一定编程经验的开发人员参考。 本书主要内容: ● 查看高级语言程序生成的汇编语言代码的好处; ● 如何为Linux奔腾处理器环境创建独立的汇编语言程序; ● 如何将高级函数和库整合到汇编语言程序中; ● 如何将汇编语言例程整合到C和C++应用程序中; ● 如何在汇编语言程序中使用Linux系统调用; ● 如何在应用程序中使用奔腾处理器的MMX和SSE功能。 第一部分 汇编语言程序设计环境基础 1 第1章 什么是汇编语言 1 1.1 处理器指令 1 1.1.1 指令码处理 1 1.1.2 指令码格式 2 1.2 高级语言 5 1.2.1 高级语言的种类 5 1.2.2 高级语言的特性 7 1.3 汇编语言 8 1.3.1 操作码助记符 8 1.3.2 定义数据 9 1.3.3 命令 11 1.4 小结 11 第2章 IA-32平台 13 2.1 IA-32处理器的核心部分 13 2.1.1 控制单元 14 2.1.2 执行单元 18 2.1.3 寄存器 19 2.1.4 标志 21 2.2 IA-32的高级特性 23 2.2.1 x87浮点单元 23 2.2.2 多媒体扩展 24 2.2.3 流化SIMD扩展 24 2.2.4 超线程 25 2.3 IA-32处理器系列 25 2.3.1 Intel处理器 25 2.3.2 非Intel处理器 26 2.4 小结 27 第3章 相关的工具 29 3.1 开发工具 29 3.1.1 汇编器 29 3.1.2 连接器 31 3.1.3 调试器 31 3.1.4 编译器 32 3.1.5 目标代码反汇编器 32 3.1.6 简档器 33 3.2 GNU汇编器 33 3.2.1 安装汇编器 33 3.2.2 使用汇编器 35 3.2.3 关于操作码语法 36 3.3 GNU连接器 37 3.4 GNU编译器 39 3.4.1 下载和安装gcc 39 3.4.2 使用gcc 40 3.5 GNU调试器程序 42 3.5.1 下载和安装gdb 42 3.5.2 使用gdb 42 3.6 KDE调试器 44 3.6.1 下载和安装kdbg 44 3.6.2 使用kdbg 45 3.7 GNU objdump程序 46 3.7.1 使用objdump 46 3.7.2 objdump范例 47 3.8 GNU简档器程序 48 3.8.1 使用简档器 48 3.8.2 简档范例 50 3.9 完整的汇编开发系统 51 3.9.1 Linux基础 51 3.9.2 下载和运行MEPIS 52 3.9.3 新的开发系统 53 3.10 小结 53 第4章 汇编语言程序范例 55 4.1 程序的组成 55 4.1.1 定义段 55 4.1.2 定义起始点 55 4.2 创建简单程序 56 4.2.1 CPUID指令 56 4.2.2 范例程序 58 4.2.3 构建可执行程序 60 4.2.4 运行可执行程序 60 4.2.5 使用编译器进行汇编 60 4.3 调试程序 61 4.4 在汇编语言中使用C库函数 65 4.4.1 使用printf 66 4.4.2 连接C库函数 67 4.5 小结 68 第二部分 汇编语言程序设计基础 71 第5章 传送数据 71 5.1 定义数据元素 71 5.1.1 数据段 71 5.1.2 定义静态符号 73 5.1.3 bss段 73 5.2 传送数据元素 75 5.2.1 MOV指令格式 75 5.2.2 把立即数传送到寄存器和内存 76 5.2.3 在寄存器之间传送数据 77 5.2.4 在内存和寄存器之间传送数据 77 5.3 条件传送指令 83 5.3.1 CMOV指令 83 5.3.2 使用CMOV指令 85 5.4 交换数据 86 5.4.1 数据交换指令 87 5.4.2 使用数据交换指令 91 5.5 堆栈 93 5.5.1 堆栈如何工作 93 5.5.2 压入和弹出数据 94 5.5.3 压入和弹出所有寄存器 96 5.5.4 手动使用ESP和EBP寄存器 97 5.6 优化内存访问 97 5.7 小结 98 第6章 控制执行流程 99 6.1 指令指针 99 6.2 无条件分支 100 6.2.1 跳转 100 6.2.2 调用 103 6.2.3 中断 106 6.3 条件分支 106 6.3.1 条件跳转指令 106 6.3.2 比较指令 108 6.3.3 使用标志位的范例 109 6.4 循环 112 6.4.1 循环指令 112 6.4.2 循环范例 113 6.4.3 防止LOOP灾难 113 6.5 模仿高级条件分支 114 6.5.1 if语句 115 6.5.2 for循环 118 6.6 优化分支指令 120 6.6.1 分支预测 120 6.6.2 优化技巧 122 6.7 小结 124 第7章 使用数字 126 7.1 数字数据类型 126 7.2 整数 127 7.2.1 标准整数长度 127 7.2.2 无符号整数 128 7.2.3 带符号整数 129 7.2.4 使用带符号整数 131 7.2.5 扩展整数 131 7.2.6 在GNU汇编器中定义整数 134 7.3 SIMD整数 135 7.3.1 MMX整数 136 7.3.2 传送MMX整数 136 7.3.3 SSE整数 137 7.3.4 传送SSE整数 138 7.4 二进制编码的十进制 139 7.4.1 BCD是什么 140 7.4.2 FPU BCD值 140 7.4.3 传送BCD值 141 7.5 浮点数 142 7.5.1 浮点数是什么 143 7.5.2 标准浮点数据类型 144 7.5.3 IA-32浮点值 146 7.5.4 在GNU汇编器中定义浮点值 146 7.5.5 传送浮点值 146 7.5.6 使用预置的浮点值 148 7.5.7 SSE浮点数据类型 149 7.5.8 传送SSE浮点值 150 7.6 转换 153 7.6.1 转换指令 154 7.6.2 转换范例 154 7.7 小结 155 第8章 基本数学功能 157 8.1 整数运算 157 8.1.1 加法 157 8.1.2 减法 165 8.1.3 递增和递减 169 8.1.4 乘法 169 8.1.5 除法 173 8.2 移位指令 175 8.2.1 移位乘法 175 8.2.2 移位除法 177 8.2.3 循环移位 178 8.3 十进制运算 178 8.3.1 不打包BCD的运算 178 8.3.2 打包BCD的运算 180 8.4 逻辑操作 181 8.4.1 布尔逻辑 182 8.4.2 位测试 182 8.5 小结 183 第9章 高级数学功能 185 9.1 FPU环境 185 9.1.1 FPU寄存器堆栈 185 9.1.2 FPU状态、控制和标记寄存器 185 9.1.3 使用FPU堆栈 190 9.2 基本浮点运算 193 9.3 高级浮点运算 196 9.3.1 浮点功能 196 9.3.2 部分余数 199 9.3.3 三角函数 201 9.3.4 对数函数 203 9.4 浮点条件分支 205 9.4.1 FCOM指令系列 205 9.4.2 FCOMI指令系列 207 9.4.3 FCMOV指令系列 208 9.5 保存和恢复FPU状态 209 9.5.1 保存和恢复FPU环境 209 9.5.2 保存和恢复FPU状态 210 9.6 等待和非等待指令 213 9.7 优化浮点运算 213 9.8 小结 214 第10章 处理字符串 216 10.1 传送字符串 216 10.1.1 MOVS指令 216 10.1.2 REP前缀 220 10.1.3 其他REP指令 224 10.2 存储和加载字符串 225 10.2.1 LODS指令 225 10.2.2 STOS指令 225 10.2.3 构建自己的字符串函数 226 10.3 比较字符串 227 10.3.1 CMPS指令 228 10.3.2 CMPS和REP一起使用 229 10.3.3 字符串不等 230 10.4 扫描字符串 232 10.4.1 SCAS指令 232 10.4.2 搜索多个字符 233 10.4.3 计算字符串长度 235 10.5 小结 236 第11章 使用函数 237 11.1 定义函数 237 11.2 汇编函数 238 11.2.1 编写函数 239 11.2.2 访问函数 240 11.2.3 函数的放置 242 11.2.4 使用寄存器 242 11.2.5 使用全局数据 243 11.3 按照C样式传递数据值 244 11.3.1 回顾堆栈 244 11.3.2 在堆栈之中传递函数参数 244 11.3.3 函数开头和结尾 246 11.3.4 定义局部函数数据 246 11.3.5 清空堆栈 247 11.3.6 范例 248 11.3.7 在操作之中监视堆栈 249 11.4 使用独立的函数文件 252 11.4.1 创建独立的函数文件 252 11.4.2 创建可执行文件 253 11.4.3 调试独立的函数文件 254 11.5 使用命令行参数 255 11.5.1 程序剖析 255 11.5.2 分析堆栈 255 11.5.3 查看命令行参数 257 11.5.4 查看环境变量 258 11.5.5 使用命令行参数的范例 259 11.6 小结 261 第12章 使用Linux系统调用 262 12.1 Linux内核 262 12.1.1 内核组成 262 12.1.2 Linux内核版本 267 12.2 系统调用 268 12.2.1 查找系统调用 268 12.2.2 查找系统调用定义 269 12.2.3 常用系统调用 270 12.3 使用系统调用 271 12.4 复杂的系统调用返回值 275 12.4.1 sysinfo系统调用 276 12.4.2 使用返回结构 277 12.4.3 查看结果 278 12.5 跟踪系统调用 278 12.5.1 strace程序 278 12.5.2 高级strace参数 279 12.5.3 监视程序系统调用 280 12.5.4 附加到正在运行的程序 282 12.6 系统调用和C库 284 12.6.1 C库 284 12.6.2 跟踪C函数 285 12.6.3 系统调用和C库的比较 287 12.7 小结 287 第三部分 高级汇编语言技术 289 第13章 使用内联汇编 289 13.1 什么是内联汇编 289 13.2 基本的内联汇编代码 292 13.2.1 asm格式 292 13.2.2 使用全局C变量 294 13.2.3 使用volatile修饰符 296 13.2.4 使用替换的关键字 296 13.3 扩展asm 296 13.3.1 扩展asm格式 296 13.3.2 指定输入值和输出值 297 13.3.3 使用寄存器 298 13.3.4 使用占位符 299 13.3.5 引用占位符 301 13.3.6 替换的占位符 302 13.3.7 改动的寄存器列表 303 13.3.8 使用内存位置 304 13.3.9 使用浮点值 305 13.3.10 处理跳转 306 13.4 使用内联汇编代码 308 13.4.1 什么是宏 308 13.4.2 C宏函数 309 13.4.3 创建内联汇编宏函数 310 13.5 小结 311 第14章 调用汇编库 312 14.1 创建汇编函数 312 14.2 编译C和汇编程序 313 14.2.1 编译汇编源代码文件 314 14.2.2 使用汇编目标代码文件 314 14.2.3 可执行文件 315 14.3 在C程序中使用汇编函数 317 14.3.1 使用整数返回值 317 14.3.2 使用字符串返回值 318 14.3.3 使用浮点返回值 321 14.3.4 使用多个输入值 322 14.3.5 使用混合数据类型的输入值 323 14.4 在C++程序中使用汇编函数 327 14.5 创建静态库 328 14.5.1 什么是静态库 328 14.5.2 ar命令 328 14.5.3 创建静态库文件 329 14.5.4 编译静态库 331 14.6 使用共享库 331 14.6.1 什么是共享库 331 14.6.2 创建共享库 332 14.6.3 编译共享库 332 14.6.4 运行使用共享库的程序 333 14.7 调试汇编函数 334 14.7.1 调试C程序 334 14.7.2 调试汇编函数 336 14.8 小结 337 第15章 优化例程 338 15.1 优化编译器代码 338 15.1.1 编译器优化级别1 338 15.1.2 编译器优化级别2 339 15.1.3 编译器优化级别3 341 15.2 创建优化的代码 341 15.2.1 生成汇编语言代码 341 15.2.2 查看优化的代码 344 15.2.3 重新编译优化的代码 345 15.3 优化技巧 345 15.3.1 优化运算 345 15.3.2 优化变量 348 15.3.3 优化循环 352 15.3.4 优化条件分支 356 15.3.5 通用子表达式消除 361 15.4 小结 363 第16章 使用文件 365 16.1 文件处理顺序 365 16.2 打开和关闭文件 366 16.2.1 访问类型 366 16.2.2 UNIX权限 367 16.2.3 打开文件代码 368 16.2.4 打开错误返回代码 369 16.2.5 关闭文件 370 16.3 写入文件 370 16.3.1 简单的写入范例 370 16.3.2 改变文件访问模式 372 16.3.3 处理文件错误 372 16.4 读取文件 373 16.4.1 简单的读取范例 374 16.4.2 更加复杂的读取范例 375 16.5 读取、处理和写入数据 377 16.6 内存映射文件 379 16.6.1 什么是内存映射文件 379 16.6.2 mmap系统调用 380 16.6.3 mmap汇编语言格式 381 16.6.4 mmap范例 383 16.7 小结 387 第17章 使用高级IA-32特性 388 17.1 SIMD简介 388 17.1.1 MMX 388 17.1.2 SSE 389 17.1.3 SSE2 389 17.2 检测支持的SIMD操作 390 17.2.1 检测支持 390 17.2.2 SIMD特性程序 391 17.3 使用MMX指令 392 17.3.1 加载和获得打包的整数值 393 17.3.2 执行MMX操作 393 17.4 使用SSE指令 400 17.4.1 传送数据 400 17.4.2 处理数据 401 17.5 使用SSE2指令 405 17.5.1 传送数据 405 17.5.2 处理数据 406 17.6 SSE3指令 408 17.7 小结 409
22.67MB
C++语言程序设计-第4版-郑莉-高清扫描版-带完整书签
2014-05-30C++语言程序设计-第4版-郑莉-高清扫描版-带完整书签 第1章 绪论 1 1.1 计算机程序设计语言的发展 1 1.1.1 机器语言与汇编语言 1 1.1.2 高级语言 2 1.1.3 面向对象的语言 2 1.2 面向对象的方法 2 1.2.1 面向对象方法的由来 3 1.2.2 面向对象的基本概念 4 1.3 面向对象的软件开发 5 1.3.1 分析 5 1.3.2 设计 5 1.3.3 编程 6 1.3.4 测试 6 1.3.5 维护 6 1.4 信息的表示与存储 6 1.4.1 计算机的数字系统 6 1.4.2 几种进位记数制之间的转换 8 1.4.3 信息的存储单位 10 1.4.4 二进制数的编码表示 11 1.4.5 定点数和浮点数 15 1.4.6 数的表示范围 15 1.4.7 非数值信息的表示 16 1.5 程序开发的基本概念 16 1.5.1 基本术语 16 1.5.2 完整的程序过程 17 1.6 小结 18 习题 18
41.39MB
C++语言程序设计-第3版-郑莉-高清扫描版-带完整书签
2019-03-10C++语言程序设计-第3版-郑莉-高清扫描版-带完整书签 第1章 绪论 1 1.1 计算机程序设计语言的发展 1 1.1.1 机器语言与汇编语言 1 1.1.2 高级语言 2 1.1.3 面向对象的语言 2 1.2 面向对象的方法 2 1.2.1 面向对象方法的由来 3 1.2.2 面向对象的基本概念 4 1.3 面向对象的软件开发 5 1.3.1 分析 5 1.3.2 设计 5 1.3.3 编程 6 1.3.4 测试 6 1.3.5 维护 6 1.4 信息的表示与存储 6 1.4.1 计算机的数字系统 7 1.4.2 几种进位记数制之间的转换 8 1.4.3 信息的存储单位 10 1.4.4 二进制数的编码表示 11 1.4.5 定点数和浮点数 14 1.4.6 数的表示范围 15 1.4.7 非数值信息的表示 16 1.5 程序的开发过程 16 1.5.1 基本术语 16 1.5.2 程序的开发过程 17 1.6 小结 18 习题 18
56.26MB
Visual.Basic.2010.&.NET4.高级编程(第6版) 扫描版带书签 2/3
2012-11-02第I部分 语言结构和环境 第1章 visual studio 2010 3 1.1 visual studio 2010:从express到ultimate的各种版本 4 1.2 visual basic的关键字和语法 7 1.2.1 控制台应用程序 10 1.2.2 从项目模板上创建项目 11 1.2.3 solution explorer窗口 13 1.2.4 项目属性 14 1.2.5 assembly information屏幕 15 1.2.6 编译设置 16 1.2.7 调试属性 20 1.2.8 引用 21 1.2.9 资源 23 1.2.10 设置 24 1.2.11 其他项目属性选项卡 26 1.3 provb_vs2010项目 27 1.3.1 在代码中设置窗体属性 29 1.3.2 visual studio的其他组件 37 1.4 增强示例应用程序的功能 37 1.4.1 定制代码 39 1.4.2 构建应用程序 43 1.4.3 重用第一个windows窗体 50 1.5 visual studio 2010中的特色功能 51 1.5.1 构建配置 51 1.5.2 任务列表 53 1.5.3 command窗口 54 1.5.4 server explorer 54 1.5.5 在visual studio 2010中记录和使用宏 55 1.5.6 类图 57 1.5.7 应用程序生命周期管理 58 1.5.8 性能工具 60 1.6 小结 62 第2章 对象和visual basic 63 2.1 面向对象的术语 64 2.1.1 对象、类和实例 64 2.1.2 对象的组成 65 2.1.3 system.object 68 2.2 使用visual basic类型 68 2.2.1 值类型和引用类型 69 2.2.2 基本类型 71 2.3 命令:条件语句 72 2.3.1 if then 73 2.3.2 比较运算符 73 2.3.3 select case 75 2.4 值类型(结构) 75 2.4.1 布尔类型 76 2.4.2 整数类型 77 2.4.3 无符号类型 78 2.4.4 小数类型 78 2.4.5 char和byte类型 81 2.4.6 datetime类型 81 2.5 引用类型(类) 82 2.5.1 object类 82 2.5.2 string类 83 2.5.3 xml字面量 87 2.5.4 dbnull类和isdbnull()函数 89 2.6 参数传递 89 2.7 变量的作用域 91 2.8 使用对象 92 2.8.1 对象的声明和实例化 92 2.8.2 对象引用 93 2.8.3 取消对象的引用 93 2.8.4 前期绑定与后期绑定 94 2.9 数据类型转换 95 2.10 创建类 100 2.10.1 类 100 2.10.2 事件的处理 110 2.10.3 处理多个事件 111 2.10.4 withevents关键字 111 2.10.5 触发事件 111 2.10.6 声明和触发定制事件 112 2.10.7 用withevents关键字接收事件 113 2.10.8 用addhandler接收事件 115 2.10.9 构造函数方法 116 2.10.10 终止和清除 117 2.11 高级概念 118 2.11.1 重载方法 119 2.11.2 重载构造函数方法 121 2.11.3 共享方法、变量和事件 122 2.11.4 运算符重载 127 2.11.5 委托 129 2.11.6 类和组件 133 2.11.7 lambda表达式 134 2.12 小结 135 第3章 定制对象 137 3.1 继承 138 3.1.1 继承的实现 139 3.1.2 继承的层次 157 3.1.3 与基类、类及对象交互 159 3.1.4 构造函数 164 3.1.5 protected作用域 169 3.1.6 事件与继承 171 3.1.7 共享方法 174 3.1.8 共享事件 176 3.1.9 创建抽象基类 176 3.2 多接口 178 3.2.1 对象接口 178 3.2.2 辅助接口 180 3.3 抽象性 185 3.4 封装性 188 3.5 多态性 190 3.5.1 方法签名 190 3.5.2 实现多态性 191 3.6 进一步讨论继承 200 3.7 小结 211 第4章 公共语言运行库 213 4.1 .net应用程序的组成元素 214 4.1.1 模块 214 4.1.2 程序集 215 4.1.3 类型 215 4.2 版本化与部署 216 4.2.1 对版本化更好的支持 216 4.2.2 major.minor.build.revision版本介绍 217 4.2.3 更好的部署 217 4.3 跨语言集成 218 4.3.1 通用类型系统 218 4.3.2 元数据 219 4.3.3 对元数据更好的支持 219 4.3.4 属性 220 4.3.5 reflection api 222 4.4 il反汇编程序 222 4.5 内存管理 223 4.5.1 传统的垃圾回收机制 223 4.5.2 更快地为对象分配内存 230 4.5.3 垃圾回收器的优化 231 4.6 名称空间 232 4.6.1 名称空间的概念 233 4.6.2 名称空间与引用 236 4.6.3 常用的名称空间 237 4.6.4 导入名称空间并指定别名 239 4.6.5 为名称空间指定别名 240 4.6.6 在asp.net中引用名称空间 241 4.7 创建自己的名称空间 241 4.8 my关键字 244 4.8.1 my.application名称空间 244 4.8.2 my.computer名称空间 248 4.8.3 my.forms名称空间 251 4.8.4 my.resources名称空间 251 4.8.5 my.user名称空间 251 4.8.6 my.webservices名称空间 251 4.9 扩展my名称空间 252 4.10 小结 254 第5章 用visual basic进行声明式编程 255 5.1 声明式编程与visual basic 256 5.2 使用xaml创建窗口 257 5.3 xaml语法 260 5.3.1 xaml语言基础 261 5.3.2 使用xaml声明工作流 264 5.4 小结 265 第6章 异常处理和调试 267 6.1 visual studio 2010 team system的新增内容:历史调试 267 6.2 与visual basic 6兼容的注意事项 268 6.3 .net中的异常处理 268 6.4 结构化异常处理的关键字 269 6.4.1 try、catch和finally关键字 270 6.4.2 throw关键字 271 6.4.3 抛出新的异常 272 6.4.4 exit try语句 273 6.4.5 嵌套的try结构 274 6.4.6 异常属性的使用 275 6.4.7 message属性 276 6.4.8 innerexception和targetsite属性 276 6.5 与visual basic 6样式的错误处理交互操作 280 6.6 记录错误 281 6.6.1 事件日志 281 6.6.2 事件、方法和属性 282 6.6.3 写入跟踪文件 284 6.7 小结 286 第7章 测试驱动的开发 287 7.1 测试的内容和方式 288 7.2 visual studio中的tdd工具 290 7.3 单元测试过程 291 7.3.1 创建测试程序 291 7.3.2 运行测试程序 294 7.3.3 测试数据访问代码 295 7.3.4 使用generate from usage特性 302 7.4 其他visual studio版本 306 7.5 第三方测试框架 306 7.6 小结 307 第ii部分 业务对象和数据访问第8章 数组、集合和泛型 311 8.1 数组 312 8.1.1 多维数组 313 8.1.2 ubound函数 314 8.1.3 redim语句 314 8.1.4 preserve关键字 315 8.2 集合 315 8.2.1 循环语句 317 8.2.2 装箱 319 8.3 泛型 320 8.3.1 泛型的使用 321 8.3.2 nullable类型 322 8.3.3 泛型类型 323 8.3.4 泛型方法 326 8.4 创建泛型 327 8.4.1 泛型类型 328 8.4.2 泛型方法 334 8.4.3 约束 335 8.4.4 泛型和后期绑定 338 8.4.5 协变和逆变 339 8.5 小结 340 第9章 在vb中使用xml 341 9.1 xml简介 342 9.2 xml序列化 343 9.3 system.xml文档支持 348 9.4 xml流样式分析程序 348 9.4.1 写入xml流 349 9.4.2 读取xml流 352 9.4.3 文档对象模型(dom) 360 9.5 xslt转换 364 9.5.1 使用xslt转换不同的xml标准 367 9.5.2 system.xml.xsl中定义的其他类和接口 370 9.6 asp.net中的xml 370 9.6.1 xmldatasource服务器控件 370 9.6.2 xmldatasource控件的名称空间问题 374 9.6.3 xml服务器控件 375 9.7 linq to xml 376 9.8 linq to xml帮助对象 376 9.8.1 xdocument对象 377 9.8.2 xelement对象 377 9.8.3 xnamespace对象 378 9.8.4 xattribute对象 380 9.9 visual basic和xml字面量 381 9.10 使用linq查询xml文档 382 9.10.1 查询静态的xml文档 382 9.10.2 查询动态的xml文档 384 9.11 处理xml文档 385 9.11.1 读取xml文档 385 9.11.2 写入xml文档 386 9.12 vb中的lambda表达式 387 9.13 小结 389 第10章 ado.net和linq 391 10.1 ado.net的体系结构 392 10.2 ado.net的基本功能 393 10.2.1 ado.net的常见任务 393 10.2.2 ado.net的基本名称空间和类 398 10.2.3 ado.net组件 399 10.3 .net数据提供程序 400 10.3.1 connection对象 400 10.3.2 command对象 401 10.3.3 通过command对象使用存储过程 402 10.3.4 datareader对象 405 10.3.5 命令的异步执行 407 10.3.6 dataadapter对象 409 10.3.7 sql server .net数据提供程序 413 10.3.8 ole db .net数据提供程序 413 10.4 dataset组件 413 10.4.1 datatablecollection对象 414 10.4.2 datarelationcollection对象 414 10.4.3 extendedproperties属性 414 10.4.4 创建和使用dataset对象 415 10.4.5 ado.net的datatable对象 417 10.4.6 dataset和datatable对象的高级ado.net特性 418 10.5 使用通用提供程序模型 420 10.6 ado.net中的连接池 422 10.7 transactions类和system.transactions名称空间 423 10.7.1 创建事务 423 10.7.2 创建资源管理器 425 10.8 linq to sql 425 10.9 linq to sql和visual basic 426 10.9.1 用linq to sql提取数据:创建控制台应用程序 426 10.9.2 o/r设计器 427 10.9.3 创建product对象 428 10.10 对象到linq对象的映射 429 10.10.1 datacontext对象 430 10.10.2 table(tentity)对象 432 10.11 查询数据库 433 10.11.1 使用查询表达式 433 10.11.2 查询表达式详述 433 10.11.3 用表达式过滤 434 10.11.4 联接 434 10.11.5 数据项的组合 435 10.12 存储过程 437 10.13 更新数据库 438 10.14 小结 440 第11章 使用entity framework访问数据 441 11.1 对象关系映射 441 11.2 entity framework体系结构 442 11.2.1 概念模型 443 11.2.2 存储模型 446 11.2.3 映射模型 447 11.2.4 linq to entities 448 11.2.5 objectcontext 449 11.3 把对象映射到实体上 451 11.3.1 简单映射 451 11.3.2 对多个对象使用一个表 453 11.3.3 对一个对象使用多个表 455 11.4 从模型中生成数据库 457 11.5 小结 460 第12章 使用sql server 461 12.1 sql server compact 462 12.1.1 连接sql server compactedition数据库 463 12.1.2 同步数据 466 12.2 sql server内置的xml功能 472 12.3 sql server中的clr集成 474 12.3.1 决定使用t-sql还是vb 475 12.3.2 创建用户定义的类型 475 12.3.3 创建存储过程 487 12.3.4 在sql server中使用web服务 493 12.3.5 sql server 2008特性 498 12.4 wcf数据服务 499 12.4.1 rest 499 12.4.2 atom和json 499 12.4.3 使用wcf数据服务提供数据 500 12.4.4 wcf数据服务的客户端库 504 12.5 小结 508 第13章 服务(xml/wcf) 509 13.1 服务 510 13.1.1 网络角度 510 13.1.2 应用程序的发展 510 13.1.3 合并网络和应用程序开发 510 13.1.4 web服务基础 511 13.1.5 存在的问题 512 13.1.6 其他技术 512 13.1.7 web服务 513 13.1.8 组合起来 514 13.1.9 wcf服务的构成 514 13.2 向soa迈出一大步 515 13.2.1 wcf的功能 516 13.2.2 协定和元数据 516 13.2.3 使用ws-*协议 517 13.3 建立wcf服务 518 13.4 建立wcf使用者应用程序 524 13.4.1 添加服务引用 525 13.4.2 查看引用 526 13.4.3 配置文件的修改 529 13.4.4 编写使用者应用程序的代码 531 13.5 使用数据协定 533 13.6 名称空间 535 13.6.1 建立主机应用程序 535 13.6.2 建立使用者应用程序 536 13.6.3 查看hellocustomerservice的wsdl和架构 538 13.7 小结 540 第iii部分 智能客户端应用程序第14章 windows窗体 543 14.1 system.windows.forms名称空间 543 14.2 窗体的使用 544 14.2.1 设置启动窗体 544 14.2.2 通过sub main显示窗体 545 14.2.3 application类的更多内容 545 14.2.4 窗体的启动位置 545 14.2.5 窗体边框 545 14.2.6 始终置顶——topmost属性 546 14.2.7 附属窗体 546 14.2.8 改变窗体的透明度 547 14.2.9 可视化继承 549 14.2.10 滚动窗体 549 14.2.11 mdi窗体 549 14.2.12 vb 2010中的mdi样例 550 14.2.13 对话框窗体 551 14.2.14 运行时的窗体 553 14.2.15 默认的窗体实例 554 14.3 控件 554 14.3.1 以tab键切换控件的顺序 554 14.3.2 所有控件的属性 555 14.3.3 动态调整控件的大小和布局 555 14.3.4 flowlayoutpanel控件 557 14.3.5 tablelayoutpanel控件 558 14.3.6 panel和groupbox容器控件 559 14.3.7 扩展的provider控件 560 14.3.8 数据输入的高级功能 562 14.3.9 验证数据输入 564 14.3.10 工具栏与toolstrip控件 565 14.3.11 菜单 568 14.3.12 通用对话框 569 14.3.13 拖放操作 571 14.3.14 标准windows窗体控件小结 573 14.3.15 处理相关控件组 575 14.3.16 在运行时添加控件 576 14.4 其他编程技巧 577 14.5 小结 577 第15章 windows窗体的高级功能 579 15.1 在可视化控件中封装逻辑 579 15.2 在windows窗体中开发自定义的控件 580 15.2.1 继承现有的控件 580 15.2.2 构建复合控件 580 15.2.3 从头编写控件 581 15.3 继承现有的控件 581 15.3.1 基本步骤 581 15.3.2 给派生的控件添加代码 581 15.3.3 其他有用的特性 584 15.3.4 为派生的控件自定义事件 585 15.3.5 限制选中项数的checkedlistbox 586 15.4 control与usercontrol基类 589 15.4.1 control类 589 15.4.2 usercontrol类 589 15.5 复合控件 590 15.5.1 创建复合的user-control 591 15.5.2 改变控件的大小 591 15.5.3 提供子控件的属性 592 15.5.4 一个具体的例子 592 15.6 从头构建控件 595 15.7 给工具箱中的控件添加图标 600 15.8 在控件中嵌入其他控件 601 15.9 小结 602 第16章 集成wpf和windows 窗体的用户控件 605 16.1 集成库 606 16.2 在windows窗体中包含wpf控件 607 16.2.1 创建wpf控件库 608 16.2.2 windows窗体应用程序 610 16.3 在wpf中包含windows 窗体控件 616 16.4 集成的限制 621 16.5 小结 622 第17章 wpf桌面应用程序 623 17.1 内容、位置、原因、方式——wpf策略 624 17.2 光栅图形和矢量图形 625 17.3 下一个windows项目应使用wpf吗 625 17.4 创建wpf应用程序 626 17.4.1 实现定制的wpf应用程序 627 17.4.2 定制用户界面 639 17.4.3 定制按钮 647 17.4.4 wpf用户控件 651 17.5 小结 672 第18章 expression blend 3 675 18.1 了解blend 676 18.2 sketchflow 682 18.2.1 第一个sketchflow 682 18.2.2 sketchflow player 685 18.2.3 归档sketchflow 686 18.3 小结 686 第19章 silverlight 687 19.1 什么是silverlight 687 19.1.1 smooth streaming特性 688 19.1.2 业界标准视频 688 19.1.3 数字版权管理 688 19.2 启动silverlight项目 688 19.2.1 silverlight应用程序 689 19.2.2 silverlight导航应用程序 689 19.2.3 silverlight类库 690 19.3 silverlight解决方案 691 19.3.1 web应用程序 691 19.3.2 应用程序库缓存 691 19.3.3 silverlight应用程序 692 19.4 控件 695 19.5 给silverlight项目添加项 702 19.5.1 silverlight用户控件 703 19.5.2 silverlight应用程序类 703 19.5.3 silverlight页面 703 19.5.4 silverlight子窗口 703 19.5.5 silverlight模板控件 703 19.5.6 silverlight资源字典 704 19.6 浏览器之外的silverlight 704 19.7 小结 705 第iv部分 internet应用程序技术 第20章 silverlight和服务 709 20.1 服务和silverlight 709 20.1.1 asmx web服务 709 20.1.2 wcf服务 712 20.1.3 ado.net数据服务 716 20.2 model-view-viewmodel 725 20.2.1 分割 725 20.2.2 model 725 20.2.3 view 728 20.2.4 viewmodel 729 20.3 小结 729 第21章 使用asp.net 731 21.1 asp.net的历史 731 21.2 asp.net的重要特性 732 21.2.1 开发效率 732 21.2.2 性能和可伸缩性 732 21.2.3 本地化 732 21.2.4 健康监控 733 21.2.5 易于访问数据 733 21.2.6 管理和维护 733 21.3 visual studio对asp.net 的支持 733 21.3.1 web site和web application项目 733 21.3.2 asp.net应用程序文件夹 734 21.3.3 web服务器选项 735 21.4 用web窗体构建asp.net应用程序 735 21.5 数据驱动的应用程序 746 21.5.1 使用sqldatasource控件绑定数据 746 21.5.2 使用linqdatasource控件绑定数据 754 21.5.3 使用objectdastasource控件绑定数据 757 21.6 小结 759 第22章 asp.net的高级功能 761 22.1 母版页 761 22.1.1 创建母版页 762 22.1.2 创建内容页 765 22.1.3 为母版页提供默认内容 767 22.2 导航 767 22.2.1 使用sitemappath服务器控件 769 22.2.2 menu服务器控件 770 22.3 使用asp.net的提供程序模型 771 22.4 成员和角色管理 776 22.5 配置文件属性 781 22.6 microsoft ajax(asp.net ajax) 783 22.6.1 理解对ajax的需求 783 22.6.2 microsoft ajax 的实现 784 22.6.3 updatepanel控件和客户端服务调用 785 22.6.4 示例项目 785 22.6.5 添加updatepanel控件 789 22.6.6 使用客户端服务调用和客户端模板 790 22.7 小结 795 第23章 asp.net mvc 797 23.1 mvc和asp.net 798 23.2 构建asp.net mvc应用程序 798 23.2.1 创建项目 798 23.2.2 控制器和操作 800 23.2.3 添加模型 802 23.2.4 视图 804 23.2.5 路由 807 23.2.6 搭框架和crud操作 808 23.2.7 验证 815 23.3 小结 817 第24章 sharepoint 2010开发 819 24.1 简介 819 24.1.1 sharepoint foundation 2010 820 24.1.2 sharepoint server 2010 820 24.1.3 sharepoint的术语 820 24.1.4 sharepoint开发环境 821 24.2 feature和solution framework 821 24.2.1 feature 821 24.2.2 solution framework 829 24.3 用于sharepoint开发的visual studio工具 833 24.4 sharepoint 2010对象模型 839 24.4.1 服务器对象模型 840 24.4.2 客户端对象模型 843 24.5 构建web 部件 845 24.6 小结 851 第v部分 库和专业主题技术 第25章 visual studio tools foroffice 855 25.1 vsto的各个版本 856 25.1.1 office的自动化功能和vsto 856 25.1.2 免pia部署 856 25.1.3 vsto项目类型 857 25.2 office业务应用程序的体系结构 858 25.3 使用vba和vsto 859 25.4 创建文档模板(word) 864 25.4.1 给文档添加内容 866 25.4.2 添加ribbon和操作窗格 867 25.4.3 激活操作窗格 870 25.4.4 更新内容控件 872 25.5 创建office插件(excel) 875 25.6 outlook form regions 881 25.7 小结 889 第26章 windows workflow foundation 891 26.1 应用程序中的工作流 891 26.2 建立工作流 892 26.2.1 用windows workflowfoundation添加工作流 892 26.2.2 一个简单的工作流 894 26.2.3 标准活动 897 26.2.4 一个不太简单的工作流 899 26.2.5 建立定制活动 907 26.2.6 动态加载工作流 911 26.3 重新构建工作流设计器 912 26.4 小结 915 第27章 本地化 917 27.1 文化和区域 917 27.1.1 理解文化类型 918 27.1.2 线程 919 27.1.3 在asp.net中声明全局文化 921 27.1.4 在asp.net中使用文化设置 922 27.2 转换数值和操作 923 27.2.1 理解日期之间的区别 923 27.2.2 理解数字和货币的区别 925 27.2.3 理解排序字符串的区别 927 27.3 asp.net资源文件 929 27.3.1 使用本地资源 929 27.3.2 全局资源 933 27.4 windows窗体中的资源文件 935 27.5 小结 938 第28章 与com的交互操作 939 28.1 理解com 940 28.2 com和.net的交互 940 28.2.1 传统的组件 941 28.2.2 .net应用程序 942 28.2.3 调试 945 28.2.4 直接使用tlbimp 945 28.2.5 后期绑定 946 28.3 activex控件 950 28.3.1 传统的activex控件 950 28.3.2 另一个.net应用程序 952 28.3.3 再次调试 954 28.4 在com应用程序中使用.net组件 954 28.4.1 .net组件 954 28.4.2 regasm 956 28.4.3 tlbexp 957 28.5 p/invoke 957 28.6 小结 957 第29章 网络编程 959 29.1 协议、地址和端口 959 29.1.1 地址与计算机名 961 29.1.2 端口:指定应用程序 961 29.1.3 防火墙:不离不弃 962 29.2 system.net名称空间 963 29.2.1 web请求与响应 963 29.2.2 使用webclient简化常用的web请求 969 29.3 套接字 970 29.3.1 构建应用程序 971 29.3.2 创建conversation窗口 973 29.3.3 发送消息 980 29.3.4 关闭应用程序 984 29.4 在应用程序中使用internetexplorer 988 29.5 小结 991 第30章 应用程序服务 993 30.1 给应用程序服务使用iis 993 30.2 windows服务 993 30.3 windows服务的特性 994 30.4 与windows服务交互 995 30.5 创建windows服务 996 30.5.1 用于windows服务的.net framework类 996 30.5.2 其他类型的windows服务 998 30.6 在vb中创建windows服务 998 30.7 创建文件监视器服务 1000 30.7.1 创建windows服务的解决方案 1000 30.7.2 给服务添加.net组件 1000 30.7.3 安装服务 1003 30.7.4 启动服务 1004 30.7.5 卸载服务 1005 30.8 与服务通信 1005 30.8.1 servicecontroller类 1006 30.8.2 把servicecontroller集成到例子中 1007 30.8.3 servicecontroller的更多内容 1008 30.9 定制命令 1008 30.10 给服务传递字符串 1010 30.11 调试服务 1010 30.12 小结 1012 第31章 程序集和反射 1013 31.1 程序集 1013 31.2 清单 1014 31.2.1 程序集标识部分 1016 31.2.2 引用的程序集 1018 31.3 程序集与部署 1018 31.3.1 应用程序私有的程序集 1018 31.3.2 共享程序集 1019 31.4 版本化问题 1020 31.4.1 应用程序隔离 1020 31.4.2 并行执行 1020 31.4.3 自描述 1021 31.4.4 版本策略 1021 31.4.5 配置文件 1022 31.5 反射基础 1025 31.5.1 assembly类 1026 31.5.2 获得当前加载的程序集 1026 31.5.3 type类 1027 31.6 程序集的动态加载 1028 31.6.1 assembly类的loadfrom方法 1028 31.6.2 动态加载示例 1029 31.6.3 传入程序集 1030 31.7 小结 1031 第32章 .net framework中的安全性 1033 32.1 安全的概念与定义 1034 32.2 system.security.permissions名称空间中的权限 1035 32.2.1 代码访问权限 1037 32.2.2 身份权限 1038 32.2.3 基于角色的权限 1038 32.3 管理代码访问权限集合 1041 32.4 用户访问控制 1043 32.5 定义应用程序的uac设置 1043 32.5.1 安全性工具 1045 32.5.2 使用securityexception类处理异常 1046 32.6 加密基础 1047 32.7 小结 1060 第33章 使用任务和线程进行并行编程 1061 33.1 启动并行任务 1061 33.1.1 system.threading.tasks.parallel类 1062 33.1.2 parallel.invoke 1062 33.2 把串行代码转换为并行代码 1066 33.2.1 检测热点 1067 33.2.2 测试并行执行获得的速度提升 1069 33.2.3 理解并行和并发执行 1070 33.3 并行循环 1071 33.3.1 parallel.for 1071 33.3.2 parallel.foreach 1076 33.3.3 退出并行循环 1081 33.4 指定希望的并行度 1086 33.4.1 paralleloptions 1086 33.4.2 理解硬件线程和逻辑核心 1087 33.5 创建和管理任务 1088 33.5.1 system.threading.tasks.task 1089 33.5.2 理解任务的生命周期 1090 33.5.3 使用任务并行化代码 1091 33.5.4 从任务中返回值 1099 33.5.5 为并发和并行准备代码 1102 33.5.6 理解并发集合特性 1103 33.5.7 把linq转换为plinq 1106 33.6 小结 1108 第34章 部署 1109 34.1 应用程序部署 1110 34.1.1 .net中的部署很简单 1110 34.1.2 xcopy部署 1110 34.1.3 使用windows installer 1110 34.1.4 clickonce部署 1111 34.2 选择framework版本 1111 34.3 visual studio部署项目 1112 34.3.1 项目模板 1112 34.3.2 创建部署项目 1113 34.4 修改部署项目 1117 34.4.1 项目属性 1117 34.4.2 file system编辑器 1119 34.4.3 registry编辑器 1122 34.4.4 file types编辑器 1124 34.4.5 user interface编辑器 1125 34.4.6 custom actions编辑器 1127 34.4.7 launch conditions编辑器 1129 34.4.8 构建 1132 34.5 windows应用程序的internet部署 1132 34.5.1 “无接触”部署 1132 34.5.2 clickonce部署 1133 34.6 iis web部署工具 1140 34.7 小结 1142 第vi部分 附 录 附录 a vb编译器 1145 附录 b visual basic powerpacks tools 1161 附录 c workflow 2008 1173 附录 d 企业服务 1193 附录 e 云的编程 1215
23.71MB
Visual.Basic.2010.&.NET4.高级编程(第6版) 扫描版带书签 3/3
2012-11-02第I部分 语言结构和环境 第1章 visual studio 2010 3 1.1 visual studio 2010:从express到ultimate的各种版本 4 1.2 visual basic的关键字和语法 7 1.2.1 控制台应用程序 10 1.2.2 从项目模板上创建项目 11 1.2.3 solution explorer窗口 13 1.2.4 项目属性 14 1.2.5 assembly information屏幕 15 1.2.6 编译设置 16 1.2.7 调试属性 20 1.2.8 引用 21 1.2.9 资源 23 1.2.10 设置 24 1.2.11 其他项目属性选项卡 26 1.3 provb_vs2010项目 27 1.3.1 在代码中设置窗体属性 29 1.3.2 visual studio的其他组件 37 1.4 增强示例应用程序的功能 37 1.4.1 定制代码 39 1.4.2 构建应用程序 43 1.4.3 重用第一个windows窗体 50 1.5 visual studio 2010中的特色功能 51 1.5.1 构建配置 51 1.5.2 任务列表 53 1.5.3 command窗口 54 1.5.4 server explorer 54 1.5.5 在visual studio 2010中记录和使用宏 55 1.5.6 类图 57 1.5.7 应用程序生命周期管理 58 1.5.8 性能工具 60 1.6 小结 62 第2章 对象和visual basic 63 2.1 面向对象的术语 64 2.1.1 对象、类和实例 64 2.1.2 对象的组成 65 2.1.3 system.object 68 2.2 使用visual basic类型 68 2.2.1 值类型和引用类型 69 2.2.2 基本类型 71 2.3 命令:条件语句 72 2.3.1 if then 73 2.3.2 比较运算符 73 2.3.3 select case 75 2.4 值类型(结构) 75 2.4.1 布尔类型 76 2.4.2 整数类型 77 2.4.3 无符号类型 78 2.4.4 小数类型 78 2.4.5 char和byte类型 81 2.4.6 datetime类型 81 2.5 引用类型(类) 82 2.5.1 object类 82 2.5.2 string类 83 2.5.3 xml字面量 87 2.5.4 dbnull类和isdbnull()函数 89 2.6 参数传递 89 2.7 变量的作用域 91 2.8 使用对象 92 2.8.1 对象的声明和实例化 92 2.8.2 对象引用 93 2.8.3 取消对象的引用 93 2.8.4 前期绑定与后期绑定 94 2.9 数据类型转换 95 2.10 创建类 100 2.10.1 类 100 2.10.2 事件的处理 110 2.10.3 处理多个事件 111 2.10.4 withevents关键字 111 2.10.5 触发事件 111 2.10.6 声明和触发定制事件 112 2.10.7 用withevents关键字接收事件 113 2.10.8 用addhandler接收事件 115 2.10.9 构造函数方法 116 2.10.10 终止和清除 117 2.11 高级概念 118 2.11.1 重载方法 119 2.11.2 重载构造函数方法 121 2.11.3 共享方法、变量和事件 122 2.11.4 运算符重载 127 2.11.5 委托 129 2.11.6 类和组件 133 2.11.7 lambda表达式 134 2.12 小结 135 第3章 定制对象 137 3.1 继承 138 3.1.1 继承的实现 139 3.1.2 继承的层次 157 3.1.3 与基类、类及对象交互 159 3.1.4 构造函数 164 3.1.5 protected作用域 169 3.1.6 事件与继承 171 3.1.7 共享方法 174 3.1.8 共享事件 176 3.1.9 创建抽象基类 176 3.2 多接口 178 3.2.1 对象接口 178 3.2.2 辅助接口 180 3.3 抽象性 185 3.4 封装性 188 3.5 多态性 190 3.5.1 方法签名 190 3.5.2 实现多态性 191 3.6 进一步讨论继承 200 3.7 小结 211 第4章 公共语言运行库 213 4.1 .net应用程序的组成元素 214 4.1.1 模块 214 4.1.2 程序集 215 4.1.3 类型 215 4.2 版本化与部署 216 4.2.1 对版本化更好的支持 216 4.2.2 major.minor.build.revision版本介绍 217 4.2.3 更好的部署 217 4.3 跨语言集成 218 4.3.1 通用类型系统 218 4.3.2 元数据 219 4.3.3 对元数据更好的支持 219 4.3.4 属性 220 4.3.5 reflection api 222 4.4 il反汇编程序 222 4.5 内存管理 223 4.5.1 传统的垃圾回收机制 223 4.5.2 更快地为对象分配内存 230 4.5.3 垃圾回收器的优化 231 4.6 名称空间 232 4.6.1 名称空间的概念 233 4.6.2 名称空间与引用 236 4.6.3 常用的名称空间 237 4.6.4 导入名称空间并指定别名 239 4.6.5 为名称空间指定别名 240 4.6.6 在asp.net中引用名称空间 241 4.7 创建自己的名称空间 241 4.8 my关键字 244 4.8.1 my.application名称空间 244 4.8.2 my.computer名称空间 248 4.8.3 my.forms名称空间 251 4.8.4 my.resources名称空间 251 4.8.5 my.user名称空间 251 4.8.6 my.webservices名称空间 251 4.9 扩展my名称空间 252 4.10 小结 254 第5章 用visual basic进行声明式编程 255 5.1 声明式编程与visual basic 256 5.2 使用xaml创建窗口 257 5.3 xaml语法 260 5.3.1 xaml语言基础 261 5.3.2 使用xaml声明工作流 264 5.4 小结 265 第6章 异常处理和调试 267 6.1 visual studio 2010 team system的新增内容:历史调试 267 6.2 与visual basic 6兼容的注意事项 268 6.3 .net中的异常处理 268 6.4 结构化异常处理的关键字 269 6.4.1 try、catch和finally关键字 270 6.4.2 throw关键字 271 6.4.3 抛出新的异常 272 6.4.4 exit try语句 273 6.4.5 嵌套的try结构 274 6.4.6 异常属性的使用 275 6.4.7 message属性 276 6.4.8 innerexception和targetsite属性 276 6.5 与visual basic 6样式的错误处理交互操作 280 6.6 记录错误 281 6.6.1 事件日志 281 6.6.2 事件、方法和属性 282 6.6.3 写入跟踪文件 284 6.7 小结 286 第7章 测试驱动的开发 287 7.1 测试的内容和方式 288 7.2 visual studio中的tdd工具 290 7.3 单元测试过程 291 7.3.1 创建测试程序 291 7.3.2 运行测试程序 294 7.3.3 测试数据访问代码 295 7.3.4 使用generate from usage特性 302 7.4 其他visual studio版本 306 7.5 第三方测试框架 306 7.6 小结 307 第ii部分 业务对象和数据访问第8章 数组、集合和泛型 311 8.1 数组 312 8.1.1 多维数组 313 8.1.2 ubound函数 314 8.1.3 redim语句 314 8.1.4 preserve关键字 315 8.2 集合 315 8.2.1 循环语句 317 8.2.2 装箱 319 8.3 泛型 320 8.3.1 泛型的使用 321 8.3.2 nullable类型 322 8.3.3 泛型类型 323 8.3.4 泛型方法 326 8.4 创建泛型 327 8.4.1 泛型类型 328 8.4.2 泛型方法 334 8.4.3 约束 335 8.4.4 泛型和后期绑定 338 8.4.5 协变和逆变 339 8.5 小结 340 第9章 在vb中使用xml 341 9.1 xml简介 342 9.2 xml序列化 343 9.3 system.xml文档支持 348 9.4 xml流样式分析程序 348 9.4.1 写入xml流 349 9.4.2 读取xml流 352 9.4.3 文档对象模型(dom) 360 9.5 xslt转换 364 9.5.1 使用xslt转换不同的xml标准 367 9.5.2 system.xml.xsl中定义的其他类和接口 370 9.6 asp.net中的xml 370 9.6.1 xmldatasource服务器控件 370 9.6.2 xmldatasource控件的名称空间问题 374 9.6.3 xml服务器控件 375 9.7 linq to xml 376 9.8 linq to xml帮助对象 376 9.8.1 xdocument对象 377 9.8.2 xelement对象 377 9.8.3 xnamespace对象 378 9.8.4 xattribute对象 380 9.9 visual basic和xml字面量 381 9.10 使用linq查询xml文档 382 9.10.1 查询静态的xml文档 382 9.10.2 查询动态的xml文档 384 9.11 处理xml文档 385 9.11.1 读取xml文档 385 9.11.2 写入xml文档 386 9.12 vb中的lambda表达式 387 9.13 小结 389 第10章 ado.net和linq 391 10.1 ado.net的体系结构 392 10.2 ado.net的基本功能 393 10.2.1 ado.net的常见任务 393 10.2.2 ado.net的基本名称空间和类 398 10.2.3 ado.net组件 399 10.3 .net数据提供程序 400 10.3.1 connection对象 400 10.3.2 command对象 401 10.3.3 通过command对象使用存储过程 402 10.3.4 datareader对象 405 10.3.5 命令的异步执行 407 10.3.6 dataadapter对象 409 10.3.7 sql server .net数据提供程序 413 10.3.8 ole db .net数据提供程序 413 10.4 dataset组件 413 10.4.1 datatablecollection对象 414 10.4.2 datarelationcollection对象 414 10.4.3 extendedproperties属性 414 10.4.4 创建和使用dataset对象 415 10.4.5 ado.net的datatable对象 417 10.4.6 dataset和datatable对象的高级ado.net特性 418 10.5 使用通用提供程序模型 420 10.6 ado.net中的连接池 422 10.7 transactions类和system.transactions名称空间 423 10.7.1 创建事务 423 10.7.2 创建资源管理器 425 10.8 linq to sql 425 10.9 linq to sql和visual basic 426 10.9.1 用linq to sql提取数据:创建控制台应用程序 426 10.9.2 o/r设计器 427 10.9.3 创建product对象 428 10.10 对象到linq对象的映射 429 10.10.1 datacontext对象 430 10.10.2 table(tentity)对象 432 10.11 查询数据库 433 10.11.1 使用查询表达式 433 10.11.2 查询表达式详述 433 10.11.3 用表达式过滤 434 10.11.4 联接 434 10.11.5 数据项的组合 435 10.12 存储过程 437 10.13 更新数据库 438 10.14 小结 440 第11章 使用entity framework访问数据 441 11.1 对象关系映射 441 11.2 entity framework体系结构 442 11.2.1 概念模型 443 11.2.2 存储模型 446 11.2.3 映射模型 447 11.2.4 linq to entities 448 11.2.5 objectcontext 449 11.3 把对象映射到实体上 451 11.3.1 简单映射 451 11.3.2 对多个对象使用一个表 453 11.3.3 对一个对象使用多个表 455 11.4 从模型中生成数据库 457 11.5 小结 460 第12章 使用sql server 461 12.1 sql server compact 462 12.1.1 连接sql server compactedition数据库 463 12.1.2 同步数据 466 12.2 sql server内置的xml功能 472 12.3 sql server中的clr集成 474 12.3.1 决定使用t-sql还是vb 475 12.3.2 创建用户定义的类型 475 12.3.3 创建存储过程 487 12.3.4 在sql server中使用web服务 493 12.3.5 sql server 2008特性 498 12.4 wcf数据服务 499 12.4.1 rest 499 12.4.2 atom和json 499 12.4.3 使用wcf数据服务提供数据 500 12.4.4 wcf数据服务的客户端库 504 12.5 小结 508 第13章 服务(xml/wcf) 509 13.1 服务 510 13.1.1 网络角度 510 13.1.2 应用程序的发展 510 13.1.3 合并网络和应用程序开发 510 13.1.4 web服务基础 511 13.1.5 存在的问题 512 13.1.6 其他技术 512 13.1.7 web服务 513 13.1.8 组合起来 514 13.1.9 wcf服务的构成 514 13.2 向soa迈出一大步 515 13.2.1 wcf的功能 516 13.2.2 协定和元数据 516 13.2.3 使用ws-*协议 517 13.3 建立wcf服务 518 13.4 建立wcf使用者应用程序 524 13.4.1 添加服务引用 525 13.4.2 查看引用 526 13.4.3 配置文件的修改 529 13.4.4 编写使用者应用程序的代码 531 13.5 使用数据协定 533 13.6 名称空间 535 13.6.1 建立主机应用程序 535 13.6.2 建立使用者应用程序 536 13.6.3 查看hellocustomerservice的wsdl和架构 538 13.7 小结 540 第iii部分 智能客户端应用程序第14章 windows窗体 543 14.1 system.windows.forms名称空间 543 14.2 窗体的使用 544 14.2.1 设置启动窗体 544 14.2.2 通过sub main显示窗体 545 14.2.3 application类的更多内容 545 14.2.4 窗体的启动位置 545 14.2.5 窗体边框 545 14.2.6 始终置顶——topmost属性 546 14.2.7 附属窗体 546 14.2.8 改变窗体的透明度 547 14.2.9 可视化继承 549 14.2.10 滚动窗体 549 14.2.11 mdi窗体 549 14.2.12 vb 2010中的mdi样例 550 14.2.13 对话框窗体 551 14.2.14 运行时的窗体 553 14.2.15 默认的窗体实例 554 14.3 控件 554 14.3.1 以tab键切换控件的顺序 554 14.3.2 所有控件的属性 555 14.3.3 动态调整控件的大小和布局 555 14.3.4 flowlayoutpanel控件 557 14.3.5 tablelayoutpanel控件 558 14.3.6 panel和groupbox容器控件 559 14.3.7 扩展的provider控件 560 14.3.8 数据输入的高级功能 562 14.3.9 验证数据输入 564 14.3.10 工具栏与toolstrip控件 565 14.3.11 菜单 568 14.3.12 通用对话框 569 14.3.13 拖放操作 571 14.3.14 标准windows窗体控件小结 573 14.3.15 处理相关控件组 575 14.3.16 在运行时添加控件 576 14.4 其他编程技巧 577 14.5 小结 577 第15章 windows窗体的高级功能 579 15.1 在可视化控件中封装逻辑 579 15.2 在windows窗体中开发自定义的控件 580 15.2.1 继承现有的控件 580 15.2.2 构建复合控件 580 15.2.3 从头编写控件 581 15.3 继承现有的控件 581 15.3.1 基本步骤 581 15.3.2 给派生的控件添加代码 581 15.3.3 其他有用的特性 584 15.3.4 为派生的控件自定义事件 585 15.3.5 限制选中项数的checkedlistbox 586 15.4 control与usercontrol基类 589 15.4.1 control类 589 15.4.2 usercontrol类 589 15.5 复合控件 590 15.5.1 创建复合的user-control 591 15.5.2 改变控件的大小 591 15.5.3 提供子控件的属性 592 15.5.4 一个具体的例子 592 15.6 从头构建控件 595 15.7 给工具箱中的控件添加图标 600 15.8 在控件中嵌入其他控件 601 15.9 小结 602 第16章 集成wpf和windows 窗体的用户控件 605 16.1 集成库 606 16.2 在windows窗体中包含wpf控件 607 16.2.1 创建wpf控件库 608 16.2.2 windows窗体应用程序 610 16.3 在wpf中包含windows 窗体控件 616 16.4 集成的限制 621 16.5 小结 622 第17章 wpf桌面应用程序 623 17.1 内容、位置、原因、方式——wpf策略 624 17.2 光栅图形和矢量图形 625 17.3 下一个windows项目应使用wpf吗 625 17.4 创建wpf应用程序 626 17.4.1 实现定制的wpf应用程序 627 17.4.2 定制用户界面 639 17.4.3 定制按钮 647 17.4.4 wpf用户控件 651 17.5 小结 672 第18章 expression blend 3 675 18.1 了解blend 676 18.2 sketchflow 682 18.2.1 第一个sketchflow 682 18.2.2 sketchflow player 685 18.2.3 归档sketchflow 686 18.3 小结 686 第19章 silverlight 687 19.1 什么是silverlight 687 19.1.1 smooth streaming特性 688 19.1.2 业界标准视频 688 19.1.3 数字版权管理 688 19.2 启动silverlight项目 688 19.2.1 silverlight应用程序 689 19.2.2 silverlight导航应用程序 689 19.2.3 silverlight类库 690 19.3 silverlight解决方案 691 19.3.1 web应用程序 691 19.3.2 应用程序库缓存 691 19.3.3 silverlight应用程序 692 19.4 控件 695 19.5 给silverlight项目添加项 702 19.5.1 silverlight用户控件 703 19.5.2 silverlight应用程序类 703 19.5.3 silverlight页面 703 19.5.4 silverlight子窗口 703 19.5.5 silverlight模板控件 703 19.5.6 silverlight资源字典 704 19.6 浏览器之外的silverlight 704 19.7 小结 705 第iv部分 internet应用程序技术 第20章 silverlight和服务 709 20.1 服务和silverlight 709 20.1.1 asmx web服务 709 20.1.2 wcf服务 712 20.1.3 ado.net数据服务 716 20.2 model-view-viewmodel 725 20.2.1 分割 725 20.2.2 model 725 20.2.3 view 728 20.2.4 viewmodel 729 20.3 小结 729 第21章 使用asp.net 731 21.1 asp.net的历史 731 21.2 asp.net的重要特性 732 21.2.1 开发效率 732 21.2.2 性能和可伸缩性 732 21.2.3 本地化 732 21.2.4 健康监控 733 21.2.5 易于访问数据 733 21.2.6 管理和维护 733 21.3 visual studio对asp.net 的支持 733 21.3.1 web site和web application项目 733 21.3.2 asp.net应用程序文件夹 734 21.3.3 web服务器选项 735 21.4 用web窗体构建asp.net应用程序 735 21.5 数据驱动的应用程序 746 21.5.1 使用sqldatasource控件绑定数据 746 21.5.2 使用linqdatasource控件绑定数据 754 21.5.3 使用objectdastasource控件绑定数据 757 21.6 小结 759 第22章 asp.net的高级功能 761 22.1 母版页 761 22.1.1 创建母版页 762 22.1.2 创建内容页 765 22.1.3 为母版页提供默认内容 767 22.2 导航 767 22.2.1 使用sitemappath服务器控件 769 22.2.2 menu服务器控件 770 22.3 使用asp.net的提供程序模型 771 22.4 成员和角色管理 776 22.5 配置文件属性 781 22.6 microsoft ajax(asp.net ajax) 783 22.6.1 理解对ajax的需求 783 22.6.2 microsoft ajax 的实现 784 22.6.3 updatepanel控件和客户端服务调用 785 22.6.4 示例项目 785 22.6.5 添加updatepanel控件 789 22.6.6 使用客户端服务调用和客户端模板 790 22.7 小结 795 第23章 asp.net mvc 797 23.1 mvc和asp.net 798 23.2 构建asp.net mvc应用程序 798 23.2.1 创建项目 798 23.2.2 控制器和操作 800 23.2.3 添加模型 802 23.2.4 视图 804 23.2.5 路由 807 23.2.6 搭框架和crud操作 808 23.2.7 验证 815 23.3 小结 817 第24章 sharepoint 2010开发 819 24.1 简介 819 24.1.1 sharepoint foundation 2010 820 24.1.2 sharepoint server 2010 820 24.1.3 sharepoint的术语 820 24.1.4 sharepoint开发环境 821 24.2 feature和solution framework 821 24.2.1 feature 821 24.2.2 solution framework 829 24.3 用于sharepoint开发的visual studio工具 833 24.4 sharepoint 2010对象模型 839 24.4.1 服务器对象模型 840 24.4.2 客户端对象模型 843 24.5 构建web 部件 845 24.6 小结 851 第v部分 库和专业主题技术 第25章 visual studio tools foroffice 855 25.1 vsto的各个版本 856 25.1.1 office的自动化功能和vsto 856 25.1.2 免pia部署 856 25.1.3 vsto项目类型 857 25.2 office业务应用程序的体系结构 858 25.3 使用vba和vsto 859 25.4 创建文档模板(word) 864 25.4.1 给文档添加内容 866 25.4.2 添加ribbon和操作窗格 867 25.4.3 激活操作窗格 870 25.4.4 更新内容控件 872 25.5 创建office插件(excel) 875 25.6 outlook form regions 881 25.7 小结 889 第26章 windows workflow foundation 891 26.1 应用程序中的工作流 891 26.2 建立工作流 892 26.2.1 用windows workflowfoundation添加工作流 892 26.2.2 一个简单的工作流 894 26.2.3 标准活动 897 26.2.4 一个不太简单的工作流 899 26.2.5 建立定制活动 907 26.2.6 动态加载工作流 911 26.3 重新构建工作流设计器 912 26.4 小结 915 第27章 本地化 917 27.1 文化和区域 917 27.1.1 理解文化类型 918 27.1.2 线程 919 27.1.3 在asp.net中声明全局文化 921 27.1.4 在asp.net中使用文化设置 922 27.2 转换数值和操作 923 27.2.1 理解日期之间的区别 923 27.2.2 理解数字和货币的区别 925 27.2.3 理解排序字符串的区别 927 27.3 asp.net资源文件 929 27.3.1 使用本地资源 929 27.3.2 全局资源 933 27.4 windows窗体中的资源文件 935 27.5 小结 938 第28章 与com的交互操作 939 28.1 理解com 940 28.2 com和.net的交互 940 28.2.1 传统的组件 941 28.2.2 .net应用程序 942 28.2.3 调试 945 28.2.4 直接使用tlbimp 945 28.2.5 后期绑定 946 28.3 activex控件 950 28.3.1 传统的activex控件 950 28.3.2 另一个.net应用程序 952 28.3.3 再次调试 954 28.4 在com应用程序中使用.net组件 954 28.4.1 .net组件 954 28.4.2 regasm 956 28.4.3 tlbexp 957 28.5 p/invoke 957 28.6 小结 957 第29章 网络编程 959 29.1 协议、地址和端口 959 29.1.1 地址与计算机名 961 29.1.2 端口:指定应用程序 961 29.1.3 防火墙:不离不弃 962 29.2 system.net名称空间 963 29.2.1 web请求与响应 963 29.2.2 使用webclient简化常用的web请求 969 29.3 套接字 970 29.3.1 构建应用程序 971 29.3.2 创建conversation窗口 973 29.3.3 发送消息 980 29.3.4 关闭应用程序 984 29.4 在应用程序中使用internetexplorer 988 29.5 小结 991 第30章 应用程序服务 993 30.1 给应用程序服务使用iis 993 30.2 windows服务 993 30.3 windows服务的特性 994 30.4 与windows服务交互 995 30.5 创建windows服务 996 30.5.1 用于windows服务的.net framework类 996 30.5.2 其他类型的windows服务 998 30.6 在vb中创建windows服务 998 30.7 创建文件监视器服务 1000 30.7.1 创建windows服务的解决方案 1000 30.7.2 给服务添加.net组件 1000 30.7.3 安装服务 1003 30.7.4 启动服务 1004 30.7.5 卸载服务 1005 30.8 与服务通信 1005 30.8.1 servicecontroller类 1006 30.8.2 把servicecontroller集成到例子中 1007 30.8.3 servicecontroller的更多内容 1008 30.9 定制命令 1008 30.10 给服务传递字符串 1010 30.11 调试服务 1010 30.12 小结 1012 第31章 程序集和反射 1013 31.1 程序集 1013 31.2 清单 1014 31.2.1 程序集标识部分 1016 31.2.2 引用的程序集 1018 31.3 程序集与部署 1018 31.3.1 应用程序私有的程序集 1018 31.3.2 共享程序集 1019 31.4 版本化问题 1020 31.4.1 应用程序隔离 1020 31.4.2 并行执行 1020 31.4.3 自描述 1021 31.4.4 版本策略 1021 31.4.5 配置文件 1022 31.5 反射基础 1025 31.5.1 assembly类 1026 31.5.2 获得当前加载的程序集 1026 31.5.3 type类 1027 31.6 程序集的动态加载 1028 31.6.1 assembly类的loadfrom方法 1028 31.6.2 动态加载示例 1029 31.6.3 传入程序集 1030 31.7 小结 1031 第32章 .net framework中的安全性 1033 32.1 安全的概念与定义 1034 32.2 system.security.permissions名称空间中的权限 1035 32.2.1 代码访问权限 1037 32.2.2 身份权限 1038 32.2.3 基于角色的权限 1038 32.3 管理代码访问权限集合 1041 32.4 用户访问控制 1043 32.5 定义应用程序的uac设置 1043 32.5.1 安全性工具 1045 32.5.2 使用securityexception类处理异常 1046 32.6 加密基础 1047 32.7 小结 1060 第33章 使用任务和线程进行并行编程 1061 33.1 启动并行任务 1061 33.1.1 system.threading.tasks.parallel类 1062 33.1.2 parallel.invoke 1062 33.2 把串行代码转换为并行代码 1066 33.2.1 检测热点 1067 33.2.2 测试并行执行获得的速度提升 1069 33.2.3 理解并行和并发执行 1070 33.3 并行循环 1071 33.3.1 parallel.for 1071 33.3.2 parallel.foreach 1076 33.3.3 退出并行循环 1081 33.4 指定希望的并行度 1086 33.4.1 paralleloptions 1086 33.4.2 理解硬件线程和逻辑核心 1087 33.5 创建和管理任务 1088 33.5.1 system.threading.tasks.task 1089 33.5.2 理解任务的生命周期 1090 33.5.3 使用任务并行化代码 1091 33.5.4 从任务中返回值 1099 33.5.5 为并发和并行准备代码 1102 33.5.6 理解并发集合特性 1103 33.5.7 把linq转换为plinq 1106 33.6 小结 1108 第34章 部署 1109 34.1 应用程序部署 1110 34.1.1 .net中的部署很简单 1110 34.1.2 xcopy部署 1110 34.1.3 使用windows installer 1110 34.1.4 clickonce部署 1111 34.2 选择framework版本 1111 34.3 visual studio部署项目 1112 34.3.1 项目模板 1112 34.3.2 创建部署项目 1113 34.4 修改部署项目 1117 34.4.1 项目属性 1117 34.4.2 file system编辑器 1119 34.4.3 registry编辑器 1122 34.4.4 file types编辑器 1124 34.4.5 user interface编辑器 1125 34.4.6 custom actions编辑器 1127 34.4.7 launch conditions编辑器 1129 34.4.8 构建 1132 34.5 windows应用程序的internet部署 1132 34.5.1 “无接触”部署 1132 34.5.2 clickonce部署 1133 34.6 iis web部署工具 1140 34.7 小结 1142 第vi部分 附 录 附录 a vb编译器 1145 附录 b visual basic powerpacks tools 1161 附录 c workflow 2008 1173 附录 d 企业服务 1193 附录 e 云的编程 1215
56.26MB
Visual.Basic.2010.&.NET4.高级编程(第6版) 扫描版带书签 1/3
2012-11-02第I部分 语言结构和环境 第1章 visual studio 2010 3 1.1 visual studio 2010:从express到ultimate的各种版本 4 1.2 visual basic的关键字和语法 7 1.2.1 控制台应用程序 10 1.2.2 从项目模板上创建项目 11 1.2.3 solution explorer窗口 13 1.2.4 项目属性 14 1.2.5 assembly information屏幕 15 1.2.6 编译设置 16 1.2.7 调试属性 20 1.2.8 引用 21 1.2.9 资源 23 1.2.10 设置 24 1.2.11 其他项目属性选项卡 26 1.3 provb_vs2010项目 27 1.3.1 在代码中设置窗体属性 29 1.3.2 visual studio的其他组件 37 1.4 增强示例应用程序的功能 37 1.4.1 定制代码 39 1.4.2 构建应用程序 43 1.4.3 重用第一个windows窗体 50 1.5 visual studio 2010中的特色功能 51 1.5.1 构建配置 51 1.5.2 任务列表 53 1.5.3 command窗口 54 1.5.4 server explorer 54 1.5.5 在visual studio 2010中记录和使用宏 55 1.5.6 类图 57 1.5.7 应用程序生命周期管理 58 1.5.8 性能工具 60 1.6 小结 62 第2章 对象和visual basic 63 2.1 面向对象的术语 64 2.1.1 对象、类和实例 64 2.1.2 对象的组成 65 2.1.3 system.object 68 2.2 使用visual basic类型 68 2.2.1 值类型和引用类型 69 2.2.2 基本类型 71 2.3 命令:条件语句 72 2.3.1 if then 73 2.3.2 比较运算符 73 2.3.3 select case 75 2.4 值类型(结构) 75 2.4.1 布尔类型 76 2.4.2 整数类型 77 2.4.3 无符号类型 78 2.4.4 小数类型 78 2.4.5 char和byte类型 81 2.4.6 datetime类型 81 2.5 引用类型(类) 82 2.5.1 object类 82 2.5.2 string类 83 2.5.3 xml字面量 87 2.5.4 dbnull类和isdbnull()函数 89 2.6 参数传递 89 2.7 变量的作用域 91 2.8 使用对象 92 2.8.1 对象的声明和实例化 92 2.8.2 对象引用 93 2.8.3 取消对象的引用 93 2.8.4 前期绑定与后期绑定 94 2.9 数据类型转换 95 2.10 创建类 100 2.10.1 类 100 2.10.2 事件的处理 110 2.10.3 处理多个事件 111 2.10.4 withevents关键字 111 2.10.5 触发事件 111 2.10.6 声明和触发定制事件 112 2.10.7 用withevents关键字接收事件 113 2.10.8 用addhandler接收事件 115 2.10.9 构造函数方法 116 2.10.10 终止和清除 117 2.11 高级概念 118 2.11.1 重载方法 119 2.11.2 重载构造函数方法 121 2.11.3 共享方法、变量和事件 122 2.11.4 运算符重载 127 2.11.5 委托 129 2.11.6 类和组件 133 2.11.7 lambda表达式 134 2.12 小结 135 第3章 定制对象 137 3.1 继承 138 3.1.1 继承的实现 139 3.1.2 继承的层次 157 3.1.3 与基类、类及对象交互 159 3.1.4 构造函数 164 3.1.5 protected作用域 169 3.1.6 事件与继承 171 3.1.7 共享方法 174 3.1.8 共享事件 176 3.1.9 创建抽象基类 176 3.2 多接口 178 3.2.1 对象接口 178 3.2.2 辅助接口 180 3.3 抽象性 185 3.4 封装性 188 3.5 多态性 190 3.5.1 方法签名 190 3.5.2 实现多态性 191 3.6 进一步讨论继承 200 3.7 小结 211 第4章 公共语言运行库 213 4.1 .net应用程序的组成元素 214 4.1.1 模块 214 4.1.2 程序集 215 4.1.3 类型 215 4.2 版本化与部署 216 4.2.1 对版本化更好的支持 216 4.2.2 major.minor.build.revision版本介绍 217 4.2.3 更好的部署 217 4.3 跨语言集成 218 4.3.1 通用类型系统 218 4.3.2 元数据 219 4.3.3 对元数据更好的支持 219 4.3.4 属性 220 4.3.5 reflection api 222 4.4 il反汇编程序 222 4.5 内存管理 223 4.5.1 传统的垃圾回收机制 223 4.5.2 更快地为对象分配内存 230 4.5.3 垃圾回收器的优化 231 4.6 名称空间 232 4.6.1 名称空间的概念 233 4.6.2 名称空间与引用 236 4.6.3 常用的名称空间 237 4.6.4 导入名称空间并指定别名 239 4.6.5 为名称空间指定别名 240 4.6.6 在asp.net中引用名称空间 241 4.7 创建自己的名称空间 241 4.8 my关键字 244 4.8.1 my.application名称空间 244 4.8.2 my.computer名称空间 248 4.8.3 my.forms名称空间 251 4.8.4 my.resources名称空间 251 4.8.5 my.user名称空间 251 4.8.6 my.webservices名称空间 251 4.9 扩展my名称空间 252 4.10 小结 254 第5章 用visual basic进行声明式编程 255 5.1 声明式编程与visual basic 256 5.2 使用xaml创建窗口 257 5.3 xaml语法 260 5.3.1 xaml语言基础 261 5.3.2 使用xaml声明工作流 264 5.4 小结 265 第6章 异常处理和调试 267 6.1 visual studio 2010 team system的新增内容:历史调试 267 6.2 与visual basic 6兼容的注意事项 268 6.3 .net中的异常处理 268 6.4 结构化异常处理的关键字 269 6.4.1 try、catch和finally关键字 270 6.4.2 throw关键字 271 6.4.3 抛出新的异常 272 6.4.4 exit try语句 273 6.4.5 嵌套的try结构 274 6.4.6 异常属性的使用 275 6.4.7 message属性 276 6.4.8 innerexception和targetsite属性 276 6.5 与visual basic 6样式的错误处理交互操作 280 6.6 记录错误 281 6.6.1 事件日志 281 6.6.2 事件、方法和属性 282 6.6.3 写入跟踪文件 284 6.7 小结 286 第7章 测试驱动的开发 287 7.1 测试的内容和方式 288 7.2 visual studio中的tdd工具 290 7.3 单元测试过程 291 7.3.1 创建测试程序 291 7.3.2 运行测试程序 294 7.3.3 测试数据访问代码 295 7.3.4 使用generate from usage特性 302 7.4 其他visual studio版本 306 7.5 第三方测试框架 306 7.6 小结 307 第ii部分 业务对象和数据访问第8章 数组、集合和泛型 311 8.1 数组 312 8.1.1 多维数组 313 8.1.2 ubound函数 314 8.1.3 redim语句 314 8.1.4 preserve关键字 315 8.2 集合 315 8.2.1 循环语句 317 8.2.2 装箱 319 8.3 泛型 320 8.3.1 泛型的使用 321 8.3.2 nullable类型 322 8.3.3 泛型类型 323 8.3.4 泛型方法 326 8.4 创建泛型 327 8.4.1 泛型类型 328 8.4.2 泛型方法 334 8.4.3 约束 335 8.4.4 泛型和后期绑定 338 8.4.5 协变和逆变 339 8.5 小结 340 第9章 在vb中使用xml 341 9.1 xml简介 342 9.2 xml序列化 343 9.3 system.xml文档支持 348 9.4 xml流样式分析程序 348 9.4.1 写入xml流 349 9.4.2 读取xml流 352 9.4.3 文档对象模型(dom) 360 9.5 xslt转换 364 9.5.1 使用xslt转换不同的xml标准 367 9.5.2 system.xml.xsl中定义的其他类和接口 370 9.6 asp.net中的xml 370 9.6.1 xmldatasource服务器控件 370 9.6.2 xmldatasource控件的名称空间问题 374 9.6.3 xml服务器控件 375 9.7 linq to xml 376 9.8 linq to xml帮助对象 376 9.8.1 xdocument对象 377 9.8.2 xelement对象 377 9.8.3 xnamespace对象 378 9.8.4 xattribute对象 380 9.9 visual basic和xml字面量 381 9.10 使用linq查询xml文档 382 9.10.1 查询静态的xml文档 382 9.10.2 查询动态的xml文档 384 9.11 处理xml文档 385 9.11.1 读取xml文档 385 9.11.2 写入xml文档 386 9.12 vb中的lambda表达式 387 9.13 小结 389 第10章 ado.net和linq 391 10.1 ado.net的体系结构 392 10.2 ado.net的基本功能 393 10.2.1 ado.net的常见任务 393 10.2.2 ado.net的基本名称空间和类 398 10.2.3 ado.net组件 399 10.3 .net数据提供程序 400 10.3.1 connection对象 400 10.3.2 command对象 401 10.3.3 通过command对象使用存储过程 402 10.3.4 datareader对象 405 10.3.5 命令的异步执行 407 10.3.6 dataadapter对象 409 10.3.7 sql server .net数据提供程序 413 10.3.8 ole db .net数据提供程序 413 10.4 dataset组件 413 10.4.1 datatablecollection对象 414 10.4.2 datarelationcollection对象 414 10.4.3 extendedproperties属性 414 10.4.4 创建和使用dataset对象 415 10.4.5 ado.net的datatable对象 417 10.4.6 dataset和datatable对象的高级ado.net特性 418 10.5 使用通用提供程序模型 420 10.6 ado.net中的连接池 422 10.7 transactions类和system.transactions名称空间 423 10.7.1 创建事务 423 10.7.2 创建资源管理器 425 10.8 linq to sql 425 10.9 linq to sql和visual basic 426 10.9.1 用linq to sql提取数据:创建控制台应用程序 426 10.9.2 o/r设计器 427 10.9.3 创建product对象 428 10.10 对象到linq对象的映射 429 10.10.1 datacontext对象 430 10.10.2 table(tentity)对象 432 10.11 查询数据库 433 10.11.1 使用查询表达式 433 10.11.2 查询表达式详述 433 10.11.3 用表达式过滤 434 10.11.4 联接 434 10.11.5 数据项的组合 435 10.12 存储过程 437 10.13 更新数据库 438 10.14 小结 440 第11章 使用entity framework访问数据 441 11.1 对象关系映射 441 11.2 entity framework体系结构 442 11.2.1 概念模型 443 11.2.2 存储模型 446 11.2.3 映射模型 447 11.2.4 linq to entities 448 11.2.5 objectcontext 449 11.3 把对象映射到实体上 451 11.3.1 简单映射 451 11.3.2 对多个对象使用一个表 453 11.3.3 对一个对象使用多个表 455 11.4 从模型中生成数据库 457 11.5 小结 460 第12章 使用sql server 461 12.1 sql server compact 462 12.1.1 连接sql server compactedition数据库 463 12.1.2 同步数据 466 12.2 sql server内置的xml功能 472 12.3 sql server中的clr集成 474 12.3.1 决定使用t-sql还是vb 475 12.3.2 创建用户定义的类型 475 12.3.3 创建存储过程 487 12.3.4 在sql server中使用web服务 493 12.3.5 sql server 2008特性 498 12.4 wcf数据服务 499 12.4.1 rest 499 12.4.2 atom和json 499 12.4.3 使用wcf数据服务提供数据 500 12.4.4 wcf数据服务的客户端库 504 12.5 小结 508 第13章 服务(xml/wcf) 509 13.1 服务 510 13.1.1 网络角度 510 13.1.2 应用程序的发展 510 13.1.3 合并网络和应用程序开发 510 13.1.4 web服务基础 511 13.1.5 存在的问题 512 13.1.6 其他技术 512 13.1.7 web服务 513 13.1.8 组合起来 514 13.1.9 wcf服务的构成 514 13.2 向soa迈出一大步 515 13.2.1 wcf的功能 516 13.2.2 协定和元数据 516 13.2.3 使用ws-*协议 517 13.3 建立wcf服务 518 13.4 建立wcf使用者应用程序 524 13.4.1 添加服务引用 525 13.4.2 查看引用 526 13.4.3 配置文件的修改 529 13.4.4 编写使用者应用程序的代码 531 13.5 使用数据协定 533 13.6 名称空间 535 13.6.1 建立主机应用程序 535 13.6.2 建立使用者应用程序 536 13.6.3 查看hellocustomerservice的wsdl和架构 538 13.7 小结 540 第iii部分 智能客户端应用程序第14章 windows窗体 543 14.1 system.windows.forms名称空间 543 14.2 窗体的使用 544 14.2.1 设置启动窗体 544 14.2.2 通过sub main显示窗体 545 14.2.3 application类的更多内容 545 14.2.4 窗体的启动位置 545 14.2.5 窗体边框 545 14.2.6 始终置顶——topmost属性 546 14.2.7 附属窗体 546 14.2.8 改变窗体的透明度 547 14.2.9 可视化继承 549 14.2.10 滚动窗体 549 14.2.11 mdi窗体 549 14.2.12 vb 2010中的mdi样例 550 14.2.13 对话框窗体 551 14.2.14 运行时的窗体 553 14.2.15 默认的窗体实例 554 14.3 控件 554 14.3.1 以tab键切换控件的顺序 554 14.3.2 所有控件的属性 555 14.3.3 动态调整控件的大小和布局 555 14.3.4 flowlayoutpanel控件 557 14.3.5 tablelayoutpanel控件 558 14.3.6 panel和groupbox容器控件 559 14.3.7 扩展的provider控件 560 14.3.8 数据输入的高级功能 562 14.3.9 验证数据输入 564 14.3.10 工具栏与toolstrip控件 565 14.3.11 菜单 568 14.3.12 通用对话框 569 14.3.13 拖放操作 571 14.3.14 标准windows窗体控件小结 573 14.3.15 处理相关控件组 575 14.3.16 在运行时添加控件 576 14.4 其他编程技巧 577 14.5 小结 577 第15章 windows窗体的高级功能 579 15.1 在可视化控件中封装逻辑 579 15.2 在windows窗体中开发自定义的控件 580 15.2.1 继承现有的控件 580 15.2.2 构建复合控件 580 15.2.3 从头编写控件 581 15.3 继承现有的控件 581 15.3.1 基本步骤 581 15.3.2 给派生的控件添加代码 581 15.3.3 其他有用的特性 584 15.3.4 为派生的控件自定义事件 585 15.3.5 限制选中项数的checkedlistbox 586 15.4 control与usercontrol基类 589 15.4.1 control类 589 15.4.2 usercontrol类 589 15.5 复合控件 590 15.5.1 创建复合的user-control 591 15.5.2 改变控件的大小 591 15.5.3 提供子控件的属性 592 15.5.4 一个具体的例子 592 15.6 从头构建控件 595 15.7 给工具箱中的控件添加图标 600 15.8 在控件中嵌入其他控件 601 15.9 小结 602 第16章 集成wpf和windows 窗体的用户控件 605 16.1 集成库 606 16.2 在windows窗体中包含wpf控件 607 16.2.1 创建wpf控件库 608 16.2.2 windows窗体应用程序 610 16.3 在wpf中包含windows 窗体控件 616 16.4 集成的限制 621 16.5 小结 622 第17章 wpf桌面应用程序 623 17.1 内容、位置、原因、方式——wpf策略 624 17.2 光栅图形和矢量图形 625 17.3 下一个windows项目应使用wpf吗 625 17.4 创建wpf应用程序 626 17.4.1 实现定制的wpf应用程序 627 17.4.2 定制用户界面 639 17.4.3 定制按钮 647 17.4.4 wpf用户控件 651 17.5 小结 672 第18章 expression blend 3 675 18.1 了解blend 676 18.2 sketchflow 682 18.2.1 第一个sketchflow 682 18.2.2 sketchflow player 685 18.2.3 归档sketchflow 686 18.3 小结 686 第19章 silverlight 687 19.1 什么是silverlight 687 19.1.1 smooth streaming特性 688 19.1.2 业界标准视频 688 19.1.3 数字版权管理 688 19.2 启动silverlight项目 688 19.2.1 silverlight应用程序 689 19.2.2 silverlight导航应用程序 689 19.2.3 silverlight类库 690 19.3 silverlight解决方案 691 19.3.1 web应用程序 691 19.3.2 应用程序库缓存 691 19.3.3 silverlight应用程序 692 19.4 控件 695 19.5 给silverlight项目添加项 702 19.5.1 silverlight用户控件 703 19.5.2 silverlight应用程序类 703 19.5.3 silverlight页面 703 19.5.4 silverlight子窗口 703 19.5.5 silverlight模板控件 703 19.5.6 silverlight资源字典 704 19.6 浏览器之外的silverlight 704 19.7 小结 705 第iv部分 internet应用程序技术 第20章 silverlight和服务 709 20.1 服务和silverlight 709 20.1.1 asmx web服务 709 20.1.2 wcf服务 712 20.1.3 ado.net数据服务 716 20.2 model-view-viewmodel 725 20.2.1 分割 725 20.2.2 model 725 20.2.3 view 728 20.2.4 viewmodel 729 20.3 小结 729 第21章 使用asp.net 731 21.1 asp.net的历史 731 21.2 asp.net的重要特性 732 21.2.1 开发效率 732 21.2.2 性能和可伸缩性 732 21.2.3 本地化 732 21.2.4 健康监控 733 21.2.5 易于访问数据 733 21.2.6 管理和维护 733 21.3 visual studio对asp.net 的支持 733 21.3.1 web site和web application项目 733 21.3.2 asp.net应用程序文件夹 734 21.3.3 web服务器选项 735 21.4 用web窗体构建asp.net应用程序 735 21.5 数据驱动的应用程序 746 21.5.1 使用sqldatasource控件绑定数据 746 21.5.2 使用linqdatasource控件绑定数据 754 21.5.3 使用objectdastasource控件绑定数据 757 21.6 小结 759 第22章 asp.net的高级功能 761 22.1 母版页 761 22.1.1 创建母版页 762 22.1.2 创建内容页 765 22.1.3 为母版页提供默认内容 767 22.2 导航 767 22.2.1 使用sitemappath服务器控件 769 22.2.2 menu服务器控件 770 22.3 使用asp.net的提供程序模型 771 22.4 成员和角色管理 776 22.5 配置文件属性 781 22.6 microsoft ajax(asp.net ajax) 783 22.6.1 理解对ajax的需求 783 22.6.2 microsoft ajax 的实现 784 22.6.3 updatepanel控件和客户端服务调用 785 22.6.4 示例项目 785 22.6.5 添加updatepanel控件 789 22.6.6 使用客户端服务调用和客户端模板 790 22.7 小结 795 第23章 asp.net mvc 797 23.1 mvc和asp.net 798 23.2 构建asp.net mvc应用程序 798 23.2.1 创建项目 798 23.2.2 控制器和操作 800 23.2.3 添加模型 802 23.2.4 视图 804 23.2.5 路由 807 23.2.6 搭框架和crud操作 808 23.2.7 验证 815 23.3 小结 817 第24章 sharepoint 2010开发 819 24.1 简介 819 24.1.1 sharepoint foundation 2010 820 24.1.2 sharepoint server 2010 820 24.1.3 sharepoint的术语 820 24.1.4 sharepoint开发环境 821 24.2 feature和solution framework 821 24.2.1 feature 821 24.2.2 solution framework 829 24.3 用于sharepoint开发的visual studio工具 833 24.4 sharepoint 2010对象模型 839 24.4.1 服务器对象模型 840 24.4.2 客户端对象模型 843 24.5 构建web 部件 845 24.6 小结 851 第v部分 库和专业主题技术 第25章 visual studio tools foroffice 855 25.1 vsto的各个版本 856 25.1.1 office的自动化功能和vsto 856 25.1.2 免pia部署 856 25.1.3 vsto项目类型 857 25.2 office业务应用程序的体系结构 858 25.3 使用vba和vsto 859 25.4 创建文档模板(word) 864 25.4.1 给文档添加内容 866 25.4.2 添加ribbon和操作窗格 867 25.4.3 激活操作窗格 870 25.4.4 更新内容控件 872 25.5 创建office插件(excel) 875 25.6 outlook form regions 881 25.7 小结 889 第26章 windows workflow foundation 891 26.1 应用程序中的工作流 891 26.2 建立工作流 892 26.2.1 用windows workflowfoundation添加工作流 892 26.2.2 一个简单的工作流 894 26.2.3 标准活动 897 26.2.4 一个不太简单的工作流 899 26.2.5 建立定制活动 907 26.2.6 动态加载工作流 911 26.3 重新构建工作流设计器 912 26.4 小结 915 第27章 本地化 917 27.1 文化和区域 917 27.1.1 理解文化类型 918 27.1.2 线程 919 27.1.3 在asp.net中声明全局文化 921 27.1.4 在asp.net中使用文化设置 922 27.2 转换数值和操作 923 27.2.1 理解日期之间的区别 923 27.2.2 理解数字和货币的区别 925 27.2.3 理解排序字符串的区别 927 27.3 asp.net资源文件 929 27.3.1 使用本地资源 929 27.3.2 全局资源 933 27.4 windows窗体中的资源文件 935 27.5 小结 938 第28章 与com的交互操作 939 28.1 理解com 940 28.2 com和.net的交互 940 28.2.1 传统的组件 941 28.2.2 .net应用程序 942 28.2.3 调试 945 28.2.4 直接使用tlbimp 945 28.2.5 后期绑定 946 28.3 activex控件 950 28.3.1 传统的activex控件 950 28.3.2 另一个.net应用程序 952 28.3.3 再次调试 954 28.4 在com应用程序中使用.net组件 954 28.4.1 .net组件 954 28.4.2 regasm 956 28.4.3 tlbexp 957 28.5 p/invoke 957 28.6 小结 957 第29章 网络编程 959 29.1 协议、地址和端口 959 29.1.1 地址与计算机名 961 29.1.2 端口:指定应用程序 961 29.1.3 防火墙:不离不弃 962 29.2 system.net名称空间 963 29.2.1 web请求与响应 963 29.2.2 使用webclient简化常用的web请求 969 29.3 套接字 970 29.3.1 构建应用程序 971 29.3.2 创建conversation窗口 973 29.3.3 发送消息 980 29.3.4 关闭应用程序 984 29.4 在应用程序中使用internetexplorer 988 29.5 小结 991 第30章 应用程序服务 993 30.1 给应用程序服务使用iis 993 30.2 windows服务 993 30.3 windows服务的特性 994 30.4 与windows服务交互 995 30.5 创建windows服务 996 30.5.1 用于windows服务的.net framework类 996 30.5.2 其他类型的windows服务 998 30.6 在vb中创建windows服务 998 30.7 创建文件监视器服务 1000 30.7.1 创建windows服务的解决方案 1000 30.7.2 给服务添加.net组件 1000 30.7.3 安装服务 1003 30.7.4 启动服务 1004 30.7.5 卸载服务 1005 30.8 与服务通信 1005 30.8.1 servicecontroller类 1006 30.8.2 把servicecontroller集成到例子中 1007 30.8.3 servicecontroller的更多内容 1008 30.9 定制命令 1008 30.10 给服务传递字符串 1010 30.11 调试服务 1010 30.12 小结 1012 第31章 程序集和反射 1013 31.1 程序集 1013 31.2 清单 1014 31.2.1 程序集标识部分 1016 31.2.2 引用的程序集 1018 31.3 程序集与部署 1018 31.3.1 应用程序私有的程序集 1018 31.3.2 共享程序集 1019 31.4 版本化问题 1020 31.4.1 应用程序隔离 1020 31.4.2 并行执行 1020 31.4.3 自描述 1021 31.4.4 版本策略 1021 31.4.5 配置文件 1022 31.5 反射基础 1025 31.5.1 assembly类 1026 31.5.2 获得当前加载的程序集 1026 31.5.3 type类 1027 31.6 程序集的动态加载 1028 31.6.1 assembly类的loadfrom方法 1028 31.6.2 动态加载示例 1029 31.6.3 传入程序集 1030 31.7 小结 1031 第32章 .net framework中的安全性 1033 32.1 安全的概念与定义 1034 32.2 system.security.permissions名称空间中的权限 1035 32.2.1 代码访问权限 1037 32.2.2 身份权限 1038 32.2.3 基于角色的权限 1038 32.3 管理代码访问权限集合 1041 32.4 用户访问控制 1043 32.5 定义应用程序的uac设置 1043 32.5.1 安全性工具 1045 32.5.2 使用securityexception类处理异常 1046 32.6 加密基础 1047 32.7 小结 1060 第33章 使用任务和线程进行并行编程 1061 33.1 启动并行任务 1061 33.1.1 system.threading.tasks.parallel类 1062 33.1.2 parallel.invoke 1062 33.2 把串行代码转换为并行代码 1066 33.2.1 检测热点 1067 33.2.2 测试并行执行获得的速度提升 1069 33.2.3 理解并行和并发执行 1070 33.3 并行循环 1071 33.3.1 parallel.for 1071 33.3.2 parallel.foreach 1076 33.3.3 退出并行循环 1081 33.4 指定希望的并行度 1086 33.4.1 paralleloptions 1086 33.4.2 理解硬件线程和逻辑核心 1087 33.5 创建和管理任务 1088 33.5.1 system.threading.tasks.task 1089 33.5.2 理解任务的生命周期 1090 33.5.3 使用任务并行化代码 1091 33.5.4 从任务中返回值 1099 33.5.5 为并发和并行准备代码 1102 33.5.6 理解并发集合特性 1103 33.5.7 把linq转换为plinq 1106 33.6 小结 1108 第34章 部署 1109 34.1 应用程序部署 1110 34.1.1 .net中的部署很简单 1110 34.1.2 xcopy部署 1110 34.1.3 使用windows installer 1110 34.1.4 clickonce部署 1111 34.2 选择framework版本 1111 34.3 visual studio部署项目 1112 34.3.1 项目模板 1112 34.3.2 创建部署项目 1113 34.4 修改部署项目 1117 34.4.1 项目属性 1117 34.4.2 file system编辑器 1119 34.4.3 registry编辑器 1122 34.4.4 file types编辑器 1124 34.4.5 user interface编辑器 1125 34.4.6 custom actions编辑器 1127 34.4.7 launch conditions编辑器 1129 34.4.8 构建 1132 34.5 windows应用程序的internet部署 1132 34.5.1 “无接触”部署 1132 34.5.2 clickonce部署 1133 34.6 iis web部署工具 1140 34.7 小结 1142 第vi部分 附 录 附录 a vb编译器 1145 附录 b visual basic powerpacks tools 1161 附录 c workflow 2008 1173 附录 d 企业服务 1193 附录 e 云的编程 1215
40.0MB
单片机通信与控制应用编程实例.(中国电力.李江全.魏中岩.姚帅.严海娟).part1
2016-06-10书名:《单片机通信与控制应用编程实例》(中国电力出版社.李江全.魏中岩.姚帅.严海娟) PDF格式扫描版,全书分为12章,共304页。2012年2月出版。 压缩打包成2部分,这是第1部分 内容简介 本书共分12章,分别为:单片机及控制系统概述;单片机串行通信概述;单片机与单片机串口通信编程实例;单片机与PC串口通信之数据传送编程实例;单片机与PC串口通信之模拟量输入编程实例:单片机与PC串口通信之模拟量输出编程实例;单片机与PC串口通信之数字量输入编程实例;单片机与PC串口通信之数字量输出编程实例:单片机与GSM短信模块串口通信编程实例;单片机与无线数传模块串口通信编程实例;采用组态软件实现单片机与PC串口通信编程实例;单片机的典型应用——智能仪器温度测量。 本书内容丰富,可供各类自动化、计算机应用、机电一体化等专业的大学生、研究生学习单片机通信技术,也可供计算机控制系统研发的工程技术人员参考。 注:原书无书签,为了方便阅读,本人在上传前添加了完整的书签。 目 录 前言 第1章 单片机及控制系统概述 1.1 单片机概述 1.1.1 单片机的组成 1.1.2 单片机的分类和指标 1.1.3 常用的单片机系列 1.1.4 单片机的开发工具 1.1.5 单片机的特点及应用 1.2 单片机应用系统概述 1.2.1 单片机应用系统的种类 1.2.2 单片机控制系统的组成 1.2.3 单片机应用系统的开发过程 1.3 单片机开发板B简介 1.3.1 单片机开发板B的功能 1.3.2 单片机开发板B的主要电路 1.3.3 单片机开发板B的功能测试 第2章 单片机串行通信概述 2.1 串行通信的基本概念 2.1.1 并行通信与串行通信 2.1.2 串行通信工作模式 2.1.3 异步传输与同步传输 2.1.4 串行通信的基本参数 2.2 串行通信的接口标准 2.2.1 RS-232C接口标准 2.2.2 RS-422/485接口标准 2.3 PC中的串行端口 2.3.1 查看串行端口信息 2.3.2 串口通信线路连接 2.3.3 串口通信调试 2.3.4 虚拟串口的使用 2.4 单片机中的串行接口 2.4.1 串口的结构与控制 2.4.2 串口的工作方式 2.4.3 波特率的计算与串口初始化 2.5 PC编程软件的串行通信开发工具 2.5.1 串行通信控件MSComm 2.5.2 LabWindows/CVI串口通信函数 第3章 单片机与单片机串口通信编程实例 3.1 单片机与一个单片机串口通信 3.1.1 设计任务 3.1.2 线路连接 3.1.3 使用查询方式C51程序设计 3.1.4 使用中断方式C51程序设计 3.2 单片机与多个单片机串口通信 3.2.1 多机通信原理与通信协议 3.2.2 设计任务 3.2.3 线路连接 3.2.4 使用查询方式C51程序设计 3.2.5 使用中断方式C51程序设计 第4章 单片机与PC串口通信之数据传送编程实例 4.1 单个单片机与PC串口通信 4.1.1 设计任务 4.1.2 线路连接 4.1.3 单片机端采用C51实现 4.1.4 PC端采用VisualBasic实现 4.1.5 PC端采用C++Builder实现 4.1.6 PC端采用LabWindows/CVI实现 4.2 多个单片机与PC串口通信 4.2.1 设计任务 4.2.2 线路连接 4.2.3 单片机端采用查询方式C51程序设计 4.2.4 单片机端采用中断方式C51程序设计 4.2.5 PC端采用VisualBasic实现 4.2.6 PC端采用C++Builder实现 4.2.7 PC端采用LabWindows/CVI实现 第5章 单片机与PC串口通信之模拟量输入编程实例 5.1 系统设计说明 5.1.1 设计任务 5.1.2 线路连接 5.2 模拟电压输入程序设计 5.2.1 单片机端采用C51实现电压输入 5.2.2 PC端采用VisualBasic实现电压输入 5.2.3 PC端采用C++Builder实现电压输入 5.2.4 PC端采用LabWindows/CVI实现电压输入 …… 第6章 单片机与PC串口通信之模拟量输出编程实例 第7章 单片机与PC串口通信之数字量输入编程实例 第8章 单片机与PC串口通信之数字量输出编程实例 第9章 单片机与GSM短信模块串口通信编程实例 第10章 单片机与无线数传模块串口通信编程实例 第11章 采用组态软件实现单片机与PC串口通信编程实例 第12章 单片机的典型应用——智能仪器温度测量 参考文献
7.37MB
GCC技术参考大全
2012-07-16GCC 技术参考大全 GCC:The Complete Reference 清华大学出版社 非扫描 文字版 有书签 第 1 章 GCC 简介 第 2 章 查询与安装编译程序 第 3 章 预处理程序 第 4 章 编译 C 程序 第 5 章 编译 C++程序 第 6 章 编译 Objective-C 第 7 章 编译 Fortran 程序 第 8 章 编译 Java 第 9 章 编译 Ada 程序 第 10 章 混合语言 第 11 章 国际化 第 12 章 连接和库 第 13 章 使用 GNU 调试器 第 14 章 make 和 Autoconf 第 15 章 GNU 汇编器 第 16 章 交叉编译及窗体端口 第 17 章 嵌入式系统 第 18 章 编译程序输出 第 19 章 实现一种语言 第 20 章 寄存器传送语言 第 21 章 机器相关的编译程序选项 附录 A GNU 通用公共许可证 附录 B 环境变量 附录 C 命令行对照表 附录 D 命令行选项 附录 E 术语表
13.34MB
单片机应用技术选编(8).(北航出版.何立民)
2016-06-09书名:《单片机应用技术选编(8)》(北京航空航天大学出版社.何立民) PDF格式扫描版,全书分为8章,共616页。2000年出版。 内容简介 《单片机应用技术选编》系列图书是汇集了多年间国内主要期刊杂志中有关单片机应用系统的通用技术、实用技术以及相关领域中的新器件、新技术等技术文摘。反映了当时国内单片机应用、开发的先进水平,具有重要参考价值。本书是第8卷,选编了1999年587篇文章。其中全文编辑112篇,其余475篇摘要编辑。 注:原书无书签。为了方便阅读,本人在上传前添加了完整详细的书签。 目 录 第一章 单片机综合应用技术 1.1 单片机技术的发展与单片机应用的广泛选择
18.68MB
单片机应用技术选编(9).(北航出版.何立民)
2016-06-09书名:《单片机应用技术选编(9)》(北京航空航天大学出版社.何立民) PDF格式扫描版,全书分为9章,共737页。2000年出版。 内容简介 《单片机应用技术选编》系列图书是汇集了多年间国内主要期刊杂志中有关单片机应用系统的通用技术、实用技术以及相关领域中的新器件、新技术等技术文摘。反映了当时国内单片机应用、开发的先进水平,具有重要参考价值。本书是第9卷,选编了2000-2001年间443篇文章。其中全文编辑120篇,其余323篇摘要编辑。 注:原书无书签。为了方便阅读,本人在上传前添加了完整详细的书签。 目 录 第一章 专题论述 1.1 集成电路进入片上系统时代(2) 1.2 系统集成芯片综述(10) 1.3 Java嵌入技术综述(18) 1.4 Java的线程机制(23) 1.5 嵌入式系统中的JTAG接口编程技术(29) 1.6 EPAC器件技术概述及应用(37) 1.7 VHDL设计中电路简化问题的探讨(42) 1.8 8031芯片主要模块的VHDL描述与仿真(48) 1.9 ISP技术在数字系统设计中的应用(59) 1.10 单片机单总线技术(64) 1.11 智能信息载体iButton及其应用(70) 1.12 基于单片机的高新技术产品加密方法探讨(76) 1.13 新一代私钥加密标准AES进展与评述(80) 1.14 基于单片机的实时3DES加密算法的实现(86) 1.15 ATA接口技术(90) 1.16 基于IDE硬盘的高速数据存储器研究(98) 1.17 模拟比较器的应用(102) 第二章 综合应用技术 2.1 闪速存储器硬件接口和程序设计中的关键技术(126) 2.2 51单片机节电模式的应用(131) 2.3 分布式实时应用的两个重要问题(137) 2.4 分布式运算单元的原理及其实现方法(141) 2.5 用PLD器件设计逻辑电路时的竞争冒险现象(147) 2.6 IRIGB格式时间码解码接口卡电路设计(150) 2.7 一种基于单片机时频信号处理的实用方法(155) 2.8 射频接收系统晶体振荡电路的设计与分析(161) 2.9 揭开ΣΔ ADC的神秘面纱(166) 2.10 过采样高阶A/D转换器的硬件实现(172) 2.11 A/D转换的计算与编程(176) 2.12 一种提高单片机内嵌式A/D分辨力的方法(179) 2.13 单片微型计算机多字节浮点快速相对移位法开平方运算的实现(182) 2.14 单片微型计算机多字节浮点除法快速扫描运算的实现(186) 2.15 DSP芯片与触摸屏的接口控制(188) 第三章 操作系统与软件技术 3.1 嵌入式系统中的实时操作系统(192) 3.2 嵌入式系统的开发利器——Windows CE操作系统(197) 3.3 介绍一种实时操作系统DSP/BIOS(203) 3.4 实时操作系统用于嵌入式应用系统的设计(212) 3.5 实时Linux操作系统初探(217) 3.6 Linux网络设备驱动程序分析与设计(223) 3.7 在51系列单片机上实现非抢先式消息驱动机制的RTOS(229) 3.8 用结构化程序设计思想指导汇编语言开发(236) 3.9 单片机高级语言C51与汇编语言ASM51的通用接口(240) 3.10 ASM51无参数化调用C51函数的实现(245) 3.11 TMS320C3X的汇编语言和C语言及混合编程技术(249) 3.12 TMS320C6000嵌入式系统优化编程的研究(254) 3.13 TMS320C54X软件模拟实现UART技术(260) 3.14 W78E516及其在系统编程的实现(265) 3.15 键盘键入信号软件处理方法探讨(272) 3.16 单片机系统中数字滤波的算法(276) 第四章 网络、通信与数据传送 4.1 实时单片机通信网络中的内存管理(284) 4.2 CRC16编码在单片机数据传输系统中的实现(288) 4.3 在VC++中用ActiveX控件实现与单片机的串行通信(293) 4.4 利用Windows API函数构造C++类实现串行通信(298) 4.5 用Win32 API实现PC机与多单片机的串行通信(304) 4.6 GPS接收机与PC机串行通信技术的开发与应用(311) 4.7 TCP/IP协议问题透析(316) 4.8 单片机的MODEM通信(328) 4.9 无线串行接口电路设计(335) 4.10 通用无线数据传输电路设计(340) 4.11 FX909在无线高速MODEM中的应用(343) 4.12 蓝牙——短距离无线连接新技术(348) 4.13 蓝牙技术——一种短距离的无线连接技术(351) 4.14 蓝牙芯片及其应用(357) 4.15 BlueCoreTM01蓝牙芯片的特性与应用(361) 4.16 内嵌微控制器的无线数据发射器的特性及应用(365) 第五章 新器件及其应用技术 5.1 一种全新结构的微控制器——Triscend E5(372) 5.2 PSD8XXF的在系统编程技术(376) 5.3 PSD813F1及其接口编程技术(382) 5.4 一种优越的可编程逻辑器件——ISP器件(387) 5.5 ISPPLD原理及其设计应用(393) 5.6 ispPAC10在系统可编程模拟电路及其应用(397) 5.7 在系统可编程器件ispPAC80及其应用(404) 5.8 采用ispLSI1016设计高精度光电码盘计数器(408) 5.9 基于ADμC812的一种仪表开发平台(413) 5.10 基于P87LPC764的ΣΔ ADC应用设计方法(418) 5.11 MP3解码芯片组及其应用(431) 5.12 射频IC卡E5550原理及应用(434) 5.13 HD7279A键盘显示驱动芯片及应用(439) 5.14 基于SPI接口的ISD4104系列语音录放芯片及其应用(444) 5.15 解决DS1820通信误码问题的方法(450) 5.16 数字电位器在测量放大器中的应用(455) 第六章 总线及其应用技术 6.1 按平台模式设计的虚拟I2C总线软件包VIIC(462) 6.2 虚拟I2C总线软件包的开发及其应用(470) 6.3 RS485总线的理论与实践(479) 6.4 RS232至RS485/RS422接口的智能转换器(484) 6.5 实用隔离型RS485通信接口的设计(489) 6.6 几种RS485接口收发方向转换方法(495) 6.7 LonWorks总线技术及发展(498) 6.8 LonWorks网络监控的简单实现(505) 6.9 现场总线CANbus与RS485之间透明转换的实现(509) 6.10 居室自动化系统中的X10和CE总线(513) 6.11 通用串行总线USB(519) 6.12 USB2.0技术概述(524) 6.13 带通用串行总线USB接口的单片机EZUSB(530) 6.14 嵌入式处理器中的慢总线技术应用(536) 6.15 SPI串行总线在单片机8031应用系统中的设计与实现(540) 第七章 可靠性及安全性技术 7.1 软件可靠性及其评估(546) 7.2 网络通信中的基本安全技术(554) 7.3 数字语音混沌保密通信系统及硬件实现(560) 7.4 伪随机序列及PLD实现在程序和系统加密中的应用(565) 7.5 增强单片机系统可靠性的若干措施(569) 7.6 FPGA中的空间辐射效应及加固技术(573) 7.7 一种双机备份系统的软实现(577) 7.8 计算机系统容错技术的应用(581) 7.9 容错系统中的自校验技术及实现方法(585) 7.10 基于MAX110的容错数据采集系统的设计(589) 7.11 冗余式时钟源电路(593) 7.12 微机控制系统的抗干扰技术应用(599) 7.13 单片开关电源瞬态干扰及音频噪声抑制技术(604) 7.14 单片机应用系统程序运行出轨问题研究(608) 7.15 分布式系统故障卷回恢复技术研究与实践(613) 第八章 典型应用实例 8.1 基于单片机系统采用DMA块传输方式实现高速数据采集(620) 8.2 GPS数据采集卡的设计(624) 8.3 一种新型非接触式IC卡识别系统研究(629) 8.4 自适应调整增益的单片机数据采集系统(633) 8.5 利用光纤发射/接收器对实现远距离高速数据采集(639) 8.6 一种频率编码键盘的设计与实现(645) 8.7 高准确度时钟程序算法(649) 8.8 旋转编码器的抗抖动计数电路(652) 8.9 利用X9241实现高分辨率数控电位器(656) 8.10 基于AD2S80A的高精度位置检测系统及其在机器人控制中的应用(661)
24.39MB
单片机应用技术选编(5).(北航出版.何立民)
2016-06-09书名:《单片机应用技术选编(5)》(北京航空航天大学出版社.何立民) PDF格式扫描版,全书分为8章,共584页。2001年5月出版。 内容简介 《单片机应用技术选编》系列图书是汇集了多年间国内主要期刊杂志中有关单片机应用系统的通用技术、实用技术以及相关领域中的新器件、新技术等技术文摘。反映了当时国内单片机应用、开发的先进水平,具有重要参考价值。本书是第5卷,选编了1996年376篇文章。其中全文编辑124篇,其余252篇摘要编辑。 注:原书无书签。为了方便阅读,本人在上传前添加了完整详细的书签。 目 录 第一章 单片机的综合应用技术 1.1 MCS251微控制器的结构简介
24.30MB
大话处理器:处理器基础知识读本
2012-10-21大话处理器:处理器基础知识读本的真正完整本,全部八章,手动呕血扫描加书签,非网上那种6.33MB的太监版~!以全家人性命为誓~! 作者简介 万木杨,网名木兮清扬,华为公司服务近6年,曾任软件工程师、算法工程师、系统工程师,擅长多媒体算法设计和编写高效代码。 作者自2004年起开始研究多媒体算法,从语音识别,到人脸动画,再到视频编解码,足迹遍布语音、图像、视频、3D。自2006年在DSP上编写程序,从此开始深入研究处理器内部结构,后来接触过大量的半导体公司和处理器芯片,对处理器技术和产品有着深刻的理解。 闲暇之余,作者喜爱读书,多年来保持平均两周一本的速度。 ·查看全部>>目录 第1章 漫游计算机世界 1.1 计算机的前世、今生、来世 1.2 计算机分门别类 1.3 PC机结构探秘 第2章 初识处理器——掀起你的盖头来 2.1 处理器是怎样工作的——处理器的硬件模型 2.2 怎样来使用处理器——处理器的编程模型 2.3 处理器的分层模型 2.4 选什么样的处理器——适合的才是最好的 第3章 指令集体系结构——处理器的外表 3.1 指令集是什么 3.2 指令集发展的来龙去脉 3.3 指令集的五朵金花 3.4 地盘之争 3.5 汇编语言格式——没有规矩不成方圆 第4章 微架构——处理器的内心世界 4.1 跟着顺溜学流水线 4.2 从子弹射击到指令执行 4.3 从顺序执行到乱序执行——因时制宜 4.4 处理器并行设计——并行,提高性能的不二法门 4.5 指令并行(Instruction Level Parallelism) 4.6 数据并行(Data Level Parallelism) 4.7 线程并行(Thread Level Parallelism) 4.8 并行总结 4.9 微架构总结 第5章 Cache——处理器的“肚量” 5.1 什么是Cache——探索既熟悉又陌生的领域 5.2 处理器的Cache结构——探索那些鲜为人知的秘密 5.3 Cache一致性 5.4 片内可寻址存储器——软件管理的Cache 第6章 编写高效代码——时间就是生命 6.1 软件效率——21世纪什么最重要?效率! 6.2 减少指令数——勤俭持家 6.3 减少处理器不擅长的操作——不要逼我做我不喜欢的事情 6.4 优化内存访问——别让包袱拖垮了你 6.5 充分利用编译器进行优化——编译器:我才是优化第一高手 6.6 利用多核来加速程序——人多力量大 第7章 SOC——吸星大法 7.1 SOC大一统时代 7.2 IP核 第8章 “芯”路历程——明明白白我的“芯” 8.1 逻辑电路基础——计算机的基本构成 8.2 芯片设计——芯者,国之大事,不可不察也 8.3 芯片制造——点沙成金
-
下载
VR虚拟现实技术PPT模板.pptx
VR虚拟现实技术PPT模板.pptx
-
下载
ssh2_AddPage 4:21:2021.zip
ssh2_AddPage 4:21:2021.zip
-
下载
C语言重要疑难知识点集锦.pdf
C语言重要疑难知识点集锦.pdf
-
下载
车辆传感器网络车载节点设计.doc
车辆传感器网络车载节点设计.doc
-
下载
ONVIF 服务端测试C代码
ONVIF 服务端测试C代码
-
下载
kj-第6章数组.ppt
kj-第6章数组.ppt
-
下载
imreadasc.m
imreadasc.m
-
下载
培训体系的制度和实施PPT课件.ppt
培训体系的制度和实施PPT课件.ppt
-
下载
基于OpenCV的图像翻转和镜像.zip
基于OpenCV的图像翻转和镜像.zip
-
下载
基于Kinect设计的机器人头部姿态状态估计
基于Kinect设计的机器人头部姿态状态估计
