第一篇 知识准备 2
第1章 Visual Studio 2008 2
1.1 Visual Studio 2008简介 2
1.1.1 简介 2
1.1.2 版本介绍 3
1.2 Visual C++2008简介 4
1.2.1 Visual C++2008版本 4
1.2.2 Visual C++2008项目模板 7
1.2.3 Visual C++2008中的新增功能 7
1.2.4 Visual C++2008中的重大变更 10
小结 10
第2章 使用Visual C++2008 11
2.1 简介 11
2.2 项目和解决方案 11
2.2.1 使用项目和解决方案 11
2.2.2 使用解决方案资源管理器 12
2.2.3 添加源文件 14
2.3 生成项目 14
2.4 测试项目 15
2.5 调试项目 16
2.6 部署程序 17
小结 18
第3章 MFC 19
3.1 什么是MFC 19
3.2 为什么选择MFC 21
小结 21
第4章 UML 22
4.1 什么是UML 22
4.2 UML包含的元素 22
4.3 在软件开发的不同阶段对应的UML 25
小结 25
第二篇 从简单的程序开始 28
第5章 文件管理器 28
5.1 项目概述 28
5.2 知识点介绍 28
5.2.1 关于字符及编码 28
5.2.2 字符串操作 31
5.2.3 文件操作 32
5.2.4 对话框 33
5.3 项目分析 35
5.4 项目实现 35
5.4.1 搭建用户界面 36
5.4.2 获取系统文件目录结构 42
5.4.3 文件过滤 50
5.4.4 文件类别 51
5.4.5 文件管理 57
小结 60
第6章 配置参数 61
6.1 模块概述 61
6.2 知识点介绍 61
6.3 模块分析 65
6.4 功能实现 66
6.5 项目整合 74
6.5.1 保存用户自定义设置 74
6.5.2 读取用户自定义设置 76
小结 78
第7章 在项目中学习 79
7.1 几种字符串类型 79
7.1.1 字符串类型的对比 79
7.1.2 使用CString类 83
7.2 字符串列表和字符串数组 89
7.2.1 字符串数组(CStringArray) 89
12.2 配置数据库 134
12.3 搭建系统主界面 135
小结 136
第13章 系统登录 137
13.1 用户界面及相关处理 137
13.2 后台处理 139
小结 145
第14章 服务端管理 146
14.1 服务端系统设置 146
14.2 用户信息管理 151
14.3 公告管理 174
小结 185
第15章 服务管理 186
15.1 实现通信模块 186
15.2 实现协议解析模块 190
15.3 控制服务的启动与关闭 194
小结 199
第四篇 即时通信系统―客户端 202
第16章 客户端项目分析 202
16.1 整体分析 202
16.2 活动分析 205
小结 208
第17章 搭建客户端框架 209
17.1 建立解决方案 209
17.2 添加数据传输类 210
17.3 建立应用程序通信协议 210
17.4 数据分发与封装处理 217
小结 223
第18章 系统登录 224
18.1 建立登录界面 224
18.2 增加连接参数设置 225
18.3 增加登录验证 225
18.4 增加服务端验证处理 230
18.5 连接参数配置 233
小结 235
第19章 加载系统主界面 236
19.1 建立系统主界面及所需的加载页 236
19.2 建立加载页与主对话框的关联 239
19.3 载入客户端初始化信息 242
19.3.1 加载用户信息 242
19.3.2 加载用户列表 245
19.3.3 加载公告列表 254
19.4 显示信息 258
19.4.1 组织信息 258
19.4.2 用户信息 260
19.4.3 公告信息 262
小结 266
第20章 配置、聊天及文件传输 267
20.1 个性化参数配置 267
20.2 聊天处理 271
20.3 文件传输处理 278
小结 291
第21章 企业即时通信的商业扩展 292
21.1 即时通信模块 292
21.2 视频会议模块 293
21.3 用户定义模块 293
21.4 系统管理模块 293
21.5 后台管理模块 294
小结 295
第22章C++/CLI 296
22.1 语言关键字 297
22.2 托管类型 298
22.2.1 声明一个托管类类型 298
22.2.2 一个CLI的引用类对象的声明 300
22.2.3 CLI数组的声明 305
22.2.4 析构函数语义的变化 307
22.3 类或接口中的成员声明 311
22.3.1 属性声明 311
22.3.2 属性索引声明 313
22.3.3 委托和事件 315
22.3.4 密封一个虚函数 317
22.3.5 操作符重载 318
22.3.6 转换操作符 319
22.3.7 接口成员的显式重写 320
22.3.8 私有虚函数 321
22.3.9 静态常量整型的连接方式 322
22.4 值类型及其行为 322
22.4.1 CLI枚举类型 323
22.4.2 隐式装箱 326
22.4.3 装箱值的跟踪句柄 327
22.4.4 值类型语义 328
22.5 语言变化概要 332
22.5.1 字符串 332
22.5.2 参数数组和省略号 334
22.5.3 typeof改为T::typeid 335
22.5.4 强制转换符号和safe_cast<>简介 335
22.6 推动修订版语言设计 339
小结 345
附录A 几种常用的网络通信模型 346
附录B 数据库设计 367
附录C Micorsoft Access 2007 378
附录D Visual Studio 2010简介 387