Kylix应用程序设计

Kylix应用程序设计
作 者: (美)Cary Jensen,(美)Loy Anderson著;辰卓工作室译;辰卓工作室译
出版社: 机械工业出版社
丛编项: Borland/Inprise核心技术丛书
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: Kylix
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《Kylix应用程序设计》作者简介

内容简介

本书介绍Borland公司推出的Linux平台RAD工具—Kylix,主要内容包括Kylix应用程序开发、数据库应用程序、Kylix先进特性精选和Internet应用程序开发等。此外,本书还包含了两个附录,分别介绍如何下载和安装书中使用的示例代码以及如何访问本书的支持站点。本书适合于所有对Kylix开发感兴趣的技术人员。

图书目录

目 录

译者序

前言

第一部分 Kylix应用程序开发

第1章 Kylix简介 1

1.1 Kylix概述 1

1.1.1 使用组件方式构建应用程序 2

1.1.2 Kylix执行代码生成 3

1.1.3 Kylix编程环境是事件驱动的 5

1.1.4 面向对象的软件开发 5

1.1.5 理解Kylix的开放工具API 5

1.1.6 快速应用程序开发 6

1.2 Delphi开发者眼中的Kylix 6

1.2.1 Kylix和Linux 7

1.2.2 CLX概述 8

1.2.3 一些缺陷 10

第2章 创建应用程序 13

2.1 创建一个基本的应用程序 13

2.1.1 创建一个新的工程 13

2.1.2 放置并配置组件 16

2.1.3 书写事件处理程序 18

2.1.4 添加菜单 20

2.1.5 使用附加的窗体和对话框 22

2.1.6 在命令提示符下运行完成的工程 30

2.2 Kylix工程中的文件 31

2.2.1 工程源文件 31

2.2.2 单元 31

2.2.3 窗体文件 32

2.2.4 被编译单元 33

2.2.5 可执行文件 33

2.2.6 被修改文件 33

2.2.7 工程选项文件 33

2.2.8 工程编译器设置文件 33

第3章 Kylix的RAD框架 34

3.1 使用可视窗体继承 34

3.1.1 改变继承对象的属性 37

3.1.2 在继承对象中覆盖事件处理程序 37

3.1.3 源于当前工程 39

3.1.4 定义共享的Object Repository 39

3.2 设计动作列表 39

3.3 使用帧 41

3.3.1 创建帧 42

3.3.2 使用帧 43

3.3.3 覆盖包含组件的属性 44

3.3.4 包含的对象事件处理程序 45

3.3.5 覆盖包含的对象的事件处理程序 47

3.3.6 帧和资源 48

3.3.7 简化帧的使用 49

3.3.8 将帧转化为实际的组件 51

3.4 使用数据模块 51

3.4.1 使用数据模块来共享组件 52

3.4.2 数据模块的局限性 53

第4章 使用并配置编辑器 55

4.1 编辑器键映射 55

4.2 选择编辑器按键 57

4.2.1 键宏记录 57

4.2.2 块缩进与不缩进 58

4.2.3 使用书签 59

4.2.4 将To-Do列表项作为书签来使用 59

4.2.5 类导航 60

4.2.6 代码浏览 60

4.2.7 类完成 62

4.2.8 递增查找 64

4.2.9 查找匹配分隔符 64

4.2.10 列操作 65

4.3 Code Insight 65

4.3.1 代码完成 65

4.3.2 代码参数 66

4.3.3 工具提示表达式求值 67

4.3.4 工具提示符号洞察 67

4.3.5 代码模板 67

4.4 编辑器键绑定 70

4.4.1 声明键绑定类 71

4.4.2 实现键绑定类 72

4.4.3 声明并实现Register过程 75

4.4.4 创建并安装新的设计时包 76

第5章 调试Kylix应用程序 78

5.1 集成调试器 78

5.1.1 工具提示表达式求值 78

5.1.2 调试窗口 79

