第1章 系统项目开发概述 1
1.1 简介 1
1.1.1 管理信息系统的功能与用途 1
1.1.2 管理信息系统的开发方法 1
1.1.3 管理信息系统的优点 1
1.2 Delphi的数据库特性及功能简介 2
1.2.1 Delphi的数据库特性 3
1.2.2 Delphi可以访问的数据源(DataSource) 4
1.2.3 Delphi数据库的体系结构 4
1.3 数据访问组件(Data Access)简介 5
1.3.1 DataSource组件 5
1.4.1 BDE组件页上各组件的功能 9
1.4 BDE组件页简介 9
1.3.2 ClientDataSet组件 9
1.4.2 Table组件主要属性 10
1.4.3 Table组件的重要方法 15
1.4.4 Table组件的重要事件 25
1.4.5 Query组件的重要属性 26
1.4.6 Query组件的重要方法 29
1.4.7 TStoredProc组件的重要属性 30
1.4.8 TStoredProc组件的重要方法 32
1.5 ADO组件的介绍 33
1.5.1 ADOConnection组件 33
1.5.2 ADOCommand组件 35
1.5.3 ADODataSet组件 36
1.5.4 ADOTable组件 37
1.5.5 ADOQurey组件 38
1.5.6 ADOStoredProc组件 40
1.5.7 RDSConnection组件 41
1.6 ADO应用实例 41
1.7 本章小结 43
第2章 学校教学管理系统 44
2.1 系统总体设计 44
2.1.1 应用背景 44
2.1.2 解决方案设计 44
2.1.3 系统模块功能分析 45
2.2 数据库设计 46
2.2.1 总体设计 46
2.2.3 具体设计 47
2.2.2 E-R图分析 47
2.2.4 初始数据的输入 49
2.3 技术细节 49
2.3.1 数据库组件(TDatabase) 50
2.3.2 TDatabase的重要属性 50
2.3.3 TDatabase的重要方法 53
2.3.4 TDatabase的重要事件 54
2.3.5 用TPrinter对象打印 54
2.4 教师课程管理应用程序的创建 55
2.4.1 用户身份验证设计与实现 55
2.4.2 主窗体的设计与实现 58
2.4.3 打印窗体的设计与实现 65
2.4.4 打印控制窗体的设计与实现 69
2.5 学生课程管理应用程序的创建 69
2.5.1 用户身份验证设计与实现 70
2.5.2 主窗体的设计与实现 71
2.5.3 选课模块的设计与实现 72
2.5.4 查询成绩的设计与实现 76
2.5.5 打印和打印控制窗口 79
2.6 教务课程调度应用程序的创建 79
2.6.1 用户身份验证设计与实现 80
2.6.2 主窗体的设计与实现 81
2.6.3 课程设置审批设计与实现 81
2.6.4 课程资源分配设计与实现 84
2.6.5 选课结果查询管理设计与实现 88
2.6.6 成绩统计设计与实现 89
2.8 小结 92
2.7 扩充和提高 92
2.6.7 打印和打印控制窗口 92
第3章 宾馆管理系统 93
3.1 系统总体设计 93
3.1.1 应用背景 93
3.1.2 解决方案设计 93
3.1.3 系统模块分析 93
3.2 数据库设计 94
3.2.1 总体设计 94
3.2.2 详细设计 94
3.3 系统登录 98
3.3.1 登录系统 98
3.3.2 系统主窗体 100
3.4.1 操作员管理 103
3.4 系统管理功能 103
3.4.2 密码修改 105
3.4.3 系统初始化 106
3.4.4 设置信用卡 106
3.5 客房管理 109
3.5.1 客房管理 109
3.5.2 客房单价设置 111
3.5.3 客房查询 112
3.6 订房管理 115
3.6.1 客户订房 115
3.6.2 列出所有客户 118
3.6.3 客户退订 119
3.6.4 客人留言 121
3.6.5 查看所有留言 122
3.7 收银管理 124
3.7.1 客人退房 124
3.7.2 查询收支情况 126
3.8 查询管理 127
3.8.1 订房历史数据查询 127
3.8.2 收支历史数据查询 128
3.8.3 收支明细表查询 129
3.9 扩充与提高 130
3.10 本章小结 130
第4章 企业人力资源管理系统 131
4.1 系统总体设计 131
4.1.1 应用背景 131
4.1.2 系统功能分析 131
4.1.3 系统模块设计 132
4.2.1 系统的实体关系模型 133
4.2 数据库设计 133
4.2.2 数据库中表的设计 134
4.2.3 表之间的关系设计 138
4.3 技术难点和解决技巧—Chartfx控件的使用 139
4.3.1 使用TChartfx创建一个简单的图表 139
4.3.2 改变已经存在的图表的数据 140
4.3.3 改变图例和标题 141
4.3.4 改变图表的外观属性 142
4.4 程序预览 144
4.5 设计数据模块 148
4.5.1 建立数据模块 149
4.5.3 岗位编制数据集的字段 150
4.5.2 数据库连接的设置 150
4.5.4 基本资料数据集的字段 151
4.5.5 对基本资料输入数据进行合法性检查 153
4.6 设计和实现DBDateTimePicker组件 156
4.6.1 DBDateTimePicker的新增属性 156
4.6.2 DBDateTimePicker的构造与析构方法 156
4.6.3 DBDateTimePicker中管理数据源和数据字段 156
4.6.4 DBDateTime中控件值与数据库中数据同步 157
4.6.5 组件的注册、编译及安装 158
4.7 系统主窗口 158
4.7.1 界面设计 158
4.7.2 系统主窗口代码说明 159
4.7.3 程序的退出 159
4.7.4 主窗口调用各个模块 160
4.8.1 界面设计 161
4.8 代码设置模块 161
4.8.2 在不同的代码表中进行切换 162
4.8.3 其他代码 165
4.9 人员信息综合管理模块 165
4.10 基本资料管理模块 165
4.10.1 界面设计 166
4.10.2 表格的字段属性设置 168
4.10.3 窗口初始化 169
4.10.4 在表格模式和输入模式之间切换 169
4.10.5 更换照片 170
4.10.6 在表格中进行排序 170
4.10.7 调用其他模块 171
4.11.1 界面设计 172
4.11 编辑简历模块 172
4.11.2 简历信息数据集的字段设置 173
4.11.3 简历表格的字段属性设置 173
4.11.4 定义窗体属性 174
4.11.5 窗口初始化 175
4.11.6 添加新记录和提交编辑记录 175
4.11.7 对数据集进行排序 175
4.12 编辑档案信息模块 176
4.12.1 界面设计 176
4.12.2 档案信息数据集的字段设置 177
4.12.3 档案信息表格的字段属性设置 177
4.12.4 定义窗体属性 178
4.12.5 窗口初始化 179
4.12.6 添加新记录和提交编辑记录 179
4.13.1 界面设计 180
4.13 编辑兼职信息模块 180
4.12.7 对数据集进行排序 180
4.13.2 兼职信息数据集的字段设置 182
4.13.3 兼职信息表格的字段属性设置 182
4.13.4 定义窗体属性 183
4.13.5 窗口初始化 183
4.13.6 添加新记录和提交编辑记录 184
4.13.7 对数据集进行排序 184
4.14 编辑培训信息模块 185
4.14.1 界面设计 185
4.14.2 培训信息数据集的字段设置 186
4.14.3 培训信息表格的字段属性设置 187
4.14.4 定义窗体属性 188
4.14.5 窗口初始化 188
4.14.6 添加新记录和提交编辑记录 189
4.14.7 对数据集进行排序 190
4.15 编辑职称信息模块 190
4.15.1 界面设计 190
4.15.2 职称信息数据集的字段设置 192
4.15.3 职称信息表格的字段属性设置 193
4.15.4 定义窗体属性 193
4.15.5 窗口初始化 194
4.15.6 添加新记录和提交编辑记录 194
4.15.7 对数据集进行排序 196
4.16 人员调离及离退休管理模块 196
4.16.1 界面设计 196
4.16.2 人员基本信息表格的字段属性设置 197
4.16.3 提交人员离开及离退休记录 198
4.17.1 界面设计 199
4.17 人员信息综合查询模块 199
4.16.4 窗口初始化 199
4.16.5 显示员工详细资料 199
4.17.2 自定义的数据结构和窗体变量 200
4.17.3 将基本资料表中数值字段转化为相应的分组名称 201
4.17.4 窗口初始化 202
4.17.5 进行统计分析 204
4.17.6 设定分析图表数据 205
4.17.7 退出模块 207
4.18 设置岗位编制模块 207
4.18.1 界面设计 207
4.18.2 岗位设置表格的字段属性设置 208
4.19 设置岗位要求模块 209
4.19.1 界面设计 209
4.18.3 调用设置岗位要求模块 209
4.19.2 自定义的数据结构和模块私有变量 210
4.19.3 设置模块调用方式属性 211
4.19.4 读出相应岗位要求 212
4.19.5 将岗位要求转化为字符串 213
4.19.6 保存已设置的岗位要求 214
4.19.7 岗位编号属性的写方法 215
4.19.8 设置岗位要求模块的其他方法 215
4.20 查询岗位配置模块 216
4.20.1 界面设计 216
4.20.2 查询岗位配置 217
4.20.3 显示相关人员详细信息 221
4.21 扩充和提高 224
4.22 小结 224
4.20.4 显示岗位设置情况 224
第5章 库存保管系统 225
5.1 系统总体设计 225
5.1.1 应用背景 225
5.1.2 解决方案设计 226
5.1.3 程序结构设计 227
5.1.4 系统主要流程分析 228
5.2 数据库设计 229
5.2.1 总体设计 229
5.2.2 数据模型图分析 229
5.2.3 具体设计 230
5.3.1 Raize的介绍 236
5.3.2 FastReport介绍 236
5.3 技术细节 236
5.3.3 DevExpress的介绍 239
5.4 系统配置功能 240
5.5 系统登录身份校验功能 246
5.6 主程序结构功能 247
5.7 系统管理功能 251
5.7.1 系统日志管理 251
5.7.2 权限分配功能 252
5.8 基础资料管理功能 255
5.8.1 人员资料管理 255
5.8.2 产品信息管理 265
5.9 业务管理 266
5.9.1 账簿明细 266
5.9.2 账款管理 282
5.9.3 费用支出管理 291
5.10 统计分析 294
5.11 约定结款 301
5.12 个人助理 304
5.12.1 系统信息 304
5.12.2 通讯录 307
5.12.3 备忘录 309
5.13 数据模块设计 311
5.14 系统调用 314
5.14.1 全局变量 314
5.14.2 过程/函数调用 315
5.15 扩充与提高 319
5.16 本章小结 319
6.1.1 应用背景 320
6.1.2 系统功能分析 320
6.1 系统总体设计 320
第6章 客户关系管理系统 320
6.1.3 系统模块设计 321
6.2 数据库设计 321
6.2.1 系统的实体关系模型 321
6.2.2 数据库中表的设计 322
6.3 技术难点和解决技巧 327
6.3.1 利用Filter属性对结果集进行筛选 327
6.3.2 利用Tstrings类的Names和Values属性 328
6.3.3 Delphi中的ini文件编程 329
6.4 程序预览 330
6.5 系统公用模块 336
6.5.1 用户信息数据结构及获得用户信息函数 336
6.5.2 自定义对话框 338
6.5.3 通用数据库查询过程 342
6.5.4 其他通用过程 343
6.6 Splash窗口设计及调用 346
6.6.1 Splash界面设计 346
6.6.2 修改程序文件 347
6.7 数据模块 347
6.7.1 建立数据模块 348
6.7.2 设置数据库连接 349
6.7.3 客户资料数据集的字段 349
6.7.4 人员数据集的字段 350
6.7.5 联系记录数据集的字段 352
6.7.6 联系人数据集的字段 353
6.7.8 销售记录数据集的字段 354
6.7.7 商品数据集的字段 354
6.7.9 销售详情数据集的字段 355
6.7.10 行动安排数据集的字段 356
6.7.11 客户相关人员数据集的字段 357
6.7.12 读取数据连接字符及检验数据连接 358
6.7.13 数据集数据变更提交数据库前的处理 359
6.7.14 数据集中增加和删除记录前的处理 360
6.7.15 数据模块中的其他处理 360
6.8 登录模块 361
6.8.1 登录界面设计 361
6.8.2 登录过程 361
6.8.3 键盘操作的处理 362
6.9 系统主界面 363
6.9.1 界面设计 363
6.9.2 导航条的实现 365
6.9.3 主窗口的其他过程 366
6.10 系统设置模块 367
6.11 系统设置子模块 367
6.11.1 界面设计 368
6.11.2 动态设置基本数据表的数据源 369
6.12 设置商品数据模块 369
6.12.1 界面设计 369
6.12.2 设置商品数据的代码 371
6.13 客户关系资料管理模块 371
6.14 客户资料管理模块 371
6.14.1 界面设计 371
6.14.2 客户资料管理的代码 375
6.15 销售记录管理模块 375
6.15.1 界面设计 376
6.15.2 根据用户权限及销售记录状态设置控件的可用性 379
6.15.3 筛选销售记录和销售详情记录集 381
6.15.4 使控件显示的值与数据集中的值同步 382
6.15.5 提交审核结果和销售记录完成情况 383
6.16 联系人管理模块 385
6.16.1 界面设计 385
6.16.2 模块初始化 387
6.16.3 新增联系人和编辑联系人资料前的处理 391
6.16.4 变更主经手人 392
6.16.5 变更经手人 393
6.17 行动安排管理模块 394
6.17.1 界面设计 394
6.17.2 更新客户、联系人、经手人列表 396
6.17.3 使控件显示的值与数据集中的值同步 398
6.17.4 设置行动安排为完成或撤销状态 399
6.17.5 过滤行动安排记录集中的记录 399
6.18 联系记录管理模块 401
6.18.1 界面设计 401
6.18.2 联系记录管理代码 403
6.19 统计分析模块 403
6.20 销售构成分析模块 403
6.20.1 界面设计 403
6.20.2 模块初始化 405
6.20.3 进行分析 406
6.20.4 使用Tchart控件显示图形 409
6.20.5 对显示结果进行排序 410
6.21 独立的设置数据连接程序 410
6.22 扩充和提高 411
6.23 小结 412
第7章 企业资产管理系统 413
7.1 系统总体设计 413
7.1.1 应用背景 413
7.1.2 系统功能分析 413
7.1.3 系统模块设计 414
7.2 数据库设计 414
7.2.1 数据库中表的设计 414
7.2.2 表之间的关系设计 417
7.3 技术难点和解决技巧 417
7.3.1 在程序中获取数据库中存在的表名及创建、删除表 417
7.3.2 在程序中调用外部应用程序 419
7.4 程序预览 419
7.5.1 建立数据模块 423
7.5 设计数据模块 423
7.5.2 数据库连接的设置 424
7.5.3 固定资产数据集的字段 425
7.5.4 在数据模块中增加的属性 426
7.6 系统主窗口设计 426
7.6.1 界面设计 427
7.6.2 系统对子模块进行调用的方法 429
7.6.3 查询菜单和管理菜单的切换 439
7.6.4 程序的退出 439
7.7 固定资产资料管理模块 439
7.8 固定资产基本资料维护模块 440
7.8.1 界面设计 440
7.8.2 调用模块的类型及相关属性和变量的定义及设置方法 442
7.8.3 使原值、净残余值、净残余值率输入控件值同步 444
7.8.4 提交更改后的或新增的固定资产资料 447
7.8.5 生成备注信息 448
7.8.6 模块的初始化和退出 449
7.9 固定资产借出与归还管理模块 450
7.9.1 界面设计 450
7.9.2 调用模块的类型及相关的属性和变量定义 452
7.9.3 检验输入编号的方法 452
7.9.4 提交借出或归还记录的方法 454
7.9.5 模块的初始化和退出 456
7.10 固定资产使用部门变更模块 457
7.10.1 界面设计 457
7.10.2 检验输入的编号 458
7.10.3 提交使用部门变更记录 458
7.11.1 界面设计 460
7.10.4 模块的初始化和退出 460
7.11 固定资产维修与修回管理模块 460
7.11.2 调用模块的类型及相关的属性和变量定义 461
7.11.3 检验输入的编号 462
7.11.4 提交维修或修回记录 462
7.11.5 模块的初始化和退出 464
7.12 固定资产清理模块 464
7.12.1 界面设计 464
7.12.2 检验输入的编号 465
7.12.3 提交清理记录的方法 465
7.12.4 模块的初始化和退出 466
7.13 固定资产计提折旧模块 466
7.13.1 界面设计 467
7.13.2 从数据库中读出需要计提折旧固定资产资料到临时表 468
7.13.3 自动计算本次折旧额 470
7.13.4 提交本次固定资产折旧资料 471
7.13.5 退出模块 473
7.14 固定资产信息综合查询模块 473
7.14.1 界面设计 473
7.14.2 查询结果集的字段设置 474
7.14.3 模块初始化 475
7.14.4 根据设定动态生成查询条件进行查询 476
7.14.5 退出模块 480
7.15 固定资产借出信息查询模块 480
7.15.1 界面设计 480
7.15.2 查询结果集的字段设置和结果显示表格的列设置 481
7.15.3 查询借出信息 482
7.16.1 界面设计 483
7.16 固定资产使用部门变更信息查询模块 483
7.15.4 在显示全部固定资产和单个固定资产资料之间切换 483
7.15.5 退出模块 483
7.16.2 查询结果集的字段设置和结果显示表格的列设置 484
7.16.3 查询使用部门变更信息 485
7.16.4 退出模块 486
7.17 固定资产维修信息查询模块 486
7.17.1 界面设计 486
7.17.2 查询结果集的字段设置和结果显示表格的列设置 487
7.17.3 查询维修信息 488
7.17.4 退出模块 489
7.18 固定资产折旧信息查询模块 489
7.18.1 界面设计 489
7.18.2 查询结果集的字段设置和结果显示表格的列设置 490
7.18.3 查询折旧信息 491
7.18.4 退出模块 492
7.19 固定资产清理信息查询模块 492
7.19.1 界面设计 492
7.19.2 查询结果集的字段设置和结果显示表格的列设置 493
7.19.3 查询清理信息 494
7.19.4 退出模块 494
7.20 扩充和提高 495
7.20.1 固定资产的统计和汇总 495
7.20.2 报表的功能 495
7.20.3 系统的扩展性 495
7.21 小结 495
附录 496