第1章 Linux操作系统与Kylix简介 1
1.1 Linux操作系统简介 1
1.2 为什么使用Linux操作系统 2
1.3 Kylix简介 3
1.3.1 Kylix概述 3
1.3.2 Kylix的主要特点 5
1.4 安装Linux之前的准备工作 6
1.4.1 了解Linux操作系统对硬件设备的要求 6
1.4.2 确定硬件设备是否正确 7
1.4.3 考虑安装Kylix的设备要求 7
1.5 本章小结 8
第2章 Linux操作系统的安装和配置 9
2.1 Linux的安装 9
2.1.1 安装准备 9
2.1.2 开始安装 13
2.1.3 安装X文件 15
2.1.4 关闭系统 15
2.2 Linux系统的配置 16
2.2.1 配置鼠标 16
2.2.2 配置X Window 16
2.2.3 配置LILO 17
2.2.7 配置打印机 18
2.2.6 配置时钟 18
2.2.4 配置声卡 18
2.2.5 配置网络 18
2.3 本章小结 19
第3章 Linux操作系统基本命令 20
3.1 使用man命令获取帮助 20
3.2 浏览及搜索文件系统 21
3.2.1 使用cd命令进入不同的目录 22
3.2.2 使用pwd命令查看当前所在的位置 22
3.2.3 使用find命令在子目录中搜索匹配的文件 22
3.2.5 使用locate命令定位文件 24
3.2.4 使用whereis命令查找文件 24
3.2.6 使用whatis和apropos命令获取命令简介 25
3.3 阅读子目录和文件 25
3.3.1 使用Is(dir)命令列出子目录的内容清单 26
3.3.2 使用cat命令查看文件内容或合并文件 27
3.3.3 使用more命令逐屏阅读文件 27
3.3.4 使用less命令浏览文件 29
3.3.5 使用head或tail命令阅读文件的开头和结尾 29
3.3.6 使用其他一些文件操作命令 30
3.4 在Linux系统中安装新软件 32
3.4.1 概述 32
3.4.3 确定源代码是否可以在机器上通过编译并运行 33
3.4.2 寻找软件包 33
3.4.4 替换制作文件 34
3.4.5 编译源代码 34
3.4.6 安装二进制代码 35
3.4.7 把软件包添加到用户的PATH语句中 35
3.4.8 识别可执行程序 35
3.5 本章小结 36
4.2 安装Kylix前的准备 37
4.2.2 Kylix的安装准备 37
4.2.1 Kylix软件的获得 37
4.1 Kylix入门 37
第4章 Kylix的安装与启动 37
4.2.3 安装前测试 38
4.2.4 安装LIBJPEG 40
4.2.5 安装GLIBC 40
4.3 Kylix的安装 42
4.3.1 Kylix要求 42
4.3.2 根安装与普通(非根用户)安装的比较 43
4.3.3 Kylix安装程序 43
4.3.4 安装过程 43
4.3.5 库相关性 44
4.3.8 卸载Kylix 45
4.3.7 对象库 45
4.3.6 标准C++库问题 45
4.4 启动Kylix 46
4.5 本章小结 46
第5章 Kylix 1.0集成开发环境 47
5.1 Kylix 1.0集成开发环境的组成 47
5.2 菜单栏及其使用 48
5.2.1 File菜单 48
5.2.2 Edit菜单 49
5.2.3 Search菜单 51
5.2.4 View菜单 52
5.2.5 Project菜单 53
5.2.6 Run菜单 55
5.2.7 Component菜单 56
5.2.8 Tools菜单 56
5.2.9 Help菜单 57
5.3 工具条及使用 58
5.4 部件板 59
5.5 窗体设计器 59
5.6 对象检查器及其使用 61
5.6.1 对象检查器的组成: 61
5.6.2 使用对象检查器设置属性 61
5.6.3 为部件对象添加事件 62
5.6.4 使用对象检查器的上下文菜单 62
5.7.1 代码编辑器的组成 63
5.7 代码编辑器及其使用 63
5.7.2 代码洞察(Code Insight) 64
5.7.3 代码浏览(Code Browser) 65
5.7.4 类完善 65
5.7.5 使用书签 65
5.7.6 使用代码编辑器的上下文菜单 66
5.8 代码管理器(Code Explorer)及其使用 67
5.8.1 代码管理器的组成 67
5.8.2 代码管理器的使用 67
5.9 本章小结 68
5.8.3 代码管理器的上下文菜单 68
第6章 文件管理应用程序设计 70
6.1 文件管理设计基本思路 70
6.1.1 窗口设计 70
6.1.2 界面设计 70
6.1.3 子窗口的创建、布置和关闭 72
6.2 文件控件的联系 73
6.3 DriveTabSet的自画风格显示 73
6.3.1 设置自画风格 73
6.3.2 向字符串链表添加图形对象 73
6.3.3 画出自画项目 74
6.4.1 文件打开 75
6.4 文件管理基本功能的实现 75
6.4.2 文件拷贝、移动、删除、更名 76
6.4.3 一致的界面 78
6.4.4 显示文件属性 79
6.5 其他文件管理功能的实现 81
6.5.1 文件查找 81
6.5.2 显示磁盘信息 82
6.5.3 改变显示文件的类型 83
6.5.4 目录管理功能的实现 83
6.5.5 创建目录 83
6.6 为部件增添一个方法 84
6.5.6 删除目录 84
6.7 一些问题的处理 87
6.7.1 子窗口的标题 87
6.7.2 状态条的显示 87
6.7.3 版本信息 88
6.7.4 菜单项的变灰与使能 88
6.7.5 可重用的文件处理模块 89
6.8 本章小结 89
第7章 对象Pascal语言基础知识 90
7.1 保留字和标识符 90
7.1.1 保留字和标准指令字 90
7.1.2 标识符 91
7.2 对象Pascal 中的数据类型 92
7.2.1 简单数据类型 93
7.2.2 字符串类型 98
7.2.3 结构类型 99
7.2.4 指针类型 114
7.2.5 过程类型(procedural) 116
7.2.6 可变类型(variant) 118
7.2.7 其他类型 120
7.3 注释 120
7.4 运算符和表达式 121
7.4.1 运算符 121
7.4.2 表达式 123
7.5.2 赋值语句 124
7.5 语句 124
7.5.1 声明语句 124
7.5.3 goto语句 125
7.5.4 复合语句 125
7.5.5 with语句 125
7.5.6 if语句 126
7.5.7 case语句 126
7.5.8 repeat语句 126
7.5.9 while语句 127
7.5.10 for语句 127
7.6 单元 127
7.6.2 对象Pascal程序库单元的结构 128
7.6.1 对象Pascal的库单元Unit 128
7.7 类与对象 129
7.7.1 什么是对象 129
7.7.2 对象的封装性 129
7.7.3 对象的继承性 130
7.7.4 对象的多态性 130
7.8 本章小结 130
第8章 使用Kylix开发数据库应用程序 131
8.1 数据库系统概述 131
8.2 数据库应用程序的体系结构 132
8.3 Kylix(Server)支持的数据库类型 133
8.3.1 Interbase 134
8.3.2 MySQL 135
8.3.3 DB2 135
8.3.4 Oracle 135
8.4 数据库访问控制部件及其应用 136
8.4.1 数据访问(Data Access)部件 136
8.4.2 数据库表达(dbExpress)部件 137
8.4.3 数据控制(Data Control)部件 138
8.5 Kylix中的SQL 138
8.5.1 SQL语言简介 138
8.5.2 Kylix的SQL语言的基本应用 139
8.6 本章小结 140
9.1 数据控制部件的基本特征 141
第9章 数据控制部件的使用 141
9.1.1 将数据控制部件和数据集关联起来 142
9.1.2 编辑更新数据 143
9.1.3 启动和关闭数据显示 144
9.1.4 刷新数据显示 145
9.1.5 启动鼠标、键盘和定时器事件 145
9.2 如何组织数据 145
9.2.1 显示单个记录 145
9.2.2 显示多个记录 150
9.3 使用TDBGrid显示、编辑数据 151
9.3.1 在缺省状态下使用网格控制 151
9.3.3 设置grid选项 152
9.3.2 显示复合字段 152
9.3.4 在网格内编辑 154
9.3.5 控制网格绘图属性 154
9.3.6 对运行时用户行为的响应 154
9.4 导航、操作记录 155
9.5 本章小结 156
第10章 使用无向数据集 157
10.1 指定数据显示 157
10.1.1 显示查询结果 158
10.1.2 在表中显示记录 160
10.1.3 显示存储过程结果 160
10.2.1 准备数据集 163
10.2 取数据 163
10.2.2 取多个数据集 164
10.3 执行无返回记录的命令 164
10.3.1 指定要执行的命令 164
10.3.2 执行命令 164
10.3.3 创建和修改服务器元数据 165
10.4 建立主/明细关系 166
10.4.1 建立TSQLDataSet或TSQLQuery的主/明细关系 166
10.4.2 建立TSQLTable的主/明细关系 167
10.5 访问主题信息 168
10.5.1 在使用数据集之后取数据 168
10.5.2 元数据数据集的结构 169
10.6 本章小结 171
第11章 链接到数据库 172
11.1 控制链接 172
11.1.1 描述服务器链接 172
11.1.2 打开和关闭服务器链接 174
11.2 控制服务器登录 175
11.3 管理事务 177
11.3.1 开始事务 177
11.3.2 终止事务 178
11.3.3 规定事务独立级别 178
11.4 访问服务器元数据 179
11.5.2 叠代穿过相关数据集 180
11.5 使用相关数据集 180
11.5.1 不断开与服务器的链接而关闭数据集 180
11.6 发送命令到服务器 181
11.7 调试数据库应用程序 182
11.7.1 使用TSQLMonitor来监视SQL命令 182
11.7.2 使用回叫来监视SQL命令 183
11.8 本章小结 184
第12章 使用客户数据集(Client DataSets) 185
12.1 使用客户数据集处理数据 185
12.1.1 在客户数据集中导航数据 185
12.1.2 限制出现的记录 188
12.1.3 显示主/明细关系 191
12.1.4 约束数据值 194
12.1.5 将数据设置为只读的 194
12.1.6 编辑数据 195
12.1.7 排序和索引 196
12.1.8 表示计算值 199
12.1.9 使用维护聚合(maintained aggregates) 199
12.1.10 给数据添加特定应用信息 201
12.2 从另一个数据集拷贝数据 201
12.2.1 直接赋值 202
12.2.2 克隆客户数据集光标 202
12.3.1 指定一个数据提供商 203
12.3 和提供商一起使用客户数据集 203
12.3.2 从数据源获取参数 204
12.3.3 传递参数到源数据集 204
12.3.4 指定在服务器上执行的命令 205
12.3.5 从源数据集请求数据 206
12.3.6 更新记录 207
12.3.7 刷新记录 209
12.3.8 使用客户事件与提供商部件通讯 209
12.4 使用SQL客户数据集 210
12.4.1 何时使用TSQLClientDataSet 210
12.4.2 建立一SQL客户数据集 211
12.5 和基于文件的数据一起使用客户数据集 212
12.4.3 配置内部提供商部件 212
12.5.1 创建一个新数据集 213
12.5.2 从文件或流中载入数据 215
12.5.3 合并变化到数据 215
12.5.4 保存数据到文件或流 215
12.6 本章小结 216
第13章 使用提供商(Provider)部件 217
13.1 决定数据源 217
13.2 与客户数据集通讯 218
13.4.2 设置影响数据包的选项 219
13.4.1 指定数据包中有哪些字段 219
13.4 控制数据包中包含哪些数据 219
13.3 选择更新方法 219
13.4.3 向数据包中添加客户信息 220
13.5 对客户数据请求的响应 221
13.6 对客户数据更新的响应 222
13.6.1 在更新数据库之前编辑delta包 222
13.6.2 如何影响更新 223
13.6.3 显示单个更新 224
13.6.4 在提供商部件中解决更新错误问题 224
13.7 对客户引发事件的响应 225
13.8 本章小结 225
13.6.5 在不代表单个表格的数据集上应用更新 225
第14章 创建Internet服务器应用程序 226
14.1 术语与标准 226
14.1.1 URL(Uniform Resource Locator,统一资源定位符)的组成 226
14.1.2 HTTP请求头信息 227
14.2 HTTP服务器行为 227
14.2.1 形成客户请求 227
14.2.2 处理CGI请求 228
14.2.3 处理动态共享对象请求 228
14.3 Web服务器应用程序 228
14.3.2 创建Web服务器应用程序 229
14.3.3 Web模块 229
14.3.1 Web服务器应用程序的类型 229
14.3.4 Web应用程序对象 230
14.4 Web服务器应用程序的结构 230
14.5 Web调度程序 231
14.5.1 给调度程序添加行为 231
14.5.2 调度请求信息 231
14.6 行为项 232
14.6.1 确定触发行为的时机 232
14.6.2 用行为项响应请求消息 233
14.7 访问客户请求信息 234
14.7.1 包含请求头信息的属性 234
14.7.2 HTTP请求消息的内容 235
14.8 创建HTTP响应消息 236
14.8.1 填写响应头 236
14.8.2 设置响应内容 237
14.8.3 发送响应 237
14.9 生成响应消息的内容 237
14.9.1 使用页面生成器(page producer)部件 238
14.10 在响应中使用数据库信息 241
14.10.1 在Web模块中加入会话 241
14.10.2 在HTML中标识数据库信息 241
14.11 调试服务器应用程序 243
14.11.1 调试CGI应用程序 243
14.11.2 调试Apache DSO应用程序 244
14.12 本章小结 245
第15章 使用插口(Sockets) 246
15.1 实现的服务 246
15.2 Socket链接的类型 247
15.2.1 客户链接 247
15.2.2 侦听链接 247
15.2.3 服务器链接 247
15.3 描述Socket 247
15.3.1 描述主机 248
15.3.2 使用端口 248
15.4.1 使用客户Socket 249
15.4 使用Socket部件 249
15.4.2 使用服务器Socket 250
15.5 响应Socket事件 250
15.5.1 错误事件 251
15.5.2 客户事件 251
15.5.3 服务器事件 251
15.6 通过Socket链接读写 252
15.6.1 非阻塞链接 252
15.6.2 阻塞链接 253
15.7 本章小结 253
16.1.2 部件和类 254
16.1.1 跨平台部件库CLX 254
16.1 建立部件概述 254
第16章 Kylix自定义部件开发 254
16.1.3 建立部件过程概述 255
16.1.4 建立新部件的方法 256
16.1.5 测试未安装的部件 259
16.2 编写部件的面向对象技术 261
16.2.1 建立部件 261
16.2.2 控制部件的访问 262
16.2.3 派送方法 264
16.3 Kylix部件编程 266
16.3.1 创建属性 266
16.3.2 创建事件 272
16.3.3 创建方法 277
16.4 使部件在设计时可用 278
16.4.1 注册部件 279
16.4.2 添加Component Palette上的位图 280
16.4.3 添加属性编辑器 280
16.5 部件编程实例 284
16.5.1 创建数据库相关的日历控制—TDBCalendar 284
16.5.2 创建图形部件 289
16.6 本章小结 297
附录 nterbase简介 298