5.1.3 Run菜单 84

5.2 禁用调试器 84

5.2.1 指示调试器忽略引发的异常 86

5.2.2 指示Kylix忽略特定异常 86

5.3 断点概述 87

5.3.1 源断点 87

5.3.2 其他断点类型 91

5.3.3 在Kylix会话之间持续断点 93

第二部分 数据库应用程序

第6章 数据库应用程序 95

6.1 理解数据库 96

6.1.1 数据库与表 96

6.1.2 数据库与SQL 97

6.1.3 其他与数据库相关的概念 97

6.1.4 本书中使用的数据库 98

6.1.5 创建数据库与表 98

6.2 利用Kylix开发数据库概述 99

6.3 数据库应用程序中使用的组件 106

6.3.1 数据识别控件 106

6.3.2 数据访问组件 108

6.3.3 dbExpress组件 109

6.4 dbExpress概述 110

6.5 创建简单的数据库应用程序 116

第7章 使用数据识别控件 120

7.1 数据识别控件的常规配置 120

7.1.1 Tab顺序与可视控件 121

7.1.2 修改Tab顺序 122

7.2 配置Kylix的数据识别控件 123

7.2.1 准备一个启用数据的组件模板 123

7.2.2 使用DBGrid 124

7.2.3 使用DBNavigator 142

7.2.4 使用DBText 143

7.2.5 控制DBEdit 144

7.2.6 使用DBMemo 146

7.2.7 使用DBListBox 147

7.2.8 使用DBComboBox 149

7.2.9 使用DBCheckBox 150

7.2.10 使用DBRadioGroup 150

7.2.11 使用DBLookupListBox与DBLookup

ComboBox 151

第8章 使用TField 154

8.1 字段概述 154

8.2 理解永久性字段 159

8.2.1 创建永久性字段 160

8.2.2 配置永久性字段 160

8.3 在程序运行时使用字段 167

8.3.1 读写数据集的字段 167

8.3.2 编写OnValidate事件处理程序 171

8.3.3 字段的访问. 性能与维护问题 172

8.4 创建新的永久性字段 175

8.4.1 创建计算字段 176

8.4.2 创建查找字段 177

8.4.3 定义合计字段 178

第9章 使用单向数据集 182

9.1 单向数据集 182

9.2 使用单向数据集 183

9.2.1 定义SQL连接 183

9.2.2 返回记录集的单向数据集 184

9.2.3 不返回结果集的单向数据集 186

9.3 使用参数化查询 187

9.3.1 创建主细视图 189

9.3.2 通过链接查询创建主细视图 192

9.3.3 准备单向查询 193

9.4 执行存储过程 194

9.4.1 返回各个值的存储过程 195

9.4.2 返回数据集的存储过程 196

第10章 使用内存数据集 199

10.1 内存数据集 199

10.2 创建内存表与索引 200

10.3 保存数据与取消修改 206

10.4 按索引排序 207

10.5 使用范围 212

10.6 过滤 214

10.6.1 根据属性进行过滤 214

10.6.2 过滤器选项 216

10.6.3 使用OnFilterRecord事件处理

程序 216

10.6.4 使用过滤器进行导航 217

10.7 搜索数据 218

10.7.1 使用FindKey与FindNearest 218

10.7.2 使用GotoKey与GotoNearest 219

10.7.3 使用Locate与Lookup 219

10.8 记录级别的有效性检查 224

第11章 高级数据库技术 226

11.1 应用更新的艺术 226

11.1.1 利用内存数据集编辑数据 226

11.1.2 基于记录状态进行过滤 230

11.1.3 判定记录状态 233

11.1.4 从Change日志中删除修改 234

11.1.5 刷新记录 237

11.2 自定义更新过程 238

11.2.1 通过DataSetProvider属性控制更新 239

11.2.2 向更新过程添加代码 242

11.2.3 处理更新错误 246

