
最 低 价:¥35.40
定 价:¥0.00
作 者:Charles Calvert,Marjorie Calvert,John Kaster,Bob Swart 著
出 版 社:人民邮电出版社
出版时间:2002 年8月
I S B N:7115104255
| Charlie Calvert是一名程序员兼作者,同妻子(兼同事) Mmpie以及两只猫居住在加利福尼亚的圣克鲁斯。其著作包括《Delphi 4 Unleashed》、《C++ Builder 3 Unleashed》、《Delphi 2 Unleashed》、《Teach Yourself Windows 95 Programming in 21 Days》、《Delphi Unleashed》、《Teach Yourself Windows Programming》、《Turbo Pascal Programming 101》等。他还同妻子一道编写了一套关于Java的交互式教程,并在众多的技术杂志上发表过文章。在从欧洲、澳大利亚到远东的一些重大行业会议和大量小型会议上,Cha.. << 查看详细 |
| 第一部分 了解delphi和linux 1 第1章 可视化开发 2 1.1 kylix ide 2 1.1.1 本章内容简介 2 1.1.2 ide概述 3 1.2 菜单 3 1.2.1 菜单快捷键 4 1.2.2 快捷菜单 4 1.2.3 向菜单中添加新工具 4 1.2.4 工具栏 5 1.3 可视化开发 6 1.3.1 组件面板 7 1.3.2 软件包 8 1.3.3 使用kylix窗体设计器 9 1.3.4 排列组件 9 1.3.5 对象查看器 10 1.3.6 配置对象查看器 11 1.3.7 编辑xfm文件 11 1.3.8 constraints和anchors 13 1.3.9 tab顺序 14 .1.3.10 对象查看器和事件 14 1.4 kylix单元的源代码 14 1.4.1 kylix单元的接口 15 1.4.2 kylix单元的实现 17 1.4.3 formcreate方法哪里去了 18 1.5 pascal源文件 18 1.5.1 delphi工程文件 19 1.5.2 单元 19 1.5.3 pascal程序的入口 20 1.5.4 uses 子句和循环单元引用 20 1.6 kylix中的编译阶段 22 1.7 使用容器 22 1.7.1 panneldesign程序 24 1.8 本章小结 30 第2章 循环、分支、运算符和递归 31 2.1 术语定义:语句和表达式 31 2.1.1 表达式 31 2.1.2 语句 31 2.2 if 语句 32 2.3 case 语句 34 2.4 for 循环 35 2.5 while语句 37 2.6 repeat语句 39 2.6.1 循环和分支小结 40 2.7 运算符简介 41 2.7.1 赋值运算符 41 2.7.2 除法运算符 41 2.7.3 布尔和逻辑运算符 42 2.7.4 关系运算符 42 2.7.5 获取变量的地址 43 2.7.6 执行字符串和指针运算的运算符 43 2.7.7 关于运算符的最后说明 44 2.8 递归 44 2.8.1 阶乘 44 2.8.2 fibonacci数 45 2.8.3 递归绘图 47 2.9 本章小结 48 第3章 pascal基本语法 49 3.1 本章内容 49 3.2 整型和浮点型 49 3.2.1 序数类型 50 3.2.2 使用序数的pascal函数 51 3.2.3 枚举类型 53 3.2.4 浮点型 54 3.3 pascal字符串 58 3.3.1 shortstrings 59 3.3.2 ansistring 59 3.3.3 pchar 61 3.3.4 widestring 62 3.4 强制类型转换 62 3.4.1 as、is运算符和sender参数 63 3.5 数组 64 3.5.1 数组常量 65 3.5.2 动态数组和对象数组 65 3.5.3 调试数组:启用范围检查功能 68 3.6 记录 69 3.6.1 记录和with语句 69 3.6.2 variant记录 70 3.7 指针 73 3.7.1 使用指向对象的指针 74 3.7.2 指针、构造函数和析构函数 76 3.7.3 虚拟方法和override编译指令 77 3.8 object pascal没有的特性 77 3.9 本章小结 77 第4章 对象和接口 79 4.1 kylix的对象模型 79 4.1.1 在哪里声明对象 79 4.1.2 object pascal类的作用域规则 81 4.1.3 互相引用对方的类的作用域问题 81 4.1.4 声明方法 82 4.1.5 object pascal的继承模型:virtual和override 82 4.1.6 在声明中使用dynamic而不是virtual 83 4.1.7 调用覆盖方法的祖先:inherited 85 4.1.8 abstract编译指令 86 4.1.9 overload编译指令 87 4.1.10 类实例的实例化和释放 87 4.1.11 类方法 88 4.2 接口 88 4.2.1 接口类型 89 4.2.2 接口不是类 89 4.2.3 不能直接实现接口 90 4.2.4 用类来实现接口 90 4.2.5 调用接口的方法 93 4.2.6 释放接口 94 4.2.7 一个对象的多个接口 95 4.2.8 方法解析子句 98 4.2.9 iinterface的声明 99 4.2.10 接口的实质 101 4.2.11 使用接口的理由 102 4.2.12 维护和更新接口 103 4.3 variant 104 4.4 rtti和浮点类型 109 4.5 框 架 114 4.5.1 创建框架 114 4.5.2 重用框架 116 4.6 命令行编译器 117 4.7 本章小结 117 第5章 编辑器和调试器 118 5.1 源代码编辑器 118 5.2 编辑器和设计器 118 5.2.1 在编辑器中影响可视化工具 119 5.3 工程管理器 121 5.3.1 代码浏览器 122 5.3.2 定制代码浏览器的外观 124 5.3.3 代码生成:在编辑器和浏览器中完成类 125 5.4 浏览器 129 5.5 to-do列表 130 5.5.1 工具窗口 132 5.5.2 保存桌面和调试桌面 133 5.6 神奇工具:code insight 133 5.6.1 代码完成化(code completion)的奇迹 133 5.6.2 parameter insight的奇迹 134 5.6.3 code insight:浏览源代码 135 5.6.4 代码模板将使您成为世界上最快的打字员 136 5.7 使用调试器 137 5.7.1 使用调试器单步调试代码 138 5.7.2 调试器不能单步调试的代码:优化 139 5.7.3 不能单步调试的代码:链接器 140 5.7.4 在watch list窗口监视代码 140 5.7.5 查看变量 140 5.7.6 使用断点 141 5.8 使用异常来清理代码 142 5.8.1 声明自己的异常类 144 5.8.2 finally子句和再次引发异常 144 5.8.3 在调试器中使用cpu窗口 145 5.8.4 在线帮助 146 5.9 elfdebug服务器 147 5.9.1 elfdebughelp单元提供的服务 155 5.9.2 debughelp单元的输出 156 5.9.3 向文本文件发送信息 157 5.9.4 向http服务器发送信息 158 5.9.5 在服务器端接收信息 159 5.9.6 所有者绘制的列表框 159 5.10 本章小结 160 第6章 理解linux环境 161 6.1 linux环境概貌 161 6.2 linux桌面 162 6.2.1 桌面分析 162 6.3 x体系结构概述 163 6.3.1 x的历史 163 6.3.2 名称x window系统 164 6.3.3 x window系统简介 164 6.3.4 网络和x客户/服务器模型 164 6.3.5 x服务器和x客户之间的细管道 164 6.3.6 连接到远程服务器 165 6.4 使用kylix进行x编程 165 6.4.1 x中的"hello,world"程序 167 6.4.2 使用xcreatwindow创建主窗口 172 6.4.3 层叠顺序 176 6.4.4 创建图形场境 177 6.4.5 事件循环 177 6.4.6 x编程小结 179 6.5 窗口管理器 179 6.5.1 为何创建窗口管理器 179 6.5.2 窗口管理器的强大功能 179 6.5.3 修改和查询窗口管理器 180 6.6 x工具包 180 6.6.1 控件、组件和部件 180 6.7 桌面简介 181 6.7.1 kde桌面 181 6.7.2 gnome桌面 181 6.8 本章小结 181 第二部分 clx 183 第7章 clx体系结构和可视化开发 184 7.1 qt和clx 184 7.1.1 freeclx 187 7.2 qt和事件 187 7.2.1 难以理解的clx消息 188 7.2.2 qt信号和槽口 189 7.2.3 qt应用程序对象和事件循环 191 7.2.4 在object pascal中调用qt代码 191 7.3 使用clx编写的slider程序 192 7.4 clx、qt和hook对象 193 7.4.1 clx的不足之处:eventfilter mojo 196 7.5 使用样式 200 7.6 使用资源 202 7.6.1 字符串资源 203 7.7 创建非矩形窗体 203 7.7.1 窗体继承 204 7.7.2 覆盖widget的初始值 205 7.7.3 绘制窗体的外形 209 7.8 本章小结 210 第8章 代码的包装和共享 211 8.1 组件理论 211 8.2 从已有的组件派生出新的组件 212 8.2.1 保存工作 215 8.2.2 定义组件的特性 216 8.2.3 测试组件 217 8.3 软件包:将组件放置到组件面板中 218 8.3.1 软件包简介 218 8.3.2 软件包和ld_library_path 218 8.3.3 软件包和组件面板 220 8.4 创建软件包 220 8.4.1 设计阶段软件包和运行阶段软件包 221 8.4.2 图标:使用dcr文件 222 8.4.3 同时打开软件包和工程 222 8.4.4 requires子句 222 8.4.5 注册组件 223 8.5 运行阶段软件包 223 8.6 在运行阶段进入软件包 226 8.7 创建共享对象 226 8.7.1 在kylix程序中调用库中的例程 229 8.8 动态加载共享对象 229 8.9 本章小结 230 第9章 创建组件 231 9.1 使用消息 231 9.1.1 简单消息:一个有用的控件 231 9.1.2 响应消息 233 9.1.3 在组件中使用filteevents 234 9.2 扩展elves单元 236 9.2.1 为clx组件命名的艺术 245 9.2.2 telfbigedit控件和telfemtptypanel控件 245 9.2.3 创建复合组件 246 9.2.4 为组件创建published属性 248 9.2.5 导出属性 249 9.3 另一个复合组件 249 9.4 创建一个由tlabel和tedit组成的组件 254 9.4.1 改变标签的位置 262 9.4.2 elflabeledit及其与windows的兼容性 263 9.4.3 3d文本标签 263 9.5 本章小结 264 第10章 高级组件设计技术 266 10.1 属性 266 10.1.1 声明属性 267 10.1.2 在对象查看器中查看属性 269 10.2 再谈属性 269 10.3 从空白开始创建组件 276 10.4 clock组件 278 10.4.1 理解telfclock 283 10.4.2 clock paint方法: 284 10.4.3 telfcolorclock组件 284 10.4.4 创建别致的时钟 285 10.5 为组件创建图标 287 10.6 tools api:属性编辑器和组件编辑器 288 10.6.1 设计阶段代码和运行阶段代码之比较 292 10.6.2 kylix中的tools api 293 10.6.3 tools api和wine 293 10.6.4 tools api和接口 293 10.6.5 属性编辑器 293 10.6.6 再谈注册组件和组件编辑器 297 10.6.7 组件编辑器 298 10.6.8 关于组件维护的一些说明 299 10.7 组件模板 299 10.8 本章小结 300 第11章 图形 301 11.1 qgraphics.pas中的主要对象 301 11.2 tcanvas对象 301 11.3 使用qt绘图 303 11.3.1 改变坐标系 304 11.4 tcolor类型 305 11.5 画笔 306 11.6 钢笔 308 11.7 创建penmode应用程序 312 11.8 字体 312 11.9 绘制形状 313 11.10 mandelbrot范例 316 11.10.1 绘制mandelbrot图形 323 11.10.2 绘制橡皮筋 323 11.10.3 tbitmap:为mandelbrot图形照相 324 11.10.4 创建事件和处理onpaint方法 325 11.10.5 loadresource:创建开始的场景 326 11.11 虚构的3d世界 326 11.11.1 伪3d世界的体系结构 327 11.11.2 为游戏创建图形 329 11.11.3 双重缓存和表面 329 11.11.4 游戏引擎的核心代码 330 11.11.5 实现isimplesurface和idrawtools 350 11.11.6 isimplesurface:创建即插即用的后端 352 11.11.7 在正确的位置绘制墙段 353 11.12 本章小结 355 第三部分 linux系统编程 357 第12章 控制台应用程序、内存管理和文件i/o 358 12.1 控制台应用程序 358 12.1.1 控制台开发 359 12.1.2 运行控制台应用程序 359 12.2 内存管理 359 12.2.1 变量和数据结构 360 12.2.2 对象 360 12.3 kylix中的文件i/o 361 12.3.1 传统的pascal文件操作 361 12.3.2 使用tfilestream进行文件输入/输出 363 12.3.3 linux文件的特点 365 12.3.4 使用glibc命令 367 12.4 本章小结 367 第13章 进程和线程 368 13.1 linux中的应用程序执行方法 368 13.2 kylix线程 369 13.2.1 通过线程访问内存 370 13.2.2 同步错误和线程安全 371 13.2.3 使用线程对象的synchronize方法 371 13.2.4 临界段 372 13.2.5 多读专写同步器 372 13.2.6 锁定机制 373 13.2.7 线程结束和终止 373 13.2.8 调试多线程应用程序 374 13.2.9 有关线程的最后思考 374 13.3 linux进程控制和进程间通信 374 13.3.1 创建新进程 375 13.3.2 发信号给进程或删除进程 376 13.4 本章小结 377 第四部分 dataclx 379 第14章 dataclx基础 380 14.1 dataclx的体系结构 380 14.2 数据访问 380 14.2.1 连接到数据库 380 14.2.2 检索数据 381 14.3 数据控件 382 14.3.1 使用可视化数据控件显示数据 382 14.4 典型的数据流 385 14.4.1 交互式数据操纵 386 14.4.2 数据发布 386 14.5 配置服务器 387 14.5.1 连接到interbase 387 14.5.2 连接到mysql 388 14.5.3 连接到db2 388 14.5.4 连接到oracle 389 14.6 本章小结 389 第15章 使用数据-感知组件 390 15.1 tsqlconnection 390 15.1.1 tsqlconnection的属性 391 15.1.2 tsqlconnection的方法 392 15.1.3 tsqlconnection的事件 392 15.2 tsqldataset 394 15.3 tsqlquery 394 15.4 tsqlstoredproc 395 15.5 tsqltable 395 15.6 tclientdataset 395 15.6.1 tclientdataset的属性 396 15.6.2 tclientdataset的方法 397 15.7 tdatasetprovider 399 15.8 tsqlclientdataset 400 15.9 tsqlmonitor 400 15.10 一般的数据集用法模式 402 15.10.1 查询 402 15.10.2 查找字段 402 15.10.3 参数化查询 403 15.10.4 主-细关系 403 15.10.5 定制明细网格 404 15.10.6 计算字段 405 15.10.7 本地递增搜索 405 15.10.8 本地过滤 407 15.10.9 书签 407 15.10.10 使用存储过程 409 15.10.11 客户端临时键 410 15.10.12 聚合字段 411 15.11 本章小结 411 第16章 数据访问层 412 16.1 数据访问层的目标 412 16.1.1 数据访问速度最大化 412 16.1.2 平台独立性 412 16.1.3 易于部署 413 16.1.4 使应用程序最小,占用的资源最少 413 16.1.5 为高效地处理sql和存储过程提供通用接口 413 16.1.6 使驱动程序开发容易、可扩展 413 16.1.7 可访问数据库特定的特性 413 16.2 概貌 414 16.3 mybase数据集 414 16.3.1 格式(二进制和xml) 415 16.3.2 元数据 415 16.3.3 约束 416 16.3.4 数据 416 16.3.5 字段类型 416 16.3.6 特殊字段 417 16.3.7 德尔塔 417 16.3.8 返回给发送方 418 16.4 数据库连接 419 16.4.1 dbexpress抽象 420 16.4.2 数据类型映射 428 16.5 dbexpress驱动程序开发 428 16.5.1 理解数据库厂商客户 429 16.5.2 初始化环境变量 429 16.5.3 连接到数据库服务器 429 16.5.4 初始化语句句柄 429 16.5.5 准备sql语句 430 16.5.6 传递运行阶段参数 430 16.5.7 执行sql语句 430 16.5.8 绑定记录缓冲区 430 16.5.9 取回记录 431 16.5.10 释放句柄和断开连接 432 16.6 dbexpress的核心实现 432 16.6.1 sqldriver 432 16.6.2 sqlconnection 432 16.6.3 sqlcommand 433 16.6.4 sqlcursor 435 16.6.5 sqlmetadata 436 16.7 本章小结 436 第17章 创建一个应用程序 437 17.1 应用程序描述 437 17.2 数据库定义 438 17.2.1 表 438 17.2.2 索引 440 17.2.3 数据约束 440 17.2.4 生成器 441 17.2.5 存储过程 441 17.2.6 触发器 443 17.3 基本设计 444 17.3.1 数据模块 444 17.4 gui界面 447 17.4.1 显示数据 447 17.4.2 编辑数据 447 17.4.3 扩展功能 448 17.5 web界面 449 17.5.1 格式化 449 17.5.2 布局 453 17.5.3 导航 455 17.6 本章小结 457 第18章 数据库优化 458 18.1 简介 458 18.2 填充数据库 458 18.3 监视sql通信 459 18.4 避免长时间打开事务 459 18.5 不要使用包含动词"like"的参数化查询 459 18.6 避免使用主键和外键 460 18.7 使用存储过程 460 18.8 使用触发器 461 18.9 精益求精 461 18.10 参数化并准备查询以达到最佳性能 462 18.11 像避免瘟疫一样避免使用fetchall 462 18.12 rob的左外连接规则 462 18.12.1 设计时避免左外连接 463 18.12.2 使用相关的子查询 463 18.12.3 使用存储过程 463 18.12.4 使用左外连接 464 18.13 当数据库非常大或用户非常多时缓存查找表 464 18.14 使用智能查找 464 18.15 关闭元数据 465 18.16 关闭同步写入,但要清楚这样做的危险 465 18.17 理解数据库索引 466 18.17.1 理解选择性 466 18.17.2 谨慎使用外键 466 18.17.3 多列索引 466 18.17.4 对索引排序 466 18.17.5 索引字段应尽可能少 466 18.18 针对interbase的技巧 466 18.18.1 不要使用大型varchar 466 18.18.2 创建前端应用程序时总是使用远程连接 467 18.18.3 将数据库的页面大小设置为2kb或4kb 467 18.18.4 理解索引计划 467 18.18.5 使用gfix来设置数据库缓存缓冲区 471 18.18.6 将interbase安装在单处理器机器上 471 18.19 本章小结 471 第五部分 web开发 473 第19章 apache web服务器应用程序 474 19.1 web服务器应用程序 474 19.1.1 cgi协议 474 19.1.2 cgi表单 474 19.2 apache web服务器 475 19.2.1 kylix和cgi 476 19.2.2 配置cgi 478 19.2.3 配置dso 479 19.3 本章小结 480 第20章 web服务器开发 481 20.1 web模块 481 20.2 新建web服务器应用程序 481 20.3 webbroker组件 483 20.3.1 twebdispatcher 484 20.3.2 twebmodule 484 20.3.3 twebresponse 485 20.3.4 twebrequest 485 20.4 显示内容 486 20.4.1 模仿get 488 20.5 页面生成器 488 20.5.1 tpageproducer 488 20.5.2 htmldoc和htmlfile 491 20.5.3 tdatasetpageproducer 491 20.6 表格生成器 497 20.6.1 tdatasettalbeproducer 497 20.6.2 定制 502 20.6.3 主-细关系 502 20.7 本章小结 503 第21章 高级web服务器开发 505 21.1 新的webapp42 505 21.1.1 producer和producercontent 505 21.2 dbexpress 506 21.3 tdatasettableproducer 507 21.3.1 tsqlquerytableproducer 507 21.3.2 preparesqlquerytableproducer 509 21.4 维护状态信息 511 21.4.1 胖url 512 21.4.2 cookies 515 21.4.3 隐藏字段 516 21.5 高级页面生成技术 518 21.6 图像 522 21.7 跨平台策略 528 21.8 本章小结 529 |
商品评论(0条)