11.3 实用技术 248

11.3.1 使用SQL监视器 248

11.3.2 克隆游标 249

11.3.3 以每次保存一条记录的方式保存

数据 249

第12章 编写dbExpress驱动程序 253

12.1 理解数据库提供商客户端 253

12.1.1 初始化环境 254

12.1.2 连接数据库服务器 254

12.1.3 初始化语句句柄 254

12.1.4 准备SQL语句 255

12.1.5 传递运行时参数 255

12.1.6 执行SQL语句 256

12.1.7 绑定记录缓冲区 256

12.1.8 读取记录 257

12.1.9 释放句柄并且断开连接 257

12.2 dbExpress核心实现 258

12.2.1 SQLDriver类 258

12.2.2 SQLConnection类 261

12.2.3 SQLCommand类 267

12.2.4 SQLCursor类 286

12.2.5 SQLMetaData类 292

12.3 dbExpress接口源文件 292

第三部分 Kylix先进特性精选

第13章 多线程应用程序 293

13.1 多线程的优点 295

13.2 创建多线程应用程序 296

13.3 线程同步 307

13.3.1 使用Synchronize 307

13.3.2 使用临界区 308

13.3.3 等待线程 310

13.3.4 使用事件对象 313

13.3.5 锁对象 315

13.4 其他线程技术 315

13.4.1 线程局部变量 315

13.4.2 调试线程 316

13.4.3 对数据库的多线程访问 317

第14章 共享对象库 319

14.1 共享对象库概述 319

14.2 创建一个共享对象库的例子 320

14.2.1 将函数书写到Export 321

14.2.2 控制共享对象库名称 323

14.3 加载共享对象库存例程 326

14.4 创建共享对象库导入单元 328

14.5 动态加载共享对象库 330

14.5.1 声明变量 331

14.5.2 动态加载共享对象库 332

14.5.3 获取函数或者过程的地址 332

14.5.4 释放共享对象库 332

14.6 调试共享对象库 335

14.6.1 使用宿主应用程序进行调试 335

14.6.2 使用工程组进行调试 336

14.7 共享对象库初始化及退出 337

14.7.1 定义初始化代码 337

14.7.2 定义退出过程 337

第15章 构建组件 338

15.1 对象概述 338

15.1.1 从记录转向类 338

15.1.2 封装与成员可见性 341

15.1.3 定义运行时接口 342

15.1.4 继承与多态 345

15.2 组件创建简介 347

15.3 一个简单组件示例:定义新的属性

缺省值 348

15.3.1 使用Component向导 349

15.3.2 覆盖方法 350

15.3.3 实现覆盖构造函数 351

15.3.4 测试新的组件 352

15.3.5 安装组件 354

15.4 创建设计时包 355

15.5 有关属性的一个例子 357

15.5.1 定义成员域 357

15.5.2 定义属性 358

15.5.3 定义方法 358

15.5.4 覆盖现有方法 359

15.5.5 实现覆盖方法 360

15.5.6 创建事件属性 361

15.5.7 在完成组件时需要注意的细节

问题 362

15.6 相关主题:提高属性可见性 369

第16章 使用接口 372

16.1 接口概述 373

16.2 为何使用接口 373

16.3 声明接口 375

16.4 实现接口 377

16.5 接口和方法解析 384

16.6 通过授权实现接口 384

16.7 接口实例:数据泵 387

第四部分 Internet应用程序开发

第17章 Internet技术概述 393

17.1 协议. 技术与专业术语 393

17.2 RFC 394

17.3 IP地址 394

17.3.1 域名 394

17.3.2 TCP/IP与UDP 395

17.3.3 套接字与端口 395

17.3.4 SGML 396

17.3.5 HTML 396

17.3.6 FTP 397

17.3.7 HTTP 397

17.3.8 MIME 397

17.3.9 万维网 397

17.3.10 Web服务器 398

17.3.11 Web浏览器 398

17.3.12 Apache 398

17.3.13 CGI与DSO 399

17.3.14 SSI 399

17.4 Web服务器扩展概述 400

17.5 Web交互简介 400

17.5.1 URL的组成 401

17.5.2 请求类型 403

17.6 使用HTML 403

17.7 使用HTML将数据提交给Web服务器

扩展 404

17.7.1 图片标记 405

17.7.2 锚标记 405

17.7.3 HTML表单 406

17.8 编译Apache服务器来使用DSO 411

第18章 使用Web Broker编写Web服务器

扩展 414

18.1 创建简单的CGI Web服务器扩展 414

18.2 安装. 使用CGI服务器 418

18.2.1 添加LD_LIBRARY_PATH环境

变量 418

18.2.2 将CGI应用程序写到ScriptAlias

目录中 420

18.2.3 从浏览器执行CGI应用程序 421

18.3 创建. 配置一个简单的Apache DSO 422

18.3.1 创建DSO工程 422

18.3.2 使用生成器 423

18.4 安装. 使用DSO库 427

18.4.1 将DSO库写到Apache目录中 427

18.4.2 将DSO添加到httpd.conf中 427

18.4.3 关闭和启动Apache 428

18.4.4 从一个浏览器执行DSO库 429

第19章 高级Web Broker主题 431

19.1 从HTML表单中获取数据 431

19.2 创建基于Web的数据库应用程序 435

19.2.1 Web服务器扩展与并发性 435

19.2.2 数据识别提供者 436

19.2.3 在TableProducer中格式化单元 440

19.3 Cookie与WebRequest对象 441

19.3.1 获取和设置cookie 442

19.3.2 使用cookie和重定向 443

19.4 WebRequest的内容 446

19.5 调试Web服务器扩展 449

19.5.1 将CGI工程转换成DSO工程 449

19.5.2 调试DSO工程 450

第20章 Internet Direct概述 453

20.1 什么是Internet Direct 453

20.2 Internet Direct组件 455

20.2.1 Indy客户端组件 455

20.2.2 Indy服务器组件 457

20.2.3 Indy Miscellaneous组件 459

20.2.4 下载更新的Internet Direct组件 461

20.3 使用Internet Direct组件 461

20.3.1 Internet Direct客户端是如何

工作的 461

20.3.2 使用TIdAntiFreeze 462

20.3.3 Internet Direct服务器的工作方式 463

20.3.4 使用线程管理器 464

20.4 Internet Direct许可证 464

20.4.1 Indy修改的BSD许可证 464

20.4.2 Indy MPL许可证 465

20.4.3 在Kylix应用程序中遵守Indy

许可证 465

20.5 技术支持 465

第21章 使用Internet Direct 467

21.1 客户端和服务器的创建顺序 467

21.2 一个简单的服务器示例 468

21.2.1 线程和IdTCPServer 470

21.2.2 阻塞调用与并发 470

21.2.3 OnExecute和异常 471

21.3 数据库服务器示例 472

21.3.1 创建数据库服务器 472

21.3.2 创建数据库客户 474

21.4 在客户端处理异常 476

21.4.1 从客户端检测连接中断 476

21.4.2 使用多线程客户端测试服务器 477

21.5 使用TIdSMTP发送邮件 480

21.5.1 创建消息 480

21.5.2 创建TIdSMTP客户 481

21.5.3 在线程中创建客户端 482

21.5.4 初始化客户端线程 484

21.5.5 从一个线程中更新用户界面 484

21.6 ZIP编码查找服务器和客户端 486

21.6.1 定义ZIP编码协议 486

21.6.2 ZIP编码服务器 487

21.6.3 ZIP编码客户端 489

21.7 创建一个控制台服务器 491

21.7.1 创建控制台服务器的例子 491

21.7.2 测试纯文本控制台服务器 493

附 录

附录A 安装示例代码 495

附录B 本书的Web支持站点 496