delphi一些组件的属性记录


-
delphi一些组件的属性记录,一些常用 ,易混淆的属性
107KB
Delphi编写的日志文件记录组件源程序
2011-04-14Delphi编写的日志记录组件源代码,从中可以学习自定义组件的一些技巧,如注册到组件面板、添加自定义图标等。 日志组件具有以下属性及方法: public { Public declarations } procedure AddLog(p_Info: string); //添加一条日志信息 procedure FlushLogFile; //日志内容立即写入文件 published { Published declarations } property LogFilePath: string; //日志文件保存的路径 property LogFileNamePrefix: string ; //日志文件名前缀 property LogFileNameSuffix: string; //日志文件名后缀 property MaxCountPreFile: integer; //每个文件最大记录数 property Reserved: integer; //保留前多少个日志文件 property SingleLine: boolean; //每行一条记录 property RecordTime: Boolean; //自动添加时间 property Display: TStrings read ; //显示日志内容的Memo或Listbox的Items property AddBlankLine: Boolean; //在日志信息后添加空白行 property FlushImmediately: Boolean ; //立即将文件缓存写入磁盘 end; ------------------------------------ 文件列表: LogWriter.pas//源代码 LogWriter.dcr//组件图标文件 为自己的组件添加图标的方法.doc //
286KB
DevExpress组件属性说明
2007-07-16记录了DevExpress一些常用组件的属性说明,供大家参考。
4.44MB
Delphi7应用教程
2011-05-11本书对Delphi 7语法和程序设计思想进行了全面的阐述,共分14章,全面讲解了面向对象的程序设计概念、Delphi 7的数据类型与表达式、 Delphi 7程序设计语句、Delphi的组件与窗体、数组程序设计、过程与函数程序设计、文件程序设计、组件和DLL开发技术、数据库程序设 计和多媒体程序设计等内容。 本书从教学实践的角度出发,立足于提高学生的程序设计应用能力,全书理论分析透彻严谨,实例丰富生动,内容由浅入深,能快速地引 导学生进入Delphi7编程世界。本书可作为高等院校程序设计课程教材,也可作为广大希望掌握Delphi7编程的程序设计人员的参考用书。 第1章 Delphi 7程序设计入门 1.1 理论知识 1.1.1 算法与程序设计 1.1.2 面向对象程序设计基础 1.1.3 Delphi 7概述 1.1.4 Delphi 7的集成开发环境 1.1.5 利用Delphi开发应用程序的方法步骤 1.1.6 Delphi 7程序的组成 1.2 典型实例 1.3 上机练习 课后考场 第2章 基本数据类型与表达式 2.1 理论知识 2.1.1 基本数据类型 2.1.2 Delphi 7中的标识符与保留字 2.1.3 Delphi 7中的常量与变量 2.1.4 Delphi 7中的运算符与表达式 2.1.5 Delphi 7的语句书写规则与赋值语句 2.1.6 Delphi 7的常用函数与过程 2.2 典型实例 2.3 上机练习 课后考场 第3章 基本程序设计语句 3.1 理论知识 3.1.1 基本的顺序结构语句及其应用 3.1.2 选择结构语句及其基本应用 3.1.3 循环结构语句及其基本应用 3.2 典型实例 3.2.1 典型实例一 3.2.2 典型实例二 3.2.3 典型实例三 3.2.4 典型实例四 3.2.5 典型实例五 3.3 上机练习 3.3.1 上机练习一 3.3.2 上机练习二 课后考场 第4章 数组程序设计 4.1 理论知识 4.1.1 数组的概念 4.1.2 一维静态数组的定义与使用 4.1.3 二维数组及多维数组的定义与使用 4.1.4 动态数组的定义与使用 4.2 典型实例 4.2.1 典型实例一 4.2.2 典型实例二 4.3 上机练习 4.3.1 上机练习一 4.3.2 上机练习二 课后考场 第5章 过程与函数 5.1 理论知识 5.1.1 过程与函数的概念 5.1.2 过程的定义与调用 5.1.3 函数的定义与调用 5.1.4 参数的传递 5.1.5 子程序的嵌套与递归 5.2 典型实例 5.2.1 典型实例一 5.2.2 典型实例二 5.3 上机练习 5.3.1 上机练习一 5.3.2 上机练习二 课后考场 第6章 用户自定义类型 6.1 理论知识 6.1.1 枚举类型的定义与使用 6.1.2 子界类型的定义与使用 6.1.3 集合类型的定义与使用 6.1.4 记录类型的定义与使用 6.2 典型实例 6.2.1 典型实例一 6.2.2 典型实例二 6.3 上机练习 6.3.1 上机练习一 6.3.2 上机练习二 课后考场 第7章 常用组件的使用 7.1 理论知识 7.1.1 文本类组件的使用 7.1.2 按钮类组件的使用 7.1.3 列表类组件的使用 7.1.4 TTimer时钟组件的使用 7.1.5 对话框组件的使用 7.1.6 TImage 组件 7.1.7 菜单组件 7.1.8 TTabControl组件和 TPageControl组件的使用 7.1.9 TScrollBar、TTrackBar和TProgressBar组件的使用 7.1.10 TPanel组件和TGroupBox组件 7.1.11 工具栏组件与状态栏组件 7.2 典型实例 7.2.1 典型实例一 7.2.2 典型实例二 7.3 上机练习 7.3.1 上机练习一 7.3.2 上机练习二 课后考场 第8章 Delphi 7的文件系统 8.1 理论知识 8.1.1 文件的基本概念 8.1.2 Delphi 7中的文件类型及文件类型变量的定义 8.1.3 文本文件的使用 8.1.4 记录文件的使用 8.2 典型实例 8.2.1 典型实例一 8.2.2 典型实例二 8.3 上机练习 8.3.1 上机练习一 8.3.2 上机练习二 课后考场 第9章 应用程序界面设计技术 9.1 理论知识 9.1.1 多窗体程序的设计 9.1.2 SDI应用程序设计技术 9.1.3 MDI应用程序设计技术 9.1.4 变量的作用域 9.2 典型实例 9.3 上机练习 课后考场 第10章 DLL应用编程 10.1 理论知识 10.1.1 DLL概述 10.1.2 DLL编写 10.1.3 加载DLL的方法 10.1.4 调用DLL中的过程和函数 10.1.5 在DLL中实现窗体重用 10.2 典型实例 10.3 上机练习 课后考场 第11章 组件开发技术 11.1 理论知识 11.1.1 组件与组件技术概述 11.1.2 确定组件基类 11.1.3 创建组件单元 11.1.4 创建包工程 11.1.5 在组件中添加属性 11.1.6 在组件中添加事件 11.1.7 调试组件 11.1.8 制作组件图标和发布组件 11.2 典型实例 11.3 上机练习 课后考场 第12章 图形图像编程 12.1 理论知识 12.1.1 TCanvas 对象的使用 12.1.2 TGraphic对象的使用 12.1.3 TPicture对象的使用 12.1.4 TBitmap 对象的使用 12.1.5 Delphi中的图形图像组件 12.2 典型实例 12.2.1 典型实例一 12.2.2 典型实例二 12.3 上机练习 12.3.1 上机练习一 12.3.2 上机练习二 课后考场 第13章 多媒体应用程序开发 13.1 理论知识 13.1.1 多媒体的概念 13.1.2 TAnimate组件的使用 13.1.3 TMediaPlayer组件的使用 13.2 典型实例 13.2.1 典型实例一 13.2.2 典型实例二 13.3 上机练习 13.3.1 上机练习一 13.3.2 上机练习二 课后考场 第14章 数据库应用开发 14.1 理论知识 14.1.1 数据库的基本概念 14.1.2 利用数据库桌面创建数据库 14.1.3 利用BDE组件开发数据库应用程序的模 14.1.4 TTable组件 14.1.5 TDataSource组件 14.1.6 Data Controls 组件 14.1.7 SQL语言 14.1.8 TQuery 组件 14.2 典型实例 14.2.1 典型实例一 14.2.2 典型实例二 14.3 上机练习 14.3.1 上机练习一 14.3.2 上机练习二 课后考场 附录A Delphi中的虚拟键代码及对应的键 参考文献
0B
Delphi5数据库开发技术
2006-01-13Delphi是一种非常优秀的可视化程序开发语言,Delphi 5 基于Windows 95/98/NT,采用高度结构化的Object Pascal语言,具有结构清晰、编译迅速等特点。它强大的可扩展数据库功能更赢得了无数数据库开发人员的青睐。本书详细介绍了Delphi 5 所增加的强大的数据库编程工具,例如ADO组件、IBX组件和数据模块设计窗口。本书由浅入深,系统地介绍了如何利用Delphi 5 强大的开发工具进行数据库应用程序的开发,并结合每一部分的内容,列举了大量实例,以便于读者掌握。本书适用于从事数据库应用程序开发的广大技术人员以及作为各院校师生的学习参考。 ---------------------------------------------目 录前言第1章 Delphi 5.0 简介 11.1 Delphi 5.0 的新特点 11.1.1 集成开发环境(IDE)的改进 11.1.2 新的语言扩充 31.1.3 数据库的应用开发能力增强 41.1.4 其他方面的改进 41.2 Delphi 5.0 的集成开发环境 41.2.1 主窗口 51.2.2 代码编辑器 131.2.3 窗体设计器 151.2.4 对象观察器 161.2.5 工程管理器 181.3 面向对象的Pascal语言 191.3.1 Object Pascal 的语言基础 191.3.2 Object Pascal的程序设计 271.4 小结 29第2章 数据库应用程序开发基本概述 302.1 数据库的基本概念 302.2 数据存取 312.3 数据库应用程序的开发步骤 312.4 数据库应用开发能力的增强 322.5 小结 33第3章 Delphi 5.0 的数据库工具 343.1 数据库工作平台 343.1.1 Database Desktop 353.1.2 设置工作目录及私有目录 353.1.3 创建数据表格 353.1.4 数据表格的属性 363.1.5 在Database Desktop中创建SQL型数据表格 393.1.6 在Database Desktop中使用查询 403.2 数据库引擎 423.3 数据库资源管理器 423.4 数据字典 453.5 SQL监视器 463.6 Datapump工具 463.7 小结 48第4章 数据访问组件 494.1 数据访问组件简介 504.2 TTable组件介绍 504.2.1 数据集组件的基本知识 514.2.2 TTable 组件的重要属性 524.2.3 Ttable组件的重要方法 584.2.4 Ttable 组件的重要事件 694.2.5 举例说明 704.3 TQuery 组件介绍 714.3.1 TQuery组件和TTable组件的比较 724.3.2 TQuery组件的重要属性 724.3.3 TQuery组件的重要方法 754.4 TstoredProc组件介绍 774.4.1 TstoredProc组件的重要属性 774.4.2 TstoredProc组件的重要方法 784.4.3 利用TstoredProc组件实现存储过程 794.5 TDataSource组件介绍 814.5.1 TDataSource组件的重要属性 814.5.2 TDataSource组件的重要方法 824.5.3 TDataSource组件的重要事件 834.5.4 应用程序中建立TDataSource组件的基本步骤 844.6 Tdatabase组件介绍 844.6.1 TDatabase 组件的重要属性 844.6.2 TDatabase 组件的重要方法 874.6.3 TDatabase 组件的重要事件 884.7 Tsession组件介绍 884.7.1 Tsession的重要属性 894.7.2 Tsession的重要方法 894.8 其他组件介绍 904.9 数据访问组件的应用实例 914.10 ADO组件页介绍 994.10.1 ADO组件页概述 994.10.2 TADOConnection 1004.10.3 TADOCommand组件 1024.10.4 TADODataSet组件 1044.10.5 TADOTable 1064.11 小结 107第5章 数据控制组件 1085.1 数据控制组件简介 1085.2 TDBGrid组件介绍 1095.2.1 TDBGrid组件的重要属性 1105.2.2 TDBGrid组件的重要事件 1125.2.3 TDBGrid组件的应用举例 1135.3 TDBNavigator组件介绍 1185.3.1 TDBNavigator组件实现的主要功能 1185.3.2 TDBNavigator组件的重要属性 1195.3.3 TDBNavigator组件的重要事件 1215.3.4 TDBNavigator组件应用举例 1215.4 TDBText组件介绍 1225.4.1 TDBText 组件的重要属性 1225.4.2 TDBText组件的应用举例 1225.5 TDBEdit组件介绍 1255.5.1 TDBEdit组件的重要属性 1255.5.2 TDBEdit 组件的应用举例 1255.6 TDBMemo组件介绍 1285.6.1 TDBMemo组件的重要属性 1285.6.2 TDBMemo组件的应用举例 1305.7 TDBImage组件介绍 1315.8 TDBList组件介绍 1345.9 TDBComboBox组件介绍 1385.10 TDBCheckBox组件介绍 1395.11 TDBRadioGroup组件介绍 1435.12 TDBLookupListBox组件介绍 1455.13 TDBLookupComboBox组件介绍 1505.14 TDBCtrlGrid组件介绍 1535.15 TDBRichEdit组件介绍 1575.16 TDBChart组件介绍 1575.17 小结 157第6章 利用窗体维护数据 1586.1 窗体对象 1586.1.1 基本属性 1586.1.2 窗体的常用事件和方法 1616.2 利用窗体进行数据的操作 1626.2.1 数据的排序 1626.2.2 数据的查询 1646.2.3 对数据库中的数据进行修改 1696.2.4 数据的插入和删除 1716.3 字段对象 1746.3.1 字段对象的数据类型 1756.3.2 创建永久字段对象 1756.3.3 字段对象的属性和方法 1766.3.4 字段对象的使用 1776.4 一个综合维护数据的例子 1816.5 使用多个数据表格 1976.6 使用Form Wizard 2026.6.1 使用创建单个数据表格的应用程序 2026.6.2 使用Form Wizard创建一对多的应用程序 2056.7 小结 209第7章 菜单的设计 2107.1 菜单设计简介 2107.2 使用MainMenu Designer设计菜单 2117.3 菜单的操作 2147.3.1 设置和取消复选标志 2147.3.2 菜单项的显灰 2167.3.3 菜单项的隐藏 2167.3.4 打开和存储文件 2177.4 使用菜单模板 2207.5 设计菜单的一个例子 2217.6 小结 226第8章 多选项卡对象 2278.1 多选项卡对象 2278.1.1 TabControl对象 2278.1.2 PageControl组件 2308.2 一个使用多选项卡的例子 2318.3 小结 235第9章 Decision Cube组件 2369.1 Decision Cube组件介绍 2369.1.1 Decision Cube组件 2369.1.2 Decision Query组件 2399.1.3 Decision Grid组件 2419.1.4 Decision Graph组件 2439.1.5 Decision Pivot组件 2479.1.6 Decision Source组件 2539.2 一个综合使用Decision Cube组件的例子 2539.3 小结 261第10章 报表的设计 26210.1 QReport组件的介绍 26210.1.1 TQuickRep组件 26210.1.2 TQRSubDetail组件 26410.1.3 TQRBand组件 26510.1.4 TQRChildBand组件 26610.1.5 TQRExpr组件 26610.1.6 TQRSysData组件 26910.1.7 其他一些组件 27010.2 动手制作一个报表 27110.3 快速生成报表 27710.3.1 Quick Report Wizard 27710.3.2 报表模板 27910.4 小结 289第11章 使用SQL结构化查询语句 29011.1 SQL语句简介 29011.2 SQL在Delphi中的应用 29111.3 小结 302第12章 数据库应用程序实例 30312.1 程序实现的功能及总体结构设计 30312.1.1 应用程序的功能划分 30312.1.2 应用程序的结构设计 30512.2 应用程序中数据模块的设计 30512.3 用户登录功能的实现 30612.4 图书馆管理系统功能的实现 30812.4.1 修改图书记录 30912.4.2 修改学生记录 31112.4.3 修改密码设置 31312.4.4 生成预约图书的报表 31512.4.5 生成催还图书的报表 31812.5 图书馆服务系统功能的实现 32012.5.1 查询图书、借阅图书及预约图书 32112.5.2 查询个人借阅情况及归还图书 32812.6 小结 334第13章 Client/Server应用程序开发 33513.1 Client/Server的基本概念和体系结构 33513.1.1 Client/Server的基本概念 33513.1.2 Client/Server的体系结构 33613.2 构造Client/Server的应用开发环境 33713.2.1 BDE Administrator数据库页的操作 33913.2.2 BDE Administrator配置页的操作 34013.3 Client/Server的应用开发技术 34913.3.1 连接数据库服务器 34913.3.2 实现服务器上的存储过程 35213.4 小结 353
81.49MB
Delphi5开发人员指南
2012-07-18经典中的经典! 目 录 译者序 序 前言 第一部分 快速开发的基础 第1章 Delphi 5下的Windows编程 1 1.1 Delphi产品家族 1 1.2 Delphi是什么 3 1.2.1 可视化开发环境 3 1.2.2 编译器的速度和已编译代码的效 率 4 1.2.3 编程语言的功能及其复杂性 4 1.2.4 数据库结构的灵活性和可扩展性 5 1.2.5 框架对设计和使用模式的扩充 5 1.3 历史回顾 5 1.3.1 Delphi 1 5 1.3.2 Delphi 2 6 1.3.3 Delphi 3 6 1.3.4 Delphi 4 7 1.3.5 Delphi 5 7 1.3.6 未来 7 1.4 Delphi 5的IDE 7 1.4.1 主窗口 8 1.4.2 窗体设计器 9 1.4.3 Object Inspector 9 1.4.4 代码编辑器 9 1.4.5 代码浏览器 10 1.4.6 源代码生成器 10 1.5 创建一个简单的应用程序 11 1.6 事件机制的优势在哪里 12 1.7 加速原型化 13 1.8 可扩展的组件和环境 13 1.9 IDE最重要的十点功能 13 1.10 总结 15 第2章 Object Pascal语言 16 2.1 注解 16 2.2 新的过程和函数特征 17 2.2.1 圆括号 17 2.2.2 重载 17 2.2.3 缺省值参数 17 2.3 变量 18 2.4 常量 19 2.5 运算符 20 2.5.1 赋值运算符 20 2.5.2 比较运算符 20 2.5.3 逻辑表达式 21 2.5.4 算术运算符 21 2.5.5 按位运算符 22 2.5.6 加减运算过程 22 2.6 Object Pascal类型 23 2.6.1 类型的比较 23 2.6.2 字符 24 2.6.3 字符串 24 2.6.4 变体类型 32 2.6.5 Currency 39 2.7 用户自定义类型 39 2.7.1 数组 39 2.7.2 动态数组 40 2.7.3 记录 41 2.7.4 集合 42 2.7.5 对象 43 2.7.6 指针 44 2.7.7 类型别名 46 2.8 强制类型转换和类型约定 46 2.9 字符串资源 47 2.10 测试条件 47 2.10.1 if语句 47 2.10.2 case语句 48 2.11 循环 49 2.11.1 for循环 49 2.11.2 while循环 49 2.11.3 repeat...until 50 2.11.4 Break()过程 50 2.11.5 Continue()过程 50 2.12 过程和函数 50 2.13 作用域 50 2.14 单元 55 2.14.1 uses子句 55 2.14.2 循环单元引用 56 2.15 包 56 2.15.1 使用Delphi的包 56 2.15.2 包的语法 56 2.16 面向对象编程 57 2.17 使用Delphi对象 58 2.17.1 声明和实例化 58 2.17.2 析构 59 2.18 方法 59 2.18.1 方法的类型 60 2.18.2 属性 61 2.18.3 可见性表示符 62 2.18.4 友类 62 2.18.5 对象的秘密 63 2.18.6 TObject:所有对象的祖先 63 2.18.7 接口 63 2.19 结构化异常处理 66 2.19.1 异常类 68 2.19.2 执行的流程 70 2.19.3 重新触发异常 71 2.20 运行期类型信息 72 2.21 总结 72 第3章 Win32 API 73 3.1 对象:以前和现在 73 3.1.1 内核对象 73 3.1.2 GDI和用户对象 75 3.2 多任务和多线程 75 3.3 Win32内存管理 76 3.3.1 什么是线性内存模式 76 3.3.2 Win32系统是怎样管理内存的 76 3.4 Win32的错误处理 78 3.5 总结 78 第4章 应用程序框架和设计 79 4.1 理解Delphi环境和项目的体系结构 79 4.2 构成Delphi 5项目的文件 79 4.2.1 项目文件 80 4.2.2 单元文件 80 4.2.3 窗体文件 80 4.2.4 资源文件 81 4.2.5 项目选项及桌面设置文件 81 4.2.6 备份文件 81 4.2.7 包文件 82 4.3 项目管理提示 82 4.3.1 一个项目一个目录 82 4.3.2 共享代码的单元 82 4.3.3 多项目管理 84 4.4 Delphi 5项目的框架类 84 4.4.1 TForm类 84 4.4.2 TApplication类 89 4.4.3 TApplication的方法 91 4.4.4 TApplication的事件 92 4.4.5 TScreen类 93 4.5 定义公共体系结构:使用对象库 93 4.5.1 考虑应用程序的体系结构 93 4.5.2 Delphi固有的体系结构 94 4.5.3 体系结构的例子 94 4.5.4 子窗体TChildForm 94 4.5.5 数据库基础模式窗体TDBMode- Form 96 4.5.6 数据库导航/状态窗体TDBNavstat- Form 97 4.5.7 使用框架进行应用程序结构 设计 102 4.6 一些项目管理的功能 103 4.6.1 在项目中添加资源 103 4.6.2 改变屏幕光标 105 4.6.3 避免创建一个窗体的多个实例 106 4.6.4 在DPR文件中增加代码 107 4.6.5 覆盖应用程序的异常处理 107 4.6.6 显示一个封面 109 4.6.7 使窗体尺寸最小 110 4.6.8 运行没有窗体的项目 111 4.6.9 退出Windows 112 4.6.10 防止关闭Windows 113 4.7 总结 113 第5章 理解Windows消息 114 5.1 什么是消息 114 5.2 消息的类型 115 5.3 Windows消息系统是如何工作的 115 5.4 Delphi的消息系统 116 5.5 消息处理 117 5.5.1 消息处理:不是无约定的 118 5.5.2 对Result域赋值 119 5.5.3 TApplication的OnMessage事件 119 5.6 发送自己的消息 120 5.6.1 Perform() 120 5.6.2 sendMessage()和PostMessage() 120 5.7 非标准的消息 121 5.7.1 通知消息 121 5.7.2 VCL内部的消息 122 5.7.3 用户自定义的消息 122 5.8 一个消息系统的剖析:VCL 123 5.9 消息与事件之间的关系 128 5.10 总结 129 第6章 代码标准文档 130 6.1 一般的源代码格式规则 130 6.1.1 缩进 130 6.1.2 边距 130 6.1.3 begin...end 130 6.2 Object Pascal 131 6.2.1 括号 131 6.2.2 保留字和关键字 131 6.2.3 过程和函数 131 6.2.4 变量 132 6.2.5 类型 133 6.2.6 构造类型 133 6.2.7 语句 134 6.2.8 结构化异常处理 134 6.2.9 类 135 6.3 文件 136 6.3.1 项目文件 136 6.3.2 窗体文件 136 6.3.3 数据模块文件 137 6.3.4 远程数据模块文件 137 6.3.5 单元文件 137 6.3.6 文件头 138 6.4 窗体与数据模块 138 6.4.1 窗体 138 6.4.2 数据模块 139 6.5 包 139 6.5.1 运行期包与设计期包 139 6.5.2 文件命名标准 140 6.6 组件 140 6.6.1 自定义组件 140 6.6.2 组件实例的命名规则 140 6.7 代码标准文档升级 141 第7章 使用ActiveX控件 142 7.1 什么是ActiveX控件 142 7.2 何时使用ActiveX控件 142 7.3 把ActiveX控件加到组件面板上 143 7.4 Delphi组件外套 144 7.4.1 外套文件是从哪来的 152 7.4.2 枚举 152 7.4.3 控件接口 152 7.4.4 TOleControl的派生类 152 7.4.5 方法 152 7.4.6 属性 153 7.5 在应用程序中使用ActiveX控件 153 7.6 发布带有ActiveX控件的应用程序 154 7.7 注册ActiveX控件 155 7.8 BlackJack:一个OCX示范程序 155 7.8.1 纸牌 155 7.8.2 游戏 157 7.8.3 调用ActiveX控件的方法 165 7.9 总结 166 第二部分 高级技术 第8章 使用GDI和字体的图像编程 167 8.1 TImage:Delphi的图像显示 167 8.2 存储图像 168 8.3 使用TCanvas的属性 169 8.3.1 画笔 170 8.3.2 使用TCanvas.Pixels属性 175 8.3.3 使用刷子 175 8.3.4 使用字体 180 8.3.5 使用CopyMode属性 181 8.3.6 其他属性 184 8.4 使用TCanvas的方法 184 8.4.1 用TCanvas画线 184 8.4.2 用TCanvas画几何形状 185 8.4.3 画图的示范程序 185 8.4.4 用TCanvas输出文字 189 8.5 坐标系统和映射模式 193 8.5.1 设备坐标系 193 8.5.2 逻辑坐标系 194 8.5.3 屏幕坐标系 194 8.5.4 窗体坐标系 194 8.5.5 坐标映射 195 8.5.6 设置映射模式 196 8.5.7 设置窗口/视区范围 196 8.5.8 关于映射模式的示范程序 197 8.6 创建一个绘画程序 202 8.7 编写动画程序 215 8.8 高级字体 221 8.8.1 Win32字体类型 222 8.8.2 基本字体元素 222 8.8.3 GDI字体分类 223 8.8.4 显示不同字体 223 8.9 实际创建一种字体 224 8.9.1 这个程序是如何工作的 224 8.9.2 显示字体的有关信息 230 8.10 总结 233 第9章 动态链接库 234 9.1 究竟什么是DLL 234 9.2 静态链接与动态链接 235 9.3 为什么要使用DLL 236 9.3.1 共享代码、资源和数据 236 9.3.2 隐藏实现的细节 237 9.3.3 自定义控件 237 9.4 创建和使用DLL 237 9.4.1 数美分:一个简单的DLL 237 9.4.2 显示DLL中的模式窗体 239 9.5 显示DLL中的无模式窗体 241 9.6 在Delphi应用程序中使用DLL 242 9.7 DLL的入口函数和出口函数 246 9.7.1 进程/线程初始化和终止例程 246 9.7.2 DLL入口/出口示例 246 9.8 DLL中的异常 250 9.8.1 在16位Delphi中捕捉异常 250 9.8.2 异常和Safecall指示符 250 9.9 回调函数 250 9.9.1 使用回调函数 253 9.9.2 拥有者绘制的列表框 253 9.10 从DLL中调用回调函数 253 9.11 在不同的进程间共享DLL数据 256 9.11.1 一个可以被共享数据的DLL 256 9.11.2 访问DLL中的共享数据 259 9.12 引出DLL中的对象 261 9.13 总结 265 第10章 Delphi 5的打印 266 10.1 TPrinter对象 266 10.2 TPrinter.Canvas 267 10.3 简单打印 267 10.3.1 打印TMemo组件中的内容 267 10.3.2 打印位图 268 10.3.3 打印RTF格式的文本 269 10.4 打印窗体 269 10.5 高级打印 270 10.5.1 打印分栏报表 270 10.5.2 放弃打印进程 275 10.5.3 打印信封 275 10.5.4 抽象打印 276 10.5.5 一个简单的打印预览程序 285 10.6 其他打印任务 286 10.6.1 TDeviceMode结构 286 10.6.2 设置打印份数 288 10.6.3 设置打印方向 288 10.6.4 设置纸张尺寸 288 10.6.5 设置纸张的长度 289 10.6.6 设置页的宽度 289 10.6.7 设置打印比例 289 10.6.8 设置打印颜色 289 10.6.9 设置打印质量 289 10.6.10 设置双面打印 290 10.6.11 指定默认打印机 290 10.7 获取打印机信息 291 10.7.1 GetDeviceCaps()和DeviceCapa- bilities() 292 10.7.2 获取打印机信息的示范程序 292 10.8 总结 303 第11章 编写多线程应用程序 304 11.1 对线程的解释 304 11.1.1 一种新型的多任务 304 11.1.2 在Delphi程序中使用多线程 304 11.1.3 关于线程的滥用 305 11.2 TThread对象 305 11.2.1 TThread基础 305 11.2.2 TThread实例 307 11.2.3 线程的终止 307 11.2.4 与VCL同步 308 11.2.5 一个演示程序 310 11.2.6 优先级和时序安排 311 11.2.7 挂起和唤醒线程 313 11.2.8 测试线程的时间 313 11.3 管理多线程 314 11.3.1 线程局部存储 314 11.3.2 线程同步 317 11.4 一个多线程的示范程序 325 11.4.1 用户界面 326 11.4.2 搜索线程 330 11.4.3 调整优先级 334 11.5 多线程与数据库 335 11.6 多线程与图形处理 340 11.7 总结 343 第12章 文件处理 344 12.1 处理文件的输入/输出 344 12.1.1 文本文件的处理 344 12.1.2 类型文件的处理 348 12.1.3 无类型文件的处理 356 12.2 TTextRec 和TFileRec结构 359 12.3 内存映射文件 360 12.3.1 内存映射文件的应用 360 12.3.2 使用映射文件 361 12.3.3 内存映射文件的一致性 366 12.3.4 文本搜索实用程序 366 12.4 目录和驱动器 373 12.4.1 获得有效驱动器和驱动器类型列 表 373 12.4.2 获取驱动器信息 374 12.4.3 获取Windows目录位置 376 12.4.4 获取系统目录的位置 376 12.4.5 获取当前目录 377 12.4.6 在目录中查找文件 377 12.4.7 复制和删除目录树 380 12.4.8 获取文件的版本信息 382 12.4.9 获取版本号 387 12.4.10 获得操作系统信息 388 12.4.11 使用TVerInfoRes类 388 12.5 使用SHFileOperation()函数 390 12.6 总结 391 第13章 核心技术 392 13.1 高级消息处理 392 13.1.1 子类化 392 13.1.2 HookMainWindow() 396 13.2 防止同时出现多个应用程序实例 397 13.3 使用Delphi的BASM 401 13.3.1 BASM是如何工作的 401 13.3.2 简易的参数访问 402 13.3.3 var声明的参数 402 13.3.4 Register调用约定 403 13.3.5 全汇编过程 403 13.3.6 记录 403 13.4 使用挂钩 404 13.4.1 设置挂钩 404 13.4.2 使用挂钩函数 405 13.4.3 使用脱钩函数 405 13.4.4 使用SendKeys:一个JournalPlay- back类型的挂钩 405 13.5 使用C/C++的OBJ文件 416 13.5.1 调用一个函数 416 13.5.2 命名问题 417 13.5.3 共享数据 417 13.5.4 使用Delphi RTL 418 13.6 使用C++类 422 13.7 替换 426 13.7.1 generic替换 426 13.7.2 WM_COPYDATA 435 13.8 获取包的信息 440 13.9 总结 443 第14章 获取系统信息 444 14.1 InfoForm:获取一般信息 444 14.1.1 格式化字符串 444 14.1.2 获取内存状态 445 14.1.3 获取操作系统版本信息 446 14.1.4 获取目录信息 447 14.1.5 获取系统信息 448 14.1.6 检查环境 450 14.2 平台无关性 455 14.3 Windows 95/98: 使用ToolHelp32 455 14.3.1 快照 456 14.3.2 列举进程 457 14.3.3 列举线程 460 14.3.4 列举模块 461 14.3.5 列举堆 462 14.3.6 堆的视图 465 14.3.7 程序源码 466 14.4 Windows NT/2000: PSAPI 474 14.5 总结 485 第15章 移植到Delphi 5 486 15.1 Delphi 5的新功能 486 15.1.1 哪个版本 486 15.1.2 单元、组件和包 487 15.2 从Delphi 4移植到Delphi 5 487 15.2.1 IDE问题 488 15.2.2 RTL问题 488 15.2.3 VCL问题 488 15.2.4 Internet开发问题 488 15.2.5 数据库问题 488 15.3 从Delphi 3移植到Delphi 5 489 15.3.1 无符号的32位整数 489 15.3.2 64位整数 490 15.3.3 Real类型 490 15.4 从Delphi 2移植到Delphi 5 490 15.4.1 改变为Boolean类型 490 15.4.2 ResourceString 490 15.4.3 RTL的改变 491 15.4.4 TCustomForm 491 15.4.5 GetChildren() 491 15.4.6 自动化服务器 491 15.5 从Delphi 1移植到Delphi 5 491 15.5.1 字符串和字符 492 15.5.2 变量长度和范围 497 15.5.3 记录的排列 497 15.5.4 32位的数学运算 498 15.5.5 TDateTime类 498 15.5.6 单元结束代码 498 15.5.7 汇编语言 499 15.5.8 调用约定 499 15.5.9 动态链接库 500 15.5.10 Windows操作系统的变化 501 15.5.11 32位的地址空间 501 15.5.12 32位资源 501 15.5.13 VBX控件 502 15.5.14 Windows API函数的变化 502 15.5.15 16位和32位并存 504 15.6 总结 504 第16章 MDI应用程序 505 16.1 创建MDI应用程序 505 16.1.1 理解MDI基础 505 16.1.2 子窗体 506 16.1.3 主窗体 522 16.2 菜单 528 16.2.1 用MDI程序合并菜单 528 16.2.2 在菜单中列出打开的文档 528 16.3 杂类MDI技术 529 16.3.1 在MDI客户区输出一幅位图 529 16.3.2 创建一个隐藏的子窗体 534 16.3.3 最小化、最大化、还原所有MDI 子窗体 536 16.4 总结 538 第17章 用剪贴板共享信息 539 17.1 剪贴板基础 539 17.1.1 剪贴板对文本操作 540 17.1.2 剪贴板对位图操作 540 17.2 创建你自己的剪贴板格式 541 17.2.1 创建一个感知剪贴板的对象 541 17.2.2 使用自定义的剪贴板格式 545 17.3 总结 547 第18章 多媒体编程 548 18.1 创建一个简单的媒体播放器 548 18.2 播放WAV文件 549 18.3 播放视频 550 18.3.1 显示第一帧 550 18.3.2 使用Display属性 551 18.3.3 使用DisplayRect属性 551 18.3.4 理解TMediaPlayer事件 552 18.3.5 DDGMPlay的源代码 552 18.4 设备支持 553 18.5 创建音频CD播放器 554 18.5.1 显示闪屏 555 18.5.2 开始编写CD播放器 555 18.5.3 更新CD播放器的信息 557 18.5.4 刷新CD播放器的方法 558 18.5.5 CD播放器的源代码 559 18.6 总结 565 第19章 测试与调试 566 19.1 常见的编程错误 567 19.1.1 在类的实例创建之前使用了它 567 19.1.2 确保类的实例被释放 567 19.1.3 掌握指针 568 19.1.4 使用未初始化的PChar类变量 568 19.1.5 释放空指针 569 19.2 使用内部集成调试器 569 19.2.1 使用命令行参数 569 19.2.2 断点 569 19.2.3 逐行执行代码 571 19.2.4 使用Watch窗口 572 19.2.5 Debug Inspector 572 19.2.6 计算和修改 572 19.2.7 访问调用栈 572 19.2.8 查看线程 573 19.2.9 事件日志 573 19.2.10 模块视图 574 19.2.11 调试DLL 574 19.2.12 CPU视图 575 19.3 总结 575 第三部分 基于组件的开发 第20章 VCL元素和运行期类型信息 577 20.1 什么是组件 577 20.2 组件的类型 578 20.2.1 标准控件 578 20.2.2 自定义控件 578 20.2.3 图形控件 578 20.2.4 非可视组件 579 20.3 组件的结构 579 20.3.1 属性 579 20.3.2 属性的类型 580 20.3.3 方法 580 20.3.4 事件 581 20.3.5 流属性 582 20.3.6 拥有关系 582 20.3.7 父子关系 583 20.4 可视组件的层次关系 583 20.4.1 TPersistent类 584 20.4.2 TComponent类 584 20.4.3 TControl类 585 20.4.4 TWinControl类 585 20.4.5 TGraphicControl类 586 20.4.6 TCustomControl类 586 20.4.7 其他类 587 20.5 运行期类型信息 589 20.5.1 TypInfo.pas单元:定义运行类型 信息 589 20.5.2 获取类型信息 591 20.5.3 获取方法指针的类型信息 596 20.5.4 获取有序类型的类型信息 600 20.5.5 通过RTTI给属性赋值 604 20.6 总结 606 第21章 编写自定义组件 607 21.1 组件设计基础 607 21.1.1 确定是否需要编写组件 607 21.1.2 编写组件的一般步骤 607 21.1.3 确定一个祖先类 608 21.1.4 创建一个组件单元 609 21.1.5 添加属性 609 21.1.6 加入事件 615 21.1.7 创建自定义的方法 619 21.1.8 构造器和析构器 619 21.1.9 注册组件 620 21.1.10 测试组件 621 21.1.11 提供组件图标 623 21.2 一个组件的示例 623 21.2.1 扩展Win32组件外套功能 624 21.2.2 TddgRunButton: 创建属性 631 21.3 TddgButtonEdit:一个容器组件 636 21.3.1 设计 636 21.3.2 显现属性 637 21.3.3 显现事件 637 21.3.4 TddgDigitalClock:创建组件事 件 639 21.3.5 把窗体加到组件面板上 642 21.4 组件包 644 21.4.1 为什么使用包 644 21.4.2 什么情况下不使用包 645 21.4.3 包的类型 645 21.4.4 包文件 645 21.4.5 在Delphi 5应用程序中使用包 645 21.4.6 把包安装到IDE中 645 21.4.7 设计自己的包 646 21.4.8 包的版本 649 21.4.9 包的编译指令 649 21.4.10 关于{$WEAKPACKAGEUNIT} 指令 649 21.4.11 包的命名约定 650 21.5 附加包 650 21.6 总结 655 第22章 高级组件技术 656 22.1 伪可视组件 656 22.1.1 扩展提示功能 656 22.1.2 创建一个THintWindow的派生 类 656 22.1.3 椭圆型的窗口 658 22.1.4 使派生的提示窗口有效 659 22.1.5 放置TDDGHintWindow 659 22.2 动态组件 659 22.2.1 走马灯组件 659 22.2.2 编写这个组件 659 22.2.3 在内存中的位图上输出 659 22.2.4 输出组件 661 22.2.5 使组件动起来 661 22.2.6 测试TddgMarquee组件 668 22.3 编写属性编辑器 670 22.3.1 派生出一个属性编辑器对象 670 22.3.2 把属性当作文本来编辑 671 22.3.3 注册新的属性编辑器 674 22.3.4 用对话框来编辑属性 675 22.4 组件编辑器 677 22.4.1 TComponentEditor 677 22.4.2 一个简单的组件 678 22.4.3 一个简单的组件编辑器 679 22.4.4 注册组件编辑器 679 22.5 对非公开的组件数据进行流操作 681 22.5.1 声明属性 681 22.5.2 DefineProperty()的例子 682 22.5.3 TddgWaveFile:调用Define- BinaryProperty()的例子 684 22.6 属性类别 690 22.6.1 类别的类 690 22.6.2 自定义类别 691 22.7 组件列表:TCollection和 TCollectionItem 694 22.7.1 声明TCollectionItem类: TRunBtnItem 695 22.7.2 声明TCollection类: TRunButtons 696 22.7.3 实现TddgLaunchPad、TRun- BtnItem和TRunButtons 696 22.7.4 用对话框属性编辑器编辑 TCollectionItem组件的列表 702 22.8 总结 711 第23章 COM和ActiveX 712 23.1 COM基础 712 23.1.1 COM:组件对象模型 712 23.1.2 COM、ActiveX、OLE的异同 713 23.1.3 术语 713 23.1.4 ActiveX的伟大之处 713 23.1.5 OLE 1和OLE 2 713 23.1.6 结构化存储 714 23.1.7 统一数据传输 714 23.1.8 线程模式 714 23.1.9 COM+ 714 23.2 COM与Object Pascal 714 23.2.1 接口 715 23.2.2 使用接口 716 23.2.3 HResult返回类型 719 23.3 COM对象和类工厂 720 23.3.1 TComObject和TComObject- Factory 720 23.3.2 in-process COM服务器 721 23.3.3 创建一个in-proc COM服务器实 例 722 23.3.4 out-of-process COM服务器 723 23.4 聚合 723 23.5 分布式COM 723 23.6 自动化 724 23.6.1 IDispatch接口 724 23.6.2 类型信息 725 23.6.3 后期捆绑与前期捆绑 725 23.6.4 注册 725 23.6.5 创建自动化服务器 725 23.6.6 创建自动化控制器 740 23.7 高级自动化技术 745 23.7.1 自动化事件 745 23.7.2 自动化集合 754 23.7.3 类型库中新的接口类型 760 23.7.4 交换二进制数据 761 23.7.5 COM的语言支持 763 23.8 MTS 766 23.8.1 为什么会出现MTS 767 23.8.2 什么是MTS 767 23.8.3 Delphi中的MTS 770 23.9 TOleContainer 785 23.9.1 一个简单的范例程序 785 23.9.2 一个稍复杂的范例程序 787 23.10 总结 794 第24章 扩展Windows外壳 795 24.1 托盘图标组件 795 24.1.1 API 795 24.1.2 处理消息 797 24.1.3 图标及提示 797 24.1.4 鼠标点击 798 24.1.5 隐藏应用程序 799 24.1.6 托盘图标应用程序举例 805 24.2 应用程序桌面工具栏 807 24.2.1 API 807 24.2.2 TAppBar:AppBar的窗体 808 24.2.3 使用TAppBar 815 24.3 外壳链接 817 24.3.1 获取一个IShellLink实例 818 24.3.2 使用IShellLink 819 24.3.3 创建一个外壳链接 820 24.3.4 获取及设置链接信息 821 24.3.5 一个例子程序 824 24.4 外壳扩展 831 24.4.1 COM对象向导 832 24.4.2 复制钩子处理器 832 24.4.3 上下文菜单处理器 836 24.4.4 图标处理器 844 24.5 总结 850 第25章 创建ActiveX控件 851 25.1 为什么要创建ActiveX控件 851 25.2 创建一个ActiveX控件 851 25.2.1 ActiveX控件向导 852 25.2.2 ActiveX框架 875 25.2.3 属性页 877 25.3 ActiveForm 886 25.4 在Web上的ActiveX 892 25.4.1 与Web浏览器通信 892 25.4.2 Web发布 901 25.5 总结 903 第26章 使用Delphi Open Tools API 904 26.1 Open Tools API接口 904 26.2 使用Open Tools API 905 26.2.1 Dumb向导 905 26.2.2 Wizard向导 908 26.2.3 DDG Search 916 26.3 窗体向导 925 26.4 总结 931 第27章 使用Delphi开发CORBA 932 27.1 ORB 932 27.2 接口 932 27.3 Stub和Skeleton 933 27.4 VisiBroker的ORB 933 27.4.1 VisiBroker的运行时支持服务 933 27.4.2 VisiBroker管理工具 934 27.5 Delphi的CORBA支持 934 27.5.1 CORBA的类支持 935 27.5.2 CORBA对象向导 936 27.5.3 Delphi的类型库编辑器 941 27.6 在Delphi 5中创建CORBA解决方案 942 27.6.1 建立一个CORBA服务器 942 27.6.2 实现IQueryServer的方法 943 27.6.3 编译一个静态绑定的CORBA 客户 956 27.6.4 编译一个动态绑定的CORBA 客户 958 27.6.5 跨语言的CORBA 960 27.7 使用VisiBroker ORB 967 27.8 总结 967 第四部分 开发数据库 第28章 编写桌面数据库应用程序 969 28.1 使用数据集 969 28.1.1 VCL的数据库体系结构 970 28.1.2 BDE数据访问组件 970 28.1.3 打开一个数据集 971 28.1.4 浏览数据集 971 28.1.5 对字段操作 975 28.1.6 刷新数据集 985 28.1.7 变化的状态 986 28.1.8 过滤器 986 28.2 使用TTable组件 988 28.2.1 查找记录 988 28.2.2 主/细表 990 28.2.3 TTable的事件 990 28.2.4 通过代码创建一个数据库表 991 28.3 数据模块 992 28.4 搜索、设置范围和过滤的示例 992 28.4.1 数据模块 992 28.4.2 主窗体 993 28.4.3 Range窗体 995 28.4.4 Key Search窗体 996 28.4.5 Filter窗体 998 28.5 TQuery和TStoredProc:其他数据 集 1000 28.6 文本文件数据库表 1001 28.6.1 概要文件 1001 28.6.2 数据文件 1002 28.6.3 使用文本数据库表 1002 28.6.4 限制 1003 28.6.5 从文本数据库表中引入数据 1003 28.7 用ODBC连接 1004 28.7.1 到哪儿找ODBC驱动程序 1004 28.7.2 ODBC实例:连接MS Access 1004 28.8 ActiveX Data Object 1007 28.8.1 Microsoft 数据访问简介 1007 28.8.2 ADOExpress组件 1008 28.8.3 连接一个ADO数据存储 1008 28.8.4 示例:通过ADO连接 1010 28.8.5 ADO开发 1011 28.9 总结 1011 第29章 开发客户/服务器应用程序 1012 29.1 为什么要采用客户/服务器结构 1012 29.2 客户/服务器体系结构 1013 29.2.1 客户 1013 29.2.2 服务器 1013 29.2.3 业务规则 1014 29.2.4 胖客户、胖服务器、中间层:业 务规则属于哪一端 1014 29.3 客户/服务器模型 1015 29.3.1 两层模型 1015 29.3.2 三层模型 1016 29.4 客户/服务器与桌面数据库开发的比 较 1017 29.4.1 面向集合与面向记录 1017 29.4.2 数据安全 1017 29.4.3 记录锁定方法 1017 29.4.4 数据完整性 1018 29.4.5 面向事务 1018 29.5 SQL在客户/服务器开发中的角色 1018 29.6 Delphi客户/服务器开发 1019 29.7 服务器:后端设计 1019 29.7.1 数据库对象 1019 29.7.2 定义数据库表 1020 29.7.3 使用域 1021 29.7.4 用视图、存储过程和触发器定义 业务规则 1022 29.7.5 数据库对象的访问权限 1027 29.8 客户:前端开发 1028 29.8.1 使用TDatabase组件 1028 29.8.2 TTable还是TQuery 1034 29.8.3 使用TQuery组件 1036 29.8.4 执行存储过程 1041 29.9 总结 1043 第30章 扩展数据库VCL 1044 30.1 使用BDE 1044 30.1.1 BDE单元 1044 30.1.2 Check() 1044 30.1.3 指针和句柄 1045 30.1.4 使指针同步 1045 30.2 dBASE表 1045 30.2.1 物理记录编号 1046 30.2.2 显示被删除的记录 1047 30.2.3 测试被软删除的记录 1047 30.2.4 恢复被软删除的记录 1048 30.2.5 紧缩表 1048 30.3 Paradox表 1049 30.3.1 记录序号 1049 30.3.2 紧缩 1049 30.3.3 限制查询结果 1055 30.3.4 BDE杂项 1056 30.3.5 编写数据感知VCL控件 1059 30.4 扩展TDataSet 1063 30.4.1 过去 1063 30.4.2 现在 1063 30.4.3 创建一个TDataSet派生类 1064 30.5 总结 1083 第31章 用WebBroker使应用程序具有 Internet功能 1084 31.1 ISAPI、NSAPI和CGI—Web服务 器扩展 1085 31.1.1 公共网关接口 1085 31.1.2 ISAPI和NSAPI 1085 31.2 用Delphi创建Web应用程序 1086 31.2.1 TWebModule和TWeb- Dispatcher 1086 31.2.2 TWebRequest和TWeb- Response 1088 31.3 用HTML内容生成器建立动态网 页 1091 31.3.1 TPageProducer 1091 31.3.2 TDatasetTableProducer和 TQueryTableProducer 1092 31.4 使用cookie保存状态 1097 31.5 重定向到另一个Web站点 1099 31.6 从HTML表单中获取信息 1099 31.7 数据流 1101 31.8 总结 1104 第32章 MIDAS开发 1105 32.1 多层应用程序的结构 1105 32.2 多层体系结构的优点 1106 32.3 典型的MIDAS体系结构 1107 32.3.1 服务器 1107 32.3.2 客户 1109 32.4 用MIDAS建立应用程序 1110 32.4.1 设置服务器 1110 32.4.2 创建客户 1111 32.5 增强应用程序的更多选择 1115 32.5.1 客户优化技巧 1115 32.5.2 服务器端的技巧 1116 32.6 几个实例 1117 32.6.1 连接 1117 32.6.2 MIDAS的Web功能 1119 32.7 客户数据集的更多功能 1125 32.7.1 嵌套的数据集 1125 32.7.2 客户主/细连接 1125 32.7.3 两层应用程序 1130 32.8 部署MIDAS应用程序 1131 32.9 总结 1134 第五部分 快速开发数据库应用程序 第33章 货物管理程序:客户/服务器 开发 1135 33.1 设计后端 1135 33.1.1 定义域 1136 33.1.2 定义表 1137 33.1.3 定义生成器 1138 33.1.4 定义触发器 1138 33.1.5 定义存储过程 1139 33.1.6 授权 1141 33.2 集中数据库访问:业务规则 1141 33.2.1 登录和退出方法 1150 33.2.2 Customer表的方法 1151 33.2.3 Part表的方法 1152 33.2.4 Sales表的方法 1152 33.2.5 临时表的方法 1153 33.2.6 TDataModule操纵数据访问 组件的事件 1153 33.3 设计用户界面 1153 33.3.1 TMainForm:应用程序的主窗 体 1154 33.3.2 TCustomerForm:客户输入 1158 33.3.3 TPartsForm: 货物输入 1161 33.3.4 TSalesForm: 销售浏览 1165 33.3.5 TNewSalesForm: 销售输入 1165 33.3.6 CustomerSearch对话框 1169 33.4 总结 1173 第34章 客户跟踪系统:MIDAS开发 1174 34.1 设计服务器应用程序 1174 34.2 设计客户应用程序 1176 34.2.1 客户数据模块 1176 34.2.2 客户主窗体 1184 34.3 总结 1190 第35章 错误报告工具:桌面数据库 开发 1191 35.1 通用应用程序的需求 1191 35.1.1 为WWW做准备 1191 35.1.2 用户的数据输入和登录 1191 35.1.3 错误处理、浏览和过滤 1191 35.1.4 错误注解 1191 35.1.5 用户界面的功能 1192 35.2 数据模型 1192 35.3 开发数据模块 1192 35.3.1 应用程序初始化和登录 1201 35.3.2 生成Paradox关键值 1202 35.3.3 错误处理例程 1202 35.3.4 浏览/过滤错误 1202 35.3.5 增加用户 1202 35.3.6 加入注解 1204 35.4 开发用户界面 1205 35.4.1 主窗体 1205 35.4.2 用户界面的其他问题 1211 35.5 使应用程序具有Web功能 1211 35.6 总结 1211 第36章 错误报告工具:使用 WebBroker 1212 36.1 网页布局 1212 36.2 修改数据模块 1213 36.3 配置TDataSetTableProducer组件: dstpBugs 1213 36.4 配置TWebDispatcher组件: wbdpBugs 1213 36.5 配置TPageProducer组件: pprdBugs 1214 36.6 编写DDGWebBugs ISAPI服务器: 增加TActionItem实例 1214 36.6.1 辅助例程 1214 36.6.2 介绍网页 1215 36.6.3 获取并校验用户登录名字 1216 36.7 浏览错误信息 1219 36.7.1 浏览所有错误信息 1219 36.7.2 浏览用户自己的错误信息 1221 36.7.3 格式化表格单元并显示错误细 节 1222 36.8 增加新的错误信息 1223 36.8.1 获取错误信息 1223 36.8.2 校验插入的错误信息 1225 36.9 总结 1228 第六部分 附 录 附录A 错误信息与异常 1229 附录B BDE错误代码 1247 附录C 参考文献 1264
5.77MB
Delphi 5 经典教程
2011-09-27第一部分 快速开发的基础 第1章 Delphi 5下的Windows编程 1 1.1 Delphi产品家族 1 1.2 Delphi是什么 3 1.2.1 可视化开发环境 3 1.2.2 编译器的速度和已编译代码的效 率 4 1.2.3 编程语言的功能及其复杂性 4 1.2.4 数据库结构的灵活性和可扩展性 5 1.2.5 框架对设计和使用模式的扩充 5 1.3 历史回顾 5 1.3.1 Delphi 1 5 1.3.2 Delphi 2 6 1.3.3 Delphi 3 6 1.3.4 Delphi 4 7 1.3.5 Delphi 5 7 1.3.6 未来 7 1.4 Delphi 5的IDE 7 1.4.1 主窗口 8 1.4.2 窗体设计器 9 1.4.3 Object Inspector 9 1.4.4 代码编辑器 9 1.4.5 代码浏览器 10 1.4.6 源代码生成器 10 1.5 创建一个简单的应用程序 11 1.6 事件机制的优势在哪里 12 1.7 加速原型化 13 1.8 可扩展的组件和环境 13 1.9 IDE最重要的十点功能 13 1.10 总结 15 第2章 Object Pascal语言 16 2.1 注解 16 2.2 新的过程和函数特征 17 2.2.1 圆括号 17 2.2.2 重载 17 2.2.3 缺省值参数 17 2.3 变量 18 2.4 常量 19 2.5 运算符 20 2.5.1 赋值运算符 20 2.5.2 比较运算符 20 2.5.3 逻辑表达式 21 2.5.4 算术运算符 21 2.5.5 按位运算符 22 2.5.6 加减运算过程 22 2.6 Object Pascal类型 23 2.6.1 类型的比较 23 2.6.2 字符 24 2.6.3 字符串 24 2.6.4 变体类型 32 2.6.5 Currency 39 2.7 用户自定义类型 39 2.7.1 数组 39 2.7.2 动态数组 40 2.7.3 记录 41 2.7.4 集合 42 2.7.5 对象 43 2.7.6 指针 44 2.7.7 类型别名 46 2.8 强制类型转换和类型约定 46 2.9 字符串资源 47 2.10 测试条件 47 2.10.1 if语句 47 2.10.2 case语句 48 2.11 循环 49 2.11.1 for循环 49 2.11.2 while循环 49 2.11.3 repeat...until 50 2.11.4 Break()过程 50 2.11.5 Continue()过程 50 2.12 过程和函数 50 2.13 作用域 50 2.14 单元 55 2.14.1 uses子句 55 2.14.2 循环单元引用 56 2.15 包 56 2.15.1 使用Delphi的包 56 2.15.2 包的语法 56 2.16 面向对象编程 57 2.17 使用Delphi对象 58 2.17.1 声明和实例化 58 2.17.2 析构 59 2.18 方法 59 2.18.1 方法的类型 60 2.18.2 属性 61 2.18.3 可见性表示符 62 2.18.4 友类 62 2.18.5 对象的秘密 63 2.18.6 TObject:所有对象的祖先 63 2.18.7 接口 63 2.19 结构化异常处理 66 2.19.1 异常类 68 2.19.2 执行的流程 70 2.19.3 重新触发异常 71 2.20 运行期类型信息 72 2.21 总结 72 第3章 Win32 API 73 3.1 对象:以前和现在 73 3.1.1 内核对象 73 3.1.2 GDI和用户对象 75 3.2 多任务和多线程 75 3.3 Win32内存管理 76 3.3.1 什么是线性内存模式 76 3.3.2 Win32系统是怎样管理内存的 76 3.4 Win32的错误处理 78 3.5 总结 78 第4章 应用程序框架和设计 79 4.1 理解Delphi环境和项目的体系结构 79 4.2 构成Delphi 5项目的文件 79 4.2.1 项目文件 80 4.2.2 单元文件 80 4.2.3 窗体文件 80 4.2.4 资源文件 81 4.2.5 项目选项及桌面设置文件 81 4.2.6 备份文件 81 4.2.7 包文件 82 4.3 项目管理提示 82 4.3.1 一个项目一个目录 82 4.3.2 共享代码的单元 82 4.3.3 多项目管理 84 4.4 Delphi 5项目的框架类 84 4.4.1 TForm类 84 4.4.2 TApplication类 89 4.4.3 TApplication的方法 91 4.4.4 TApplication的事件 92 4.4.5 TScreen类 93 4.5 定义公共体系结构:使用对象库 93 4.5.1 考虑应用程序的体系结构 93 4.5.2 Delphi固有的体系结构 94 4.5.3 体系结构的例子 94 4.5.4 子窗体TChildForm 94 4.5.5 数据库基础模式窗体TDBMode- Form 96 4.5.6 数据库导航/状态窗体TDBNavstat- Form 97 4.5.7 使用框架进行应用程序结构 设计 102 4.6 一些项目管理的功能 103 4.6.1 在项目中添加资源 103 4.6.2 改变屏幕光标 105 4.6.3 避免创建一个窗体的多个实例 106 4.6.4 在DPR文件中增加代码 107 4.6.5 覆盖应用程序的异常处理 107 4.6.6 显示一个封面 109 4.6.7 使窗体尺寸最小 110 4.6.8 运行没有窗体的项目 111 4.6.9 退出Windows 112 4.6.10 防止关闭Windows 113 4.7 总结 113 第5章 理解Windows消息 114 5.1 什么是消息 114 5.2 消息的类型 115 5.3 Windows消息系统是如何工作的 115 5.4 Delphi的消息系统 116 5.5 消息处理 117 5.5.1 消息处理:不是无约定的 118 5.5.2 对Result域赋值 119 5.5.3 TApplication的OnMessage事件 119 5.6 发送自己的消息 120 5.6.1 Perform() 120 5.6.2 sendMessage()和PostMessage() 120 5.7 非标准的消息 121 5.7.1 通知消息 121 5.7.2 VCL内部的消息 122 5.7.3 用户自定义的消息 122 5.8 一个消息系统的剖析:VCL 123 5.9 消息与事件之间的关系 128 5.10 总结 129
21.80MB
delphi EhLib 9.5.012 Full Source 专业版 .rar
2020-06-17EhLib.VCL 9.5内部版本9.5.012专业版。 ---------------------------------------------- 该库包含Borland Delphi版本7、9的组件和类。 Developer Studio 2006,Delphi 2007,Embarcadero RAD Studio 2009-XE10.3,Lazarus。 目录 ----------------- 总览 安装库 安装帮助 示范节目 注册和价格 其他资讯 关于作者 从哪儿开始。 ------------------- 从主要的Demo项目开始概述库 。\ Demos \ Bin \ MainDemo.Exe。 (已编译的演示文件在该库的评估版中可用) 如果您使用了库的早期版本,则可以阅读摘要 的新功能和更改中的内容history-eng.html。 此版本库中有关新功能的更多详细信息 可以在文件中找到-关于EhLib 9.5 Eng.doc 要在IDE中安装该库的新版本,请使用安装程序 。\ Installer \ EhLibInstaller.exe 如果安装时有任何问题,请写信给ehlib支持 地址support@ehlib.com 您还可以按照以下说明在库IDE中手动安装文件 第2章安装库 安装后,请确保所有已安装组件的可操作性。 为此,请打开IDE,编译并启动一个主要的演示项目。 。\ Demos \ MainDemo \ Project1_XE2.dpr 阅读下一个文件,以获取有关使用库组件的完整说明: 。\ Hlp \ ENG \“ EhLib-用户指南.doc” 在文件中阅读有关EhLib for Lazarus的信息-Lazarus <*> \ readme.txt 总览 -------- 该库包含几个组件和对象。 TDBGridEh组件 TDBGridEh提供TDBGrid的所有功能 并添加了一些新功能,如下所示: 允许选择记录,列和矩形区域。 可以对应于多个/所有列的特殊标题。 能够显示总和/计数/其他字段值的页脚。 自动调整列大小以将网格宽度设置为等于客户端宽度。 能够更改行和标题的高度。 允许自动中断单行长标题和数据行 到多行。 标题可以充当按钮,并可以选择显示排序标记。 自动排序标记。 能够用省略号截断长文本。 查找列表可以显示几个字段。 在查找字段中进行增量搜索。 冻结的列。 DateTime选择器支持TDateField和TDateTimeField。 允许根据字段值显示TImageList中的位图。 允许隐藏和跟踪水平或垂直滚动条。 允许隐藏列。 允许显示冻结,页脚和数据行的3D框架。 允许绘制备忘字段。 多行就地编辑器。 比例滚动与数据集的排序无关。 自动显示布尔字段的复选框。允许显示 其他类型字段的复选框。 具有保存和还原布局的程序(可见列,列 注册表或ini文件中的顺序,列宽,排序标记,行高)。 允许显示提示(工具提示)以显示单元格中不适合的文本。 允许将数据导出为Text,Csv,HTML,RTF,XLS和内部格式。 允许从文本和内部格式导入数据。 可以对各种数据集中的数据进行排序。 可以过滤各种数据集中的数据。 当DBGridEh连接到TMemTable类型的数据集时,它允许: 在不移动活动记录的情况下查看所有数据。 显示TMemTable记录的树型结构。 在SubTitle过滤器的下拉列表中自动形成值列表。 根据所选库伦创建分组记录。 TDBVertGridEh组件 在“垂直方向”中显示数据集中的一条记录的组件。 有一个特殊的列来显示字段标题 可以像DBGridEh中一样自定义就地编辑器和单元格数据。 TDBLookupComboboxEh组件 提供TDBLookupCombobox的所有功能并添加 几个新功能如下: 可以有平面样式。 允许只将值分配给KeyValue属性 显示文本属性。 允许将值键入(分配)到数据列表中未包含的Text属性 (样式= csDropDownEh)。 允许将KeyValue和Text保持为互不影响的值。 当KeyField,ListField,ListSource,DataField和DataSource生效 属性为空。 下拉列表可以: 显示标题 有上浆力, 自动将宽度设置为列表字段DisplayWidth之和(宽度= -1), 用户按下按键时自动掉线。 编辑按钮可以: 显示下拉,省略号或位图图像。 有指定的宽度。 还有其他事件:OnKeyValueChanged,OnButtonClick。 TDBSumList组件 此组件用于总计一个记录中的记录的总数和数量。 TDataSet具有动态更改。组件保留TDBSum的列表 对象,其中包含组操作的类型(goSum或goCount) 和名称总和字段(无需goCount字段名称)。 TPrintDBGridEh组件 TPrintDBGridEh提供用于预览和预览的属性和例程。 具有以下功能的TDBGridEh组件的打印: 能够垂直扩展行,直到打印所有文本。 缩放网格以使其适合页面宽度的能力。 能够打印/预览网格标题。 能够打印/预览页面标题和页面页脚 指定当前页面,当前日期,当前时间和/或静态的宏 文本。 自动打印/预览TDBGridEh的选定区域 不为空。 能够在网格之前和之后打印/预览富文本。 TPreviewBox组件 TPreviewBox使您可以创建可自定义的运行时预览。 TPrinterPreview对象 TPrinterPreview允许您将可打印数据记录在缓冲区中以进行跟踪 将它们输出到屏幕上并发送到打印机。TPrinterPreview具有所有功能,并且 属性与TPrinter对象中的属性相同。您可以类似地使用TPrinterPreview对象 TPrinter的功能,除了一些细节。在TPrinter Printer.Canvas.Handle和 Printer.Handle相同,但在TPrinterPreview中PrinterPreview.Canvas.Handle 表示图元文件,其中的数据和PrinterPreview.Handle的内容相同 代表Printer.Handle。这意味着您必须使用 用于绘制操作的PrinterPreview.Canvas.Handle(DrawText,DrawTexteEx等) 并在返回有关以下信息的函数中使用PrinterPreview.Handle 打印机功能(GetDeviceCaps等)。全局功能PrinterPreview 返回默认的PrinterPreview对象,并以默认预览形式显示数据。 TDBEditEh组件 表示可以显示和编辑字段的单行或多行编辑控件 在数据集中或可以用作非数据感知的编辑控件。 TDBDateTimeEditEh组件 表示可以显示和编辑的单行日期或时间编辑控件 数据集中的日期时间字段,或可用作非数据感知的编辑控件。 TDBComboBoxEh组件 表示结合了编辑框的单行或多行编辑控件 带有可滚动列表,并且可以显示和编辑数据集中的字段,或者可以 用作非数据感知组合编辑控件。 TDBNumberEditEh组件 表示可以显示和编辑数字的单行数字编辑控件 数据集中的字段或可以用作非数据感知的编辑控件。 TPropStorageEh,TIniPropStorageManEh,TRegPropStorageManEh组件 组件实现了在设置中存储组件属性的技术 存储,如ini文件,注册表等。 TMemTableEh组件 数据集,将数据保存在内存中。它可能考虑为 记录。 此外,它: 支持一个特殊的接口,该接口允许DBGridEh组件查看所有 数据而不移动活动记录。 允许从TDataDriverEh对象(DataDriver属性)获取数据。 允许卸载更改回DataDriver中,可操作或推迟(在 CachedUpdates属性的相关性)。 允许在客户端上创建主/明细关系(过滤记录) 或在外部源上(更新参数[Params]并需要数据 从DataDriver)。 允许一次(无动态支持)排序数据,包括 计算和查找字段。 允许在设计时创建和填充数据,并将数据保存在的dfm文件中 形成。 允许以树的方式进行记录。每条记录可以有一条记录 元素分支和本身是其他父母记录的元素。 组件TDBGridEh支持显示这些组件的树型结构 记录。 允许连接到其他TMemTableEh的内部阵列(通过 ExternalMemData属性)并使用其数据:排序,过滤,编辑。 具有用于在列表的一列中请求所有唯一值列表的接口 记录数组,忽略数据集的本地过滤器。TDBGridEh使用此 属性,用于自动填充字幕的DropDownBox中的列表 过滤单元。 TDataDriverEh组件 执行两项任务: 将数据传送到TMemTableEh。 处理TMemTableEh的更改记录(将它们记录在其他数据集中, 或调用事件以处理程序中的更改)。 TSQLDataDriverEh 具有四个TSQLCommandEh类型的对象的DataDriver:SelectCommand, DeleteCommand,InsertCommand,UpdateCommand,GetrecCommand。 TSQLDataDriverEh无法将查询传输到服务器,但会调用全局 (对于应用程序)执行SQL必须编写的事件 服务器上的表达式。 TBDEDataDriverEh,TIBXDataDriverEh,TDBXDataDriverEh和TADODataDriverEh组件。 这些是SQLDataDrivers,可以使用以下命令将查询传递到服务器 数据访问的相应驱动程序。 -------------------- 2.安装库 -------------------- -------------------- 2.1自动安装库 -------------------- 从“安装程序”文件夹中运行EhLibInstaller.exe程序以在以下位置安装EhLib Delphi / C ++ Builder IDE。该程序创建文件夹以保持EhLib二进制 和其他重新整理的文件,将重新整理的文件复制到创建的文件夹, 编译程序包,在IDE中注册程序包并编写重新格式化的路径 在注册表中。 如果您具有可执行的安装程序(例如,EhLibSetupD7Eval.exe) 那么您只需要运行程序并遵循安装过程即可。自动设置 将所有单元写入必要的目录,在IDE中安装软件包和帮助文件。 -------------------- 2.2手动安装库 ------------------- 按照以下说明从EhLib归档文件安装文件: - 2.2.1。对于RAD Studio XE2(Delphi)或更高版本: -------------------
16.0MB
DELPHI 5数据库开发技术
2011-10-21Delphi是一种非常优秀的可视化程序开发语言,Delphi 5 基于Windows 95/98/NT,采用高度结构化的Object Pascal语言,具有结构清晰、编译迅速等特点。它强大的可扩展数据库功能更赢得了无数数据库开发人员的青睐。本书详细介绍了Delphi 5 所增加的强大的数据库编程工具,例如ADO组件、IBX组件和数据模块设计窗口。本书由浅入深,系统地介绍了如何利用Delphi 5 强大的开发工具进行数据库应用程序的开发,并结合每一部分的内容,列举了大量实例,以便于读者掌握。本书适用于从事数据库应用程序开发的广大技术人员以及作为各院校师生的学习参考。 目 录 前言 第1章 Delphi 5.0 简介 1 1.1 Delphi 5.0 的新特点 1 1.1.1 集成开发环境(IDE)的改进 1 1.1.2 新的语言扩充 3 1.1.3 数据库的应用开发能力增强 4 1.1.4 其他方面的改进 4 1.2 Delphi 5.0 的集成开发环境 4 1.2.1 主窗口 5 1.2.2 代码编辑器 13 1.2.3 窗体设计器 15 1.2.4 对象观察器 16 1.2.5 工程管理器 18 1.3 面向对象的Pascal语言 19 1.3.1 Object Pascal 的语言基础 19 1.3.2 Object Pascal的程序设计 27 1.4 小结 29 第2章 数据库应用程序开发基本概述 30 2.1 数据库的基本概念 30 2.2 数据存取 31 2.3 数据库应用程序的开发步骤 31 2.4 数据库应用开发能力的增强 32 2.5 小结 33 第3章 Delphi 5.0 的数据库工具 34 3.1 数据库工作平台 34 3.1.1 Database Desktop 35 3.1.2 设置工作目录及私有目录 35 3.1.3 创建数据表格 35 3.1.4 数据表格的属性 36 3.1.5 在Database Desktop中创建SQL型 数据表格 39 3.1.6 在Database Desktop中使用查询 40 3.2 数据库引擎 42 3.3 数据库资源管理器 42 3.4 数据字典 45 3.5 SQL监视器 46 3.6 Datapump工具 46 3.7 小结 48 第4章 数据访问组件 49 4.1 数据访问组件简介 50 4.2 TTable组件介绍 50 4.2.1 数据集组件的基本知识 51 4.2.2 TTable 组件的重要属性 52 4.2.3 Ttable组件的重要方法 58 4.2.4 Ttable 组件的重要事件 69 4.2.5 举例说明 70 4.3 TQuery 组件介绍 71 4.3.1 TQuery组件和TTable组件的比较 72 4.3.2 TQuery组件的重要属性 72 4.3.3 TQuery组件的重要方法 75 4.4 TstoredProc组件介绍 77 4.4.1 TstoredProc组件的重要属性 77 4.4.2 TstoredProc组件的重要方法 78 4.4.3 利用TstoredProc组件实现存储 过程 79 4.5 TDataSource组件介绍 81 4.5.1 TDataSource组件的重要属性 81 4.5.2 TDataSource组件的重要方法 82 4.5.3 TDataSource组件的重要事件 83 4.5.4 应用程序中建立TDataSource组件 的基本步骤 84 4.6 Tdatabase组件介绍 84 4.6.1 TDatabase 组件的重要属性 84 4.6.2 TDatabase 组件的重要方法 87 4.6.3 TDatabase 组件的重要事件 88 4.7 Tsession组件介绍 88 4.7.1 Tsession的重要属性 89 4.7.2 Tsession的重要方法 89 4.8 其他组件介绍 90 4.9 数据访问组件的应用实例 91 4.10 ADO组件页介绍 99 4.10.1 ADO组件页概述 99 4.10.2 TADOConnection 100 4.10.3 TADOCommand组件 102 4.10.4 TADODataSet组件 104 4.10.5 TADOTable 106 4.11 小结 107 第5章 数据控制组件 108 5.1 数据控制组件简介 108 5.2 TDBGrid组件介绍 109 5.2.1 TDBGrid组件的重要属性 110 5.2.2 TDBGrid组件的重要事件 112 5.2.3 TDBGrid组件的应用举例 113 5.3 TDBNavigator组件介绍 118 5.3.1 TDBNavigator组件实现的主要 功能 118 5.3.2 TDBNavigator组件的重要属性 119 5.3.3 TDBNavigator组件的重要事件 121 5.3.4 TDBNavigator组件应用举例 121 5.4 TDBText组件介绍 122 5.4.1 TDBText 组件的重要属性 122 5.4.2 TDBText组件的应用举例 122 5.5 TDBEdit组件介绍 125 5.5.1 TDBEdit组件的重要属性 125 5.5.2 TDBEdit 组件的应用举例 125 5.6 TDBMemo组件介绍 128 5.6.1 TDBMemo组件的重要属性 128 5.6.2 TDBMemo组件的应用举例 130 5.7 TDBImage组件介绍 131 5.8 TDBList组件介绍 134 5.9 TDBComboBox组件介绍 138 5.10 TDBCheckBox组件介绍 139 5.11 TDBRadioGroup组件介绍 143 5.12 TDBLookupListBox组件介绍 145 5.13 TDBLookupComboBox组件介绍 150 5.14 TDBCtrlGrid组件介绍 153 5.15 TDBRichEdit组件介绍 157 5.16 TDBChart组件介绍 157 5.17 小结 157 第6章 利用窗体维护数据 158 6.1 窗体对象 158 6.1.1 基本属性 158 6.1.2 窗体的常用事件和方法 161 6.2 利用窗体进行数据的操作 162 6.2.1 数据的排序 162 6.2.2 数据的查询 164 6.2.3 对数据库中的数据进行修改 169 6.2.4 数据的插入和删除 171 6.3 字段对象 174 6.3.1 字段对象的数据类型 175 6.3.2 创建永久字段对象 175 6.3.3 字段对象的属性和方法 176 6.3.4 字段对象的使用 177 6.4 一个综合维护数据的例子 181 6.5 使用多个数据表格 197 6.6 使用Form Wizard 202 6.6.1 使用创建单个数据表格的应用 程序 202 6.6.2 使用Form Wizard创建一对多的 应用程序 205 6.7 小结 209 第7章 菜单的设计 210 7.1 菜单设计简介 210 7.2 使用MainMenu Designer设计菜单 211 7.3 菜单的操作 214 7.3.1 设置和取消复选标志 214 7.3.2 菜单项的显灰 216 7.3.3 菜单项的隐藏 216 7.3.4 打开和存储文件 217 7.4 使用菜单模板 220 7.5 设计菜单的一个例子 221 7.6 小结 226 第8章 多选项卡对象 227 8.1 多选项卡对象 227 8.1.1 TabControl对象 227 8.1.2 PageControl组件 230 8.2 一个使用多选项卡的例子 231 8.3 小结 235 第9章 Decision Cube组件 236 9.1 Decision Cube组件介绍 236 9.1.1 Decision Cube组件 236 9.1.2 Decision Query组件 239 9.1.3 Decision Grid组件 241 9.1.4 Decision Graph组件 243 9.1.5 Decision Pivot组件 247 9.1.6 Decision Source组件 253 9.2 一个综合使用Decision Cube组件 的例子 253 9.3 小结 261 第10章 报表的设计 262 10.1 QReport组件的介绍 262 10.1.1 TQuickRep组件 262 10.1.2 TQRSubDetail组件 264 10.1.3 TQRBand组件 265 10.1.4 TQRChildBand组件 266 10.1.5 TQRExpr组件 266 10.1.6 TQRSysData组件 269 10.1.7 其他一些组件 270 10.2 动手制作一个报表 271 10.3 快速生成报表 277 10.3.1 Quick Report Wizard 277 10.3.2 报表模板 279 10.4 小结 289 第11章 使用SQL结构化查询语句 290 11.1 SQL语句简介 290 11.2 SQL在Delphi中的应用 291 11.3 小结 302 第12章 数据库应用程序实例 303 12.1 程序实现的功能及总体结构设计 303 12.1.1 应用程序的功能划分 303 12.1.2 应用程序的结构设计 305 12.2 应用程序中数据模块的设计 305 12.3 用户登录功能的实现 306 12.4 图书馆管理系统功能的实现 308 12.4.1 修改图书记录 309 12.4.2 修改学生记录 311 12.4.3 修改密码设置 313 12.4.4 生成预约图书的报表 315 12.4.5 生成催还图书的报表 318 12.5 图书馆服务系统功能的实现 320 12.5.1 查询图书、借阅图书及预约图书 321 12.5.2 查询个人借阅情况及归还图书 328 12.6 小结 334 第13章 Client/Server应用程序开发 335 13.1 Client/Server的基本概念和体系结构 335 13.1.1 Client/Server的基本概念 335 13.1.2 Client/Server的体系结构 336 13.2 构造Client/Server的应用开发环境 337 13.2.1 BDE Administrator数据库页 的操作 339 13.2.2 BDE Administrator配置页的操作 340 13.3 Client/Server的应用开发技术 349 13.3.1 连接数据库服务器 349 13.3.2 实现服务器上的存储过程 352 13.4 小结 353
15.58MB
CnPack (DELPHI辅助工具)
2015-09-10欢迎您使用 CnPack IDE 专家包 For Delphi/C++Builder/BDS。该专家包是针对 Delphi/C++Builder/BDS 开发的一组 IDE 功能扩展工具,用来提高程序员开发的效率。 专家包以 DLL 的方式集成到 IDE 中,包括一组以菜单和快捷键调用的工具、扩展的属性编辑器、组件编辑器及代码、窗体资源模板等。当前支持的编译器有 Borland Delphi 5/6/7, C++Builder 5/6 和 BDS 2005/2006、RAD Studio 2007 2009 2010,可以在 Windows 98/SE/ME/NT/2000/XP 中使用,其中部分工具仅在特定的编译器中可用。 CnPack 专家包是开放源码的自由软件,您可以自由地在非商业应用中使用、复制该工具而不需支付任何费用,更多的说明请查看 CnPack IDE 专家包许可协议。 CnPack 专家包是 CnPack 开发包的一部分,由 CnPack 开发组 开发。该开发组由互联网上热爱 Delphi/C++Builder/BDS 程序开发的一群中国程序员自发组成,其目标是开发中国人自己的真正优秀的第三方免费开发包,更多的内容请查阅 关于 CnPack。 该专家包仍在持续开发中,建议您连接到 CnPack 开发网站 上查看最新的更新记录。同时,专家包中内置的升级检测功能可以在 IDE 启动时自动联网检测最新的专家包升级,建议您尽快更新到最新的版本。在 历史更新记录 中,您可以查看到最新的功能及错误修正说明。
11.50MB
Delphi 5编程实例与技巧
2016-05-20目 录 前言 第一部分 Delphi编程基础 第1章 Delphi集成开发环境 1 1.1 集成开发环境简介 1 1.2 集成调试器 5 1.3 开发环境的优化 6 1.3.1 自定义工具栏 6 1.3.2 编程环境设置 7 1.3.3 编辑环境设置 8 1.3.4 工程设置 8 1.4 方法与技巧 9 1.4.1 使用代码浏览器 9 1.4.2 使用代码编辑器 9 1.4.3 使用帮助系统 10 1.4.4 设置IDE桌面 11 第2章 对象Pascal语言 12 2.1 学习对象Pascal语言的一个通用 例程 12 2.2 对象Pascal语言基础 14 2.2.1 标识符 14 2.2.2 保留字和指令字 14 2.2.3 注释 15 2.2.4 数据类型 16 2.2.5 运算符 21 2.2.6 语句 24 2.2.7 过程与函数 27 2.3 对象Pascal语言的关键技术 30 2.3.1 对象和类 31 2.3.2 类的封装与继承 31 2.3.3 构造函数和析构函数 32 2.3.4 多态性 35 2.3.5 抽象类 38 2.3.6 运行时类型信息 39 2.3.7 类方法 41 2.3.8 类引用 42 2.3.9 单元文件与工程文件 43 2.4 异常处理 45 2.4.1 raise语句 45 2.4.2 try...except语句 45 2.4.3 try...finally语句 47 2.5 方法与技巧 48 2.5.1 命名规则 48 2.5.2 在编译时自由设置是否获得提示 信息 48 2.5.3 使用代码模板 49 2.5.4 使用动态多维数组 49 2.5.5 定义两个相互包含的类 50 2.5.6 获取和使用命令行参数 51 2.5.7 引用参数传递 51 第二部分 Delphi编程的核心技能 第3章 窗体和组件 53 3.1 窗体和组件 53 3.1.1 窗体 54 3.1.2 组件 56 3.1.3 在窗体中使用组件 57 3.2 文本组件 60 3.3 特殊输入组件 61 3.4 按钮及其分类组件 63 3.5 列表组件 64 3.6 分组组件 67 3.7 信息反馈组件 69 3.8 表格显示组件 70 3.9 图形显示组件 71 3.10 开发MDI应用程序 73 3.11 常用组件的用法 74 3.12 方法与技巧 84 3.12.1 窗体、组件的使用原则 84 3.12.2 使用信息对话框 85 3.12.3 使用组件的Hint属性 88 3.12.4 使用Edit组件的IME属性 89 3.12.5 将系统字体添加到ComboBox 组件中 89 3.12.6 在RichEdit组件中存取文件 90 3.12.7 设置模态对话框的返回值 90 3.12.8 使用事件处理过程中的Sender 参数 91 3.12.9 为控件生成多行提示信息 91 3.12.10 生成非矩形窗口 92 3.12.11 移动无标题栏窗口 94 3.12.12 制作动态字幕 95 3.12.13 在窗体上动态地设置背景 画面 96 3.12.14 Owner和Parent的区别 97 第4章 菜单、工具栏和状态栏 98 4.1 菜单 98 4.1.1 主菜单 99 4.1.2 鼠标右键弹出式菜单 99 4.1.3 使用菜单模板 99 4.2 工具栏 100 4.2.1 ToolBar 100 4.2.2 CoolBar 100 4.2.3 ControlBar 101 4.3 状态栏 101 4.4 方法与技巧 106 4.4.1 动态创建菜单 106 4.4.2 为菜单动态定义快捷键 108 4.4.3 动态改变菜单 108 4.4.4 定制系统菜单 109 4.4.5 制作图形菜单项 110 4.4.6 在状态栏中添加进度条等其他 组件 111 4.4.7 MDI应用程序中的菜单融合 113 4.4.8 制作可随处拖放的工具栏 116 4.4.9 将菜单项移到菜单栏的最右边 117 4.4.10 运行时控件的移动 117 第5章 键盘和鼠标 119 5.1 键盘事件 119 5.2 鼠标事件 120 5.2.1 常用鼠标事件 120 5.2.2 拖曳事件 120 5.3 方法与技巧 122 5.3.1 检测Shift、Alt和Ctrl键是否 按下 122 5.3.2 屏蔽系统功能键 123 5.3.3 模拟按下键盘上的某个键 124 5.3.4 限制鼠标移动的范围 124 5.3.5 自定义鼠标 125 5.3.6 设置光标闪烁的速度 126 5.3.7 不同程序间的拖曳操作 127 第6章 文件、目录和驱动器 129 6.1 文件 129 6.2 文件对话框组件 129 6.3 Win3.1相关组件 131 6.4 常用函数 131 6.4.1 文件操作常用函数 131 6.4.2 目录操作常用函数 136 6.4.3 驱动器操作常用函数 138 6.4.4 文件名操作常用函数 139 6.5 方法与技巧 145 6.5.1 获取驱动器类型信息 145 6.5.2 操作INI文件 146 6.5.3 从文件中读取超过255个字符 的行 148 6.5.4 获取文件的日期信息 149 6.5.5 检测软盘或光盘是否有变化 150 6.5.6 检测驱动器容量 151 6.5.7 拷贝整个目录 152 6.5.8 将文件删除到回收站中 153 6.5.9 检测驱动器是否就绪 153 6.5.10 获取应用程序的文件名 154 6.5.11 操作临时文件 154 第7章 打印 156 7.1 一些简单的打印输出 156 7.2 TPrinter对象和TScreen对象 156 7.3 打印操作常用函数 157 7.4 方法与技巧 164 7.4.1 获取默认打印机的信息 164 7.4.2 获取打印机队列的状态信息 165 7.4.3 打印窗体 166 第8章 多线程应用程序 167 8.1 进程与线程 167 8.2 TThread类 167 8.3 线程的同步 169 8.4 线程的优先级 170 第9章 动态链接库 176 9.1 概述 176 9.2 创建动态链接库 177 9.3 使用动态链接库 179 9.4 方法与技巧 180 9.4.1 如何调试动态链接库 180 9.4.2 在DLL中使用MessageBox代替ShowMessage 181 9.4.3 如何动态地装入DLL 181 9.4.4 如何定制不同语言版本的应用 程序 183 第三部分 Delphi高级编程技术 第10章 多媒体技术 185 10.1 多媒体 185 10.1.1 概述 185 10.1.2 多媒体应用领域 186 10.1.3 多媒体软件开发工具 187 10.2 图像格式的处理 188 10.2.1 位图 189 10.2.2 JPEG文件 191 10.3 特殊显示效果 193 10.3.1 画布 193 10.3.2 调用CopyRect 193 10.3.3 调用BitBlt 194 10.4 动画 199 10.4.1 文字动画 199 10.4.2 图像动画 200 10.5 音频、视频 206 10.6 方法与技巧 209 10.6.1 使用MessageBeep与Beep 209 10.6.2 使用PlaySound 210 10.6.3 使用mciSendString 211 第11章 关系数据库 215 11.1 关系数据库 215 11.1.1 关键字 215 11.1.2 表之间的约束 215 11.1.3 结构化查询语言(SQL) 216 11.2 Delphi提供的数据库辅助工具 218 11.2.1 使用SQL Explorer 218 11.2.2 使用Database Desktop 218 11.2.3 使用BDE Administrator 220 11.3 数据库组件 221 11.3.1 TTable 221 11.3.2 TQuery 225 11.3.3 表的连接 227 11.3.4 计算字段 229 11.3.5 查找字段 230 11.3.6 网格 231 11.4 查询记录 232 11.4.1 GotoKey 232 11.4.2 FindKey 233 11.4.3 模糊查询 233 11.4.4 Locate 234 11.5 修改记录 234 11.6 插入和删除记录 235 11.7 数据模块 237 11.8 数据字典查看器 238 11.9 事务 240 11.10 处理数据库异常 244 第12章 InterBase服务器 248 12.1 客户/服务器的概念 248 12.1.1 客户 248 12.1.2 InterBase 客户例程库 248 12.1.3 InterBase服务器 248 12.1.4 Borland数据库引擎 248 12.2 数据库的管理和维护 249 12.2.1 创建数据库 249 12.2.2 创建表 250 12.2.3 数据库安全 250 12.2.4 备份与恢复 251 12.3 服务器端程序 252 12.3.1 存储过程 252 12.3.2 触发器 252 12.4 本地缓存 253 第13章 Web与数据库 260 13.1 CGI的工作原理 260 13.2 Delphi对CGI的支持 260 13.3 创建Web应用程序 261 13.4 表单 262 13.5 把信息保存到数据库 264 13.6 查找记录 266 第14章 COM 270 14.1 在DLL中实现对象 270 14.2 接口 274 14.2.1 对象的生存期 277 14.2.2 IUnknown 279 14.2.3 全局唯一标志符(GUID) 281 14.2.4 注册表 281 14.2.5 多个接口问题 281 14.2.6 Variant类型 284 14.2.7 TComObject 289 14.2.8 TTypedComObject 295 14.3 OLE自动化 307 14.3.1 创建OLE自动化服务器 307 14.3.2 建立OLE客户程序 314 14.3.3 访问自动化服务器的方法 316 14.3.4 使用Word 316 14.4 复合文档 319 第15章 分布式程序设计 329 15.1 CORBA结构 329 15.1.1 CORBA在数据库的应用 335 15.1.2 远程访问 341 15.1.3 OSFind 341 15.2 远程数据集 342 15.2.1 基础 342 15.2.2 扩展服务器 346 15.2.3 参数传递 353 15.2.4 主从约束 355 15.2.5 离线处理 358 15.2.6 ActiveForm 361 15.3 插口Socket 362 15.3.1 插口的使用 362 15.3.2 使用插口的一个例子 363 15.3.3 TNMUDP组件 369 第16章 其他编程技术 374 16.1 使用剪贴板 374 16.1.1 组件对剪贴板操作的支持 374 16.1.2 使用剪贴板类 375 16.1.3 操作图形 378 16.1.4 操作组件 379 16.1.5 操作定制格式的数据 379 16.2 动态数据交换(DDE) 381 16.3 操作注册表 385 16.3.1 TRegistry类 387 16.3.2 与注册表相关的API函数 390 16.4 帮助系统的制作 395 16.4.1 RTF文件 395 16.4.2 HPJ文件与HLP文件 398 16.4.3 启动帮助 402 16.5 安装与卸载 403 16.6 方法与技巧 404 16.6.1 获取Windows版本信息 404 16.6.2 获取系统的度量信息和相关 配置信息 405 16.6.3 获取CPU信息 407 16.6.4 获取内存信息 408 16.6.5 存取系统的颜色信息 409 16.6.6 获取Windows及系统路径 409 16.6.7 存取计算机名称 410 16.6.8 获取用户注册信息 411 16.6.9 关闭Windows 411 16.6.10 启动控制面板 412 16.6.11 启动屏幕保护 415 16.6.12 使窗体标题栏闪烁 415 16.6.13 使窗口背景颜色渐变 416 16.6.14 隐藏/显示桌面上的图标 416 16.6.15 获取窗口标题栏中的文字 417 16.6.16 制作软件封面 418 16.6.17 隐藏/显示Windows任务栏 420 16.6.18 使应用程序不出现在Windows 的任务栏上 420 16.6.19 状态栏编程 421 16.6.20 存取系统参数信息 426 16.6.21 Windows启动时运行程序 427 16.6.22 为程序在启动菜单中创建 快捷方式 428 16.6.23 在程序中运行其他程序 429 16.6.24 同时只运行程序的一个实例 429 16.6.25 关闭运行的其他应用程序 431 16.6.26 显示旋转字体 432
3.26MB
Delphi6数据库开发典型实例
2010-10-28支持Delphi!~ 数据库是20 世纪60 年代末开始兴起的数据处理技术,它以结构化方式存储大量的数据,并由数据库管理系统集中处理数据。 数据库具有数据结构化、数据独立性高、可以方便地实现数据共享等特点,而且便于使用和扩充。 本书通过丰富的实例为读者介绍了如何使用Delphi 开发数据库应用程序,这些实例都具有很高的实用价值。本书通过实例深入讲述了Delphi 数据库编程技术及技巧。 第 1 章介绍了Delphi 数据库开发工具,包括BDE Administrator、SQL Explorer、SQL Monitor 和Database Desktop 等数据库工具的使用。 还介绍了SQL 语言,包括通用SQL 查询语句、更新查询语句、表之间的连接和数据定义语言,并且着重说明了如何在Delphi中使用SQL 语句创建查询。 第 2 章首先介绍Delphi 文件管理的基本概念和标准过程/函数,并提供了一个记录文件的应用实例,最后提供了一个综合应用Delphi 文件管理功能的文件管理程序实例。 第 3 章通过“学生名册管理系统”的开发介绍了如何使用DAO 技术来设计数据库应用程序。 第 4 章介绍了Delphi 支持的4 种数据交换方式,即剪贴板、动态数据交换(DDE)、对象连接与嵌入(OLE),以及动态连接库(DLLs),并讨论了如何利用这4 种方式实现应用程序间的数据交换。 第 5 章介绍了报表和图表,从QReport 组件开始讲述了报表的概念、实现的主要功能,以及创建报表的方法,还通过一个具体的示例程序说明了如何在Delphi 中处理图表。 第 6 章的实例是一个投递邮件处理系统,该实例能够根据邮件投递人提供的资料管理邮件系统。 第 7 章介绍了书店租赁管理系统的开发过程,从中读者可学习如何尽可能节省人力,自动地完成数据的更新操作。 第 8 章介绍了基于数据库的闹铃程序设计,该实例的特点在于程序界面的背景和程序的声音文件均存储在数据库中,其中涉及到3 种数据库存储方式,即简单数据存储(如字符串和整型数等)、图像数据存储和声音文件存储。 附录 A 介绍了SQL 查询语言。 附录 B 列出了Delphi 中常用组件及其属性、方法和事件。 附录 C 中介绍了在示例中未涉及的有关DAO 技术。
13.19MB
DELPHI 5编程实例与技巧
2011-10-21Delphi是由Inprise公司推出的面向对象的可视化软件开发工具。Delphi 5是Delphi的最新版本。本书共分三部分、16章,主要介绍Delphi 5集成开发环境,对象Pascal语言、组件、通用编程技术、动态链接库、多线程、多媒体编程、数据库编程、网络编程和Windows API编程等。 目 录 前言 第一部分 Delphi编程基础 第1章 Delphi集成开发环境 1 1.1 集成开发环境简介 1 1.2 集成调试器 5 1.3 开发环境的优化 6 1.3.1 自定义工具栏 6 1.3.2 编程环境设置 7 1.3.3 编辑环境设置 8 1.3.4 工程设置 8 1.4 方法与技巧 9 1.4.1 使用代码浏览器 9 1.4.2 使用代码编辑器 9 1.4.3 使用帮助系统 10 1.4.4 设置IDE桌面 11 第2章 对象Pascal语言 12 2.1 学习对象Pascal语言的一个通用 例程 12 2.2 对象Pascal语言基础 14 2.2.1 标识符 14 2.2.2 保留字和指令字 14 2.2.3 注释 15 2.2.4 数据类型 16 2.2.5 运算符 21 2.2.6 语句 24 2.2.7 过程与函数 27 2.3 对象Pascal语言的关键技术 30 2.3.1 对象和类 31 2.3.2 类的封装与继承 31 2.3.3 构造函数和析构函数 32 2.3.4 多态性 35 2.3.5 抽象类 38 2.3.6 运行时类型信息 39 2.3.7 类方法 41 2.3.8 类引用 42 2.3.9 单元文件与工程文件 43 2.4 异常处理 45 2.4.1 raise语句 45 2.4.2 try...except语句 45 2.4.3 try...finally语句 47 2.5 方法与技巧 48 2.5.1 命名规则 48 2.5.2 在编译时自由设置是否获得提示 信息 48 2.5.3 使用代码模板 49 2.5.4 使用动态多维数组 49 2.5.5 定义两个相互包含的类 50 2.5.6 获取和使用命令行参数 51 2.5.7 引用参数传递 51 第二部分 Delphi编程的核心技能 第3章 窗体和组件 53 3.1 窗体和组件 53 3.1.1 窗体 54 3.1.2 组件 56 3.1.3 在窗体中使用组件 57 3.2 文本组件 60 3.3 特殊输入组件 61 3.4 按钮及其分类组件 63 3.5 列表组件 64 3.6 分组组件 67 3.7 信息反馈组件 69 3.8 表格显示组件 70 3.9 图形显示组件 71 3.10 开发MDI应用程序 73 3.11 常用组件的用法 74 3.12 方法与技巧 84 3.12.1 窗体、组件的使用原则 84 3.12.2 使用信息对话框 85 3.12.3 使用组件的Hint属性 88 3.12.4 使用Edit组件的IME属性 89 3.12.5 将系统字体添加到ComboBox 组件中 89 3.12.6 在RichEdit组件中存取文件 90 3.12.7 设置模态对话框的返回值 90 3.12.8 使用事件处理过程中的Sender 参数 91 3.12.9 为控件生成多行提示信息 91 3.12.10 生成非矩形窗口 92 3.12.11 移动无标题栏窗口 94 3.12.12 制作动态字幕 95 3.12.13 在窗体上动态地设置背景 画面 96 3.12.14 Owner和Parent的区别 97 第4章 菜单、工具栏和状态栏 98 4.1 菜单 98 4.1.1 主菜单 99 4.1.2 鼠标右键弹出式菜单 99 4.1.3 使用菜单模板 99 4.2 工具栏 100 4.2.1 ToolBar 100 4.2.2 CoolBar 100 4.2.3 ControlBar 101 4.3 状态栏 101 4.4 方法与技巧 106 4.4.1 动态创建菜单 106 4.4.2 为菜单动态定义快捷键 108 4.4.3 动态改变菜单 108 4.4.4 定制系统菜单 109 4.4.5 制作图形菜单项 110 4.4.6 在状态栏中添加进度条等其他 组件 111 4.4.7 MDI应用程序中的菜单融合 113 4.4.8 制作可随处拖放的工具栏 116 4.4.9 将菜单项移到菜单栏的最右边 117 4.4.10 运行时控件的移动 117 第5章 键盘和鼠标 119 5.1 键盘事件 119 5.2 鼠标事件 120 5.2.1 常用鼠标事件 120 5.2.2 拖曳事件 120 5.3 方法与技巧 122 5.3.1 检测Shift、Alt和Ctrl键是否 按下 122 5.3.2 屏蔽系统功能键 123 5.3.3 模拟按下键盘上的某个键 124 5.3.4 限制鼠标移动的范围 124 5.3.5 自定义鼠标 125 5.3.6 设置光标闪烁的速度 126 5.3.7 不同程序间的拖曳操作 127 第6章 文件、目录和驱动器 129 6.1 文件 129 6.2 文件对话框组件 129 6.3 Win3.1相关组件 131 6.4 常用函数 131 6.4.1 文件操作常用函数 131 6.4.2 目录操作常用函数 136 6.4.3 驱动器操作常用函数 138 6.4.4 文件名操作常用函数 139 6.5 方法与技巧 145 6.5.1 获取驱动器类型信息 145 6.5.2 操作INI文件 146 6.5.3 从文件中读取超过255个字符 的行 148 6.5.4 获取文件的日期信息 149 6.5.5 检测软盘或光盘是否有变化 150 6.5.6 检测驱动器容量 151 6.5.7 拷贝整个目录 152 6.5.8 将文件删除到回收站中 153 6.5.9 检测驱动器是否就绪 153 6.5.10 获取应用程序的文件名 154 6.5.11 操作临时文件 154 第7章 打印 156 7.1 一些简单的打印输出 156 7.2 TPrinter对象和TScreen对象 156 7.3 打印操作常用函数 157 7.4 方法与技巧 164 7.4.1 获取默认打印机的信息 164 7.4.2 获取打印机队列的状态信息 165 7.4.3 打印窗体 166 第8章 多线程应用程序 167 8.1 进程与线程 167 8.2 TThread类 167 8.3 线程的同步 169 8.4 线程的优先级 170 第9章 动态链接库 176 9.1 概述 176 9.2 创建动态链接库 177 9.3 使用动态链接库 179 9.4 方法与技巧 180 9.4.1 如何调试动态链接库 180 9.4.2 在DLL中使用MessageBox代替ShowMessage 181 9.4.3 如何动态地装入DLL 181 9.4.4 如何定制不同语言版本的应用 程序 183 第三部分 Delphi高级编程技术 第10章 多媒体技术 185 10.1 多媒体 185 10.1.1 概述 185 10.1.2 多媒体应用领域 186 10.1.3 多媒体软件开发工具 187 10.2 图像格式的处理 188 10.2.1 位图 189 10.2.2 JPEG文件 191 10.3 特殊显示效果 193 10.3.1 画布 193 10.3.2 调用CopyRect 193 10.3.3 调用BitBlt 194 10.4 动画 199 10.4.1 文字动画 199 10.4.2 图像动画 200 10.5 音频、视频 206 10.6 方法与技巧 209 10.6.1 使用MessageBeep与Beep 209 10.6.2 使用PlaySound 210 10.6.3 使用mciSendString 211 第11章 关系数据库 215 11.1 关系数据库 215 11.1.1 关键字 215 11.1.2 表之间的约束 215 11.1.3 结构化查询语言(SQL) 216 11.2 Delphi提供的数据库辅助工具 218 11.2.1 使用SQL Explorer 218 11.2.2 使用Database Desktop 218 11.2.3 使用BDE Administrator 220 11.3 数据库组件 221 11.3.1 TTable 221 11.3.2 TQuery 225 11.3.3 表的连接 227 11.3.4 计算字段 229 11.3.5 查找字段 230 11.3.6 网格 231 11.4 查询记录 232 11.4.1 GotoKey 232 11.4.2 FindKey 233 11.4.3 模糊查询 233 11.4.4 Locate 234 11.5 修改记录 234 11.6 插入和删除记录 235 11.7 数据模块 237 11.8 数据字典查看器 238 11.9 事务 240 11.10 处理数据库异常 244 第12章 InterBase服务器 248 12.1 客户/服务器的概念 248 12.1.1 客户 248 12.1.2 InterBase 客户例程库 248 12.1.3 InterBase服务器 248 12.1.4 Borland数据库引擎 248 12.2 数据库的管理和维护 249 12.2.1 创建数据库 249 12.2.2 创建表 250 12.2.3 数据库安全 250 12.2.4 备份与恢复 251 12.3 服务器端程序 252 12.3.1 存储过程 252 12.3.2 触发器 252 12.4 本地缓存 253 第13章 Web与数据库 260 13.1 CGI的工作原理 260 13.2 Delphi对CGI的支持 260 13.3 创建Web应用程序 261 13.4 表单 262 13.5 把信息保存到数据库 264 13.6 查找记录 266 第14章 COM 270 14.1 在DLL中实现对象 270 14.2 接口 274 14.2.1 对象的生存期 277 14.2.2 IUnknown 279 14.2.3 全局唯一标志符(GUID) 281 14.2.4 注册表 281 14.2.5 多个接口问题 281 14.2.6 Variant类型 284 14.2.7 TComObject 289 14.2.8 TTypedComObject 295 14.3 OLE自动化 307 14.3.1 创建OLE自动化服务器 307 14.3.2 建立OLE客户程序 314 14.3.3 访问自动化服务器的方法 316 14.3.4 使用Word 316 14.4 复合文档 319 第15章 分布式程序设计 329 15.1 CORBA结构 329 15.1.1 CORBA在数据库的应用 335 15.1.2 远程访问 341 15.1.3 OSFind 341 15.2 远程数据集 342 15.2.1 基础 342 15.2.2 扩展服务器 346 15.2.3 参数传递 353 15.2.4 主从约束 355 15.2.5 离线处理 358 15.2.6 ActiveForm 361 15.3 插口Socket 362 15.3.1 插口的使用 362 15.3.2 使用插口的一个例子 363 15.3.3 TNMUDP组件 369 第16章 其他编程技术 374 16.1 使用剪贴板 374 16.1.1 组件对剪贴板操作的支持 374 16.1.2 使用剪贴板类 375 16.1.3 操作图形 378 16.1.4 操作组件 379 16.1.5 操作定制格式的数据 379 16.2 动态数据交换(DDE) 381 16.3 操作注册表 385 16.3.1 TRegistry类 387 16.3.2 与注册表相关的API函数 390 16.4 帮助系统的制作 395 16.4.1 RTF文件 395 16.4.2 HPJ文件与HLP文件 398 16.4.3 启动帮助 402 16.5 安装与卸载 403 16.6 方法与技巧 404 16.6.1 获取Windows版本信息 404 16.6.2 获取系统的度量信息和相关 配置信息 405 16.6.3 获取CPU信息 407 16.6.4 获取内存信息 408 16.6.5 存取系统的颜色信息 409 16.6.6 获取Windows及系统路径 409 16.6.7 存取计算机名称 410 16.6.8 获取用户注册信息 411 16.6.9 关闭Windows 411 16.6.10 启动控制面板 412 16.6.11 启动屏幕保护 415 16.6.12 使窗体标题栏闪烁 415 16.6.13 使窗口背景颜色渐变 416 16.6.14 隐藏/显示桌面上的图标 416 16.6.15 获取窗口标题栏中的文字 417 16.6.16 制作软件封面 418 16.6.17 隐藏/显示Windows任务栏 420 16.6.18 使应用程序不出现在Windows 的任务栏上 420 16.6.19 状态栏编程 421 16.6.20 存取系统参数信息 426 16.6.21 Windows启动时运行程序 427 16.6.22 为程序在启动菜单中创建 快捷方式 428 16.6.23 在程序中运行其他程序 429 16.6.24 同时只运行程序的一个实例 429 16.6.25 关闭运行的其他应用程序 431 16.6.26 显示旋转字体 432
451KB
Delphi6 开发人员指南封面目录
2011-04-11本书是讲述Delphi最经典的著作之一,作为Delphi的新版本,Delphi 6不仅能帮助程序员高效开发Windows应用程序,简化Web服务、中间软件以及后台数据库系统的合成,还是目前惟一全面支持所有主流业界标准的开发工具和提高电子商务能力的利器。本书内容丰富、条理清晰,用深入浅出的语言阐述了Delphi 6的精髓,对Delphi或即将移植到Delphi的程序员来说,具有极大的参考价值。本书最后还介绍了Delphi在Internet方面的应用。在移动商务网络编程越来越热的今天,无疑会成为程序员关注的焦点 译者序\r\n序言\r\n前言\r\n作者介绍\r\n\r\n第一部分 基本知识\r\n\r\n第1章 Delphi编程简介\r\n\r\n1.1 Delphi的产品家族介绍\r\n1.2 认识Delphi\r\n1.2.1 可视化开发环境的特性\r\n1.2.2 编译器速度和编译后代码执行效率\r\n1.2.3 编程语言的功能和复杂性的对立\r\n1.2.4 数据库结构的灵活性和可扩展性\r\n1.2.5 实现机制对设计和使用模式的增强\r\n1.3 历史回顾\r\n1.3.1 Delphi 1\r\n1.3.2 Delphi 2\r\n1.3.3 Delphi 3\r\n1.3.4 Delphi 4\r\n1.3.5 Delphi 5\r\n1.3.6 Delphi 6\r\n1.4 Delphi IDE环境\r\n1.4.1 主窗口\r\n1.4.2 主菜单\r\n1.4.3 Delphi工具栏\r\n1.4.4 组件选项板\r\n1.4.5 窗体设计器\r\n1.4.6 对象观察器\r\n1.4.7 代码编辑器\r\n1.4.8 代码浏览器\r\n1.4.9 对象层次图\r\n1.5 项目源文件概述\r\n1.6 应用程序简介\r\n1.7 事件处理机制的优势\r\n1.8 快速原型化\r\n1.9 可扩展的组件和环境\r\n1.10 必须掌握的10种IDE功能\r\n1.11 小结\r\n\r\n第2章 Object Pascal语言\r\n\r\n2.1 注释\r\n2.2 扩展过程和函数特性\r\n2.2.1 函数调用中的圆括号\r\n2.2.2 重载\r\n2.2.3 缺省参数值\r\n2.3 变量\r\n2.4 常量\r\n2.5 运算符\r\n2.5.1 赋值运算符\r\n2.5.2 比较运算符\r\n2.5.3 逻辑运算符\r\n2.5.4 数学运算符\r\n2.5.5 按位运算符\r\n2.5.6 增/减量运算\r\n2.5.7 “计算-赋值”运算符\r\n2.6 Object Pascal类型\r\n2.6.1 类型比较\r\n2.6.2 字符类型\r\n2.6.3 字符串\r\n2.6.4 变体类型\r\n2.6.5 货币类型\r\n2.7 用户自定义类型\r\n2.7.1 数组\r\n2.7.2 动态数组\r\n2.7.3 记录\r\n2.7.4 集合\r\n2.7.5 对象\r\n2.7.6 指针\r\n2.7.7 类型别名\r\n2.8 类型转换和强制类型转换\r\n2.9 字符串资源\r\n2.10 条件判断语句\r\n2.10.1 if语句\r\n2.10.2 case语句\r\n2.11 循环\r\n2.11.1 for循环\r\n2.11.2 while循环\r\n2.11.3 repeat..until循环\r\n2.11.4 Break()过程\r\n2.11.5 Continue()过程\r\n2.12 过程和函数\r\n2.13 作用域\r\n2.14 单元\r\n2.14.1 uses子句\r\n2.14.2 单元循环引用\r\n2.15 包\r\n2.15.1 使用Delphi包\r\n2.15.2 包的语法格式\r\n2.16 面向对象编程\r\n2.17 使用Delphi对象\r\n2.17.1 声明和实例化\r\n2.17.2 析构\r\n2.17.3 方法\r\n2.17.4 方法的类型\r\n2.17.5 属性\r\n2.17.6 可见区域说明符\r\n2.17.7 友元类\r\n2.17.8 对象的秘密\r\n2.17.9 TObject:所有对象的祖先\r\n2.17.10 接口\r\n2.18 结构化异常处理\r\n2.18.1 异常类\r\n2.18.2 异常执行流程\r\n2.18.3 异常的再激活\r\n2.19 运行时信息\r\n2.20 小结\r\n\r\n第3章 理解Windows消息\r\n\r\n3.1 什么是消息\r\n3.2 消息的类型\r\n3.3 Windows消息系统的工作方式\r\n3.4 Delphi的消息系统\r\n3.5 消息的处理\r\n3.5.1 消息处理:并非无约定\r\n3.5.2 为Result消息值赋值\r\n3.5.3 TApplication类型的OnMessage事件\r\n3.6 发送自己的消息\r\n3.6.1 Perform()方法\r\n3.6.2 SendMessage()和PostMessage()API函数\r\n3.7 非标准消息\r\n3.7.1 通知消息\r\n3.7.2 内部VCL消息\r\n3.7.3 用户定义消息\r\n3.8 剖析VCL的消息系统\r\n3.9 消息和事件之间的关系\r\n3.10 小结\r\n\r\n第二部分 高级技术\r\n\r\n第4章 编写可移植代码\r\n\r\n4.1 版本兼容的共性\r\n4.1.1 版本判断\r\n4.1.2 单元、组件和包\r\n4.1.3 关于IDE的讨论\r\n4.2 Delphi和Kylix兼容性\r\n4.2.1 Linux中不具备的特性\r\n4.2.2 编译器和语言特性\r\n4.2.3 平台相关特点\r\n4.3 Delphi 6的新特性\r\n4.3.1 变体变量\r\n4.3.2 枚举类型\r\n4.3.3 $IF指示符\r\n4.3.4 潜在的二进制DFM的不兼容\r\n4.4 从Delphi 5升级\r\n4.4.1 可写的类型常量\r\n4.4.2 Cardinal一元取反操作\r\n4.5 从Delphi 4升级\r\n4.5.1 RTL问题\r\n4.5.2 VCL问题\r\n4.5.3 Internet开发主题\r\n4.5.4 数据库问题\r\n4.6 从Delphi 3升级\r\n4.6.1 无符号32位整数\r\n4.6.2 64位整数\r\n4.6.3 Real类型\r\n4.7 从Delphi 2升级\r\n4.7.1 Boolean类型的改变\r\n4.7.2 ResourceString\r\n4.7.3 BTL的改变\r\n4.7.4 TCustomForm\r\n4.7.5 GetChildren()\r\n4.7.6 自动化服务器\r\n4.8 从Delphil升级\r\n4.9 小结\r\n\r\n第5章 多线程技术\r\n\r\n5.1 阐述线程\r\n5.1.1 多任务的类型\r\n5.1.2 在Delphi应用程序中使用多线程\r\n5.1.3 线程的滥用\r\n5.2 TThread对象\r\n5.2.1 TThread基础\r\n5.2.2 线程实例\r\n5.2.3 线程终止\r\n5.2.4 和VCL同步\r\n5.2.5 应用程序Demo\r\n5.2.6 优先级和调度\r\n5.2.7 线程的挂起和恢复\r\n5.2.8 线程中的计时\r\n5.3 管理多线程\r\n5.3.1 线程局部存储\r\n5.3.2 线程同步\r\n5.4 多线程应用程序范例\r\n5.4.1 用户界面\r\n5.4.2 搜索线程\r\n5.4.3 调整优先级\r\n5.5 多线程访问BDE\r\n5.6 多线程图形操作\r\n5.7 纤程\r\n5.8 小结\r\n\r\n第6章 动态链接库\r\n\r\n6.1 何谓DLL\r\n6.2 静态链接和动态链接\r\n6.3 为何要用DLL\r\n6.3.1 多个应用程序共享代码、资源和数据\r\n6.3.2 隐藏实施细节\r\n6.4 创建和使用DLL\r\n6.4.1 数美分(简单的DLL)\r\n6.4.2 通过DLL显示模式窗体\r\n6.5 通过DLL显示无模式窗体\r\n6.6 在Delphi应用程序中使用DLL\r\n6.7 显式调用DLL\r\n6.8 动态链接库的入口/出口函数\r\n6.8.1 进程和线程的初始化和结束标准函数\r\n6.8.2 DLL入口/出口示例\r\n6.9 DLL中的异常\r\n6.9.1 在16位Delphi中捕捉异常\r\n6.9.2 异常和Safecall指示符\r\n6.10 回调函数\r\n6.10.1 使用回调函数\r\n6.10.2 绘制Owner-Draw列表框\r\n6.11 通过DLL调用回调函数\r\n6.12 共享不同进程中的DLL数据\r\n6.12.1 创建共享内存的DLL\r\n6.12.2 使用共享内存的DLL\r\n6.13 从DLL中输出对象\r\n6.14 小结\r\n\r\n第三部分 数据库开发\r\n\r\n第7章 Delphi数据库体系结构\r\n\r\n7.1 数据库类型\r\n7.2 数据库体系结构\r\n7.3 连接到数据库服务器\r\n7.3.1 数据库连接概述\r\n7.3.2 建立数据库连接\r\n7.4 操作数据集\r\n7.4.1 打开及关闭数据集\r\n7.4.2 导航数据集\r\n7.4.3 管理数据集\r\n7.4.4 数据集状态\r\n7.5 操作字段\r\n7.5.1 字段值\r\n7.5.2 字段数据类型\r\n7.5.3 字段名称及号码\r\n7.5.4 管理字段数据\r\n7.5.5 操作BLOB字段\r\n7.5.6 过滤数据\r\n7.5.7 搜索数据集\r\n7.5.8 关键字查找\r\n7.5.9 使用数据模块\r\n7.5.10 查找、范围及过滤器演示\r\n7.5.11 书签\r\n7.6 小结\r\n\r\n第8章 用dbExpress进行数据库开发\r\n\r\n8.1 使用dbExpess\r\n8.1.1 单向、只读数据集\r\n8.1.2 dbExpress与BDE比较\r\n8.1.3 dbExpress支持跨平台开发\r\n8.2 dbExpress组件\r\n8.2.1 TSQLConnection\r\n8.2.2 TSQLDataset\r\n8.2.3 显示查询结果\r\n8.2.4 向后兼容组件\r\n8.2.5 TSQLMonitor\r\n8.3 设计可编辑的dbExpress应用程序\r\n8.4 部署dbExpress应用程序\r\n8.5 小结\r\n\r\n第9章 用dbGo for ADO进行数据库开发\r\n\r\n9.1 dbGo介绍\r\n9.2 Mcrosoft的统一数据访问策略概述\r\n9.3 OLE DB、ADO、ODBC概述\r\n9.4 使用dbGo for ADO\r\n9.4.1 为ODBC建立OLE DB提供者\r\n9.4.2 Access数据库\r\n9.5 dbGo for ADO组件\r\n9.5.1 TADOConnection\r\n9.5.2 建立数据库连接\r\n9.5.3 回避/替代登录提示\r\n9.5.4 TADOCommand\r\n9.5.5 TADODataset\r\n9.5.6 类似BDE的数据集组件\r\n9.6 事务处理\r\n9.7 小结\r\n\r\n第四部分 基于组件的开发\r\n\r\n第10章 组件体系:VCL和CLX\r\n\r\n10.1 关于新的CLX\r\n10.2 何谓组件\r\n10.3 组件的层次结构\r\n10.3.1 非可视组件\r\n10.3.2 可视组件\r\n10.4 组件结构\r\n10.4.1 属性\r\n10.4.2 属性的类型\r\n10.4.3 方法\r\n10.4.4 事件\r\n10.4.5 流式属性\r\n10.4.6 所有权\r\n10.4.7 父子关系\r\n10.5 可视组件的继承关系\r\n10.5.1 TPersistent类\r\n10.5.2 TPersistent方法\r\n10.5.3 TComponent类\r\n10.5.4 TControl类\r\n10.5.5 TWinControl和TWidgetControl\r\n10.5.6 TGraphicControl类\r\n10.5.7 TCustomControl类\r\n10.5.8 其他类\r\n10.6 运行期类型信息\r\n10.6.1 TypInfo.pas单元:运行类型信息的定义者\r\n10.6.2 获取类型信息\r\n10.6.3 获得方法指针的类型信息\r\n10.6.4 获取有序类型的类型信息\r\n10.6.5 通过RTTI为属性赋值\r\n10.7 小结\r\n\r\n第11章 编写VCL组件\r\n\r\n11.1 组件设计基础\r\n11.1.1 决定是否应编写组件\r\n11.1.2 编写组件的步骤\r\n11.1.3 确定祖先类\r\n11.1.4 创建组件单元\r\n11.1.5 创建属性\r\n11.1.6 创建事件\r\n11.1.7 创建自定义方法\r\n11.1.8 构造函数和析构函数\r\n11.1.9 注册组件\r\n11.1.10 测试组件\r\n11.1.11 提供组件图标\r\n11.2 组件示例\r\n11.2.1 扩展Win32组件包装器的性能\r\n11.2.2 TddgRunButton:创建属性\r\n11.3 TddgButtonEdit:一个容器组件\r\n11.3.1 设计决策\r\n11.3.2 显露属性\r\n11.3.3 显露事件\r\n11.3.4 TddgDigitalClock:创建组件事件\r\n11.3.5 把窗体添加到组件面板\r\n11.4 小结\r\n\r\n第12章 高级VCL组件构造技术\r\n\r\n12.1 伪可视组件\r\n12.1.1 扩展提示功能\r\n12.1.2 创建一个THintWindow派生类\r\n12.1.3 椭圆型窗口\r\n12.1.4 激活THintWindow派生窗口\r\n12.1.5 运用TDDGHintWindow\r\n12.2 动态组件\r\n12.2.1 滚动字幕组件\r\n12.2.2 编写组件\r\n12.2.3 在屏幕以外的位图上绘制\r\n12.2.4 描绘组件\r\n12.2.5 让组件“动起来”\r\n12.2.6 测试TddgMarquee组件\r\n12.3 编写属性编辑器\r\n12.3.1 创建一个继承的属性编辑器对象\r\n12.3.2 将属性作为文本进行编辑\r\n12.3.3 注册新的属性编辑器\r\n12.3.4 利用对话框将属性作为整体进行编辑\r\n12.4 组件编辑器\r\n12.4.1 TComponentEditor\r\n12.4.2 一个简单的组件\r\n12.4.3 一个简单的组件编辑器\r\n12.4.4 注册组件编辑器\r\n12.5 对非公开的组件数据执行流操作\r\n12.5.1 定义属性\r\n12.5.2 DefineProperty()的例子\r\n12.5.3 TddgWaveFile:DefineBinaryProperty()用法示例\r\n12.6 属性类别\r\n12.6.1 类别类\r\n12.6.2 自定义类别\r\n12.7 组件列表:TCollection和TCollectionItem\r\n12.7.1 定义TCollectionItem类:TRunBtnItem\r\n12.7.2 定义TCollection类:TRunButtons\r\n12.7.3 实现TddgLaunchPad、TRun-BtnItem和TRunButtons\r\n12.7.4 用对话框属性编辑器编辑TCollectionItem组件的列表\r\n12.8 小结\r\n\r\n第13章 CLX组件开发\r\n\r\n13.1 何谓CLX\r\n13.2 CLX的体系结构\r\n13.3 移植问题\r\n13.4 组件示例\r\n13.4.1 TddgSpinner组件\r\n13.4.2 设计期增强工具\r\n13.4.3 组件引用和图像列表\r\n13.4.4 CLX数据感知组件\r\n13.5 CLX设计编辑器\r\n13.6 包\r\n13.6.1 命名约定\r\n13.6.2 运行期包\r\n13.6.3 设计期包\r\n13.6.4 单元注册\r\n13.6.5 组件位图\r\n13.7 小结\r\n\r\n第14章 充分发挥包的作用\r\n\r\n14.1 为何要用包\r\n14.1.1 精简代码\r\n14.1.2 发布更小的应用程序--应用程序分割\r\n14.1.3 组件容器\r\n14.2 为何不用包\r\n14.3 包的类型\r\n14.4 包文件\r\n14.5 使用运行期包\r\n14.6 把包安装到Delphi IDE中\r\n14.7 创建包\r\n14.7.1 包编辑器\r\n14.7.2 包设计方案\r\n14.8 包的版本化\r\n14.9 包编译器指示符\r\n14.10 包的命名约定\r\n14.11 使用运行期(插件)包的可扩展应用程序\r\n14.12 从包中导出函数\r\n14.13 获取包的信息\r\n14.14 小结\r\n\r\n第15章 COM开发\r\n\r\n15.1 COM基础\r\n15.1.1 COM2组件对象模型\r\n15.1.2 COM、ActiveX和OLE之间的对比\r\n15.1.3 术语\r\n15.1.4 ActiveX的优势\r\n15.1.5 OLE 与OLE 2的对比\r\n15.1.6 结构化存储\r\n15.1.7 统一数据传输\r\n15.1.8 线程模式\r\n15.1.9 COM+\r\n15.2 COM与Object Pascal\r\n15.2.1 接口\r\n15.2.2 使用接口\r\n15.2.3 HResult返回类型\r\n15.3 COM对象和类工厂\r\n15.3.1 TComObject和TComObject-Factory\r\n15.3.2 in-process COM服务器\r\n15.3.3 创建in-proc COM服务器实例\r\n15.3.4 out-of-process COM服务器\r\n15.4 聚合\r\n15.5 分布式COM\r\n15.6 Automation\r\n15.6.1 IDispatch\r\n15.6.2 类型信息\r\n15.6.3 后期绑定与早期绑定的对比\r\n15.6.4 注册\r\n15.6.5 创建Automation服务器\r\n15.6.6 创建Automation控制器\r\n15.7 高级Automation技术\r\n15.7.1 Automation事件\r\n15.7.2 Automation集合\r\n15.7.3 类型库新增接口类型\r\n15.7.4 二进制数据的交换\r\n15.7.5 后台:COM的语言支持\r\n15.8 TOleContainer\r\n15.8.1 一个简单的示例程序\r\n15.8.2 一个较为复杂的示例程序\r\n15.9.4 小结\r\n\r\n第16章 Windows外壳编程\r\n\r\n16.1 托盘图标组件\r\n16.1.1 API\r\n16.1.2 处理消息\r\n16.1.3 图标及提示\r\n16.1.4 鼠标点击\r\n16.1.5 隐藏应用程序\r\n16.1.6 托盘图标应用程序示例\r\n16.2 应用程序桌面工具栏\r\n16.2.1 API\r\n16.2.2 TAppBar:AppBar的窗体\r\n16.2.3 使用TAppBar\r\n16.3 外壳链接\r\n16.3.1 获取IShellLink实例\r\n16.3.2 使用IShellLink\r\n16.3.3 创建一个外壳链接\r\n16.3.4 获取及设置链接信息\r\n16.3.5 示例程序\r\n16.4 外壳扩展\r\n16.4.1 COM对象向导\r\n16.4.2 复制钩子处理器\r\n16.4.3 环境菜单处理器\r\n16.4.4 图标处理器\r\n16.4.5 信息提示处理器\r\n16.5 小结\r\n\r\n第17章 使用Open Tools API\r\n\r\n17.1 Open Tools接口\r\n17.2 使用Open Tools API\r\n17.2.1 简单的向导\r\n17.2.2 Wizard向导\r\n17.2.3 DDG Search\r\n17.3 窗体向导\r\n17.4 小结\r\n\r\n第五部分 企业开发\r\n\r\n第18章 使用COM+/MTS开发事务程序\r\n\r\n18.1 什么是COM+\r\n18.2 使用COM的原因\r\n18.3 服务\r\n18.3.1 事务\r\n18.3.2 安全\r\n18.3.3 及时激活\r\n18.3.4 队列组件\r\n18.3.5 对象缓冲池\r\n18.3.6 事件\r\n18.4 运行期\r\n18.4.1 注册数据库(RegDB)\r\n18.4.2 配置组件\r\n18.4.3 运行环境(Contexts)\r\n18.4.4 Neutral线程\r\n18.5 创建COM+应用程序\r\n18.5.1 目标:规模\r\n18.5.2 执行环境\r\n18.5.3 有状态(Stateful)和无状态(Stateless)\r\n18.5.4 生命周期管理\r\n18.5.5 COM+应用程序的组织\r\n18.5.6 有关事务的思考\r\n18.5.7 资源\r\n18.6 Delphi中的COM+\r\n18.6.1 COM+向导\r\n18.6.2 COM+框架\r\n18.6.3 Tic-Tac-Toe:一个简单的应用程序\r\n18.6.4 调试COM+应用程序\r\n18.7 小结\r\n\r\n第19章 CORBA开发\r\n\r\n19.1 CORBA特性\r\n19.2 CORBA体系结构\r\n19.2.1 OSAgent\r\n19.2.2 接口\r\n19.3 接口定义语言\r\n19.3.1 基本类型\r\n19.3.2 用户定义类型\r\n19.3.3 别名\r\n19.3.4 枚举\r\n19.3.5 结构\r\n19.3.6 数组\r\n19.3.7 序列\r\n19.3.8 方法参数\r\n19.3.9 模块\r\n19.4 银行案例\r\n19.5 复杂数据类型\r\n19.6 Delphi、CORBA和Enterprise Java Beans(EJB)\r\n19.6.1 Delphi程序员EJB速成\r\n19.6.2 EJB是一种特殊的组件\r\n19.6.3 EJB在容器中运行\r\n19.6.4 EJB具有预定义的API\r\n19.6.5 Home(本地)接口和Remote(远程)接口\r\n19.6.6 EJB的类型\r\n19.6.7 配置JBuilder 5以开发EJB\r\n19.6.8 创建一个简单的“Hello'world” EJB\r\n19.7 CORBA和Web Services\r\n19.7.1 创建Web Service\r\n19.7.2 创建SOAP客户端应用程序\r\n19.7.3 添加CORBA客户端代码至Web Service中\r\n19.8 小结\r\n\r\n第20章 BizSnap开发:基于SOAP的Web Services\r\n\r\n20.1 Web Services\r\n20.2 SOAP\r\n20.3 编写Web Service\r\n20.3.1 TWebModule\r\n20.3.2 定义一个可调用接口\r\n20.3.3 实现一个可调用接口\r\n20.3.4 测试Web Service\r\n20.4 从客户端调用Web Service\r\n20.4.1 为远程可调用对象产生一个输入单元\r\n20.4.2 使用THTTPRIO组件\r\n20.5 小结\r\n\r\n第21章 DataSnap开发\r\n\r\n21.1 创建多层应用程序的机制\r\n21.2 多层体系结构的优点\r\n21.2.1 集中商业逻辑\r\n21.2.2 瘦客户结构\r\n21.2.3 自动错误调解\r\n21.2.4 公文包模型\r\n21.2.5 容错性\r\n21.2.6 负载平衡\r\n21.3 典型的DataSnap结构\r\n21.3.1 服务器\r\n21.3.2 客户端\r\n21.4 使用DataSnap创建应用程序\r\n21.4.1 创建服务器\r\n21.4.2 创建客户端\r\n21.5 更多增强应用程序健壮性的措施\r\n21.5.1 客户端优化技术\r\n21.5.2 应用程序服务器技术\r\n21.6 实例\r\n21.7 Client Dataset组件的更多特性\r\n21.8 典型错误\r\n21.9 配置DataSnap应用程序\r\n21.9.1 发放许可证\r\n21.9.2 DCOM配置\r\n21.9.3 文件配置\r\n21.9.4 Internet配置考虑(防火墙)\r\n21.10 小结\r\n\r\n第六部分 Internet开发\r\n\r\n第22章 ASP开发\r\n\r\n22.1 理解活动服务器对象\r\n22.2 活动服务器对象向导\r\n22.2.1 类型库编辑器\r\n22.2.2 新方法\r\n22.2.3 ASP Response对象\r\n22.2.4 第一次运行\r\n22.2.5 ASP Request对象\r\n22.2.6 重新编译活动服务器对象\r\n22.2.7 再次运行活动服务器对象\r\n22.3 ASP Session、Server和Application对象\r\n22.4 活动服务器对象及数据库\r\n22.5 活动服务器对象及NetCLX支持\r\n22.6 调试活动服务器对象\r\n22.6.1 使用MTS调试活动服务器对象\r\n22.6.2 采用Windows NT 4调试\r\n22.6.3 采用Windows 2000调试\r\n22.7 小结\r\n\r\n第23章 WebSnap开发\r\n\r\n23.1 WebSnap的特性\r\n23.1.1 多个Webmodule\r\n23.1.2 服务器执行脚本\r\n23.1.3 TAdapter(适配器)组件\r\n23.1.4 多种调度方法\r\n23.1.5 Page producer(页面生成器)组件\r\n23.1.6 会话管理\r\n23.1.7 登录服务\r\n23.1.8 用户跟踪\r\n23.1.9 HTML管理\r\n23.1.10 文件上传服务\r\n23.2 websnap开发\r\n23.2.1 应用程序的设计\r\n23.2.2 为应用程序添加功能\r\n23.2.3 导航菜单栏\r\n23.2.4 登录\r\n23.2.5 管理用户偏好数据\r\n23.2.6 在会话之间保存偏好数据\r\n23.2.7 图像处理\r\n23.2.8 显示数据\r\n23.2.9 将应用程序转换为ISAPI DLL\r\n23.3 高级话题\r\n23.3.1 LocabFileServices(文件定位服务)\r\n23.3.2 文件上传\r\n23.3.3 包含定制模板\r\n23.3.4 在TAdapterPageProducer中定制组件\r\n23.4 小结\r\n\r\n第24章 无线开发\r\n\r\n24.1 开发技术的发展:回顾\r\n24.1.1 20世纪80年代以前:庞然大物时代\r\n24.1.2 20世纪80年代后期:桌面数据库应用程序\r\n24.1.3 20世纪90年代早期:客户端/服务器\r\n24.1.4 20世纪90年代后期:多层结构及基于Internet的事务处理\r\n24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构\r\n24.2 移动无线设备\r\n24.1.3 20世纪90年代早期:客户端/服务器\r\n24.1.4 20世纪90年代后期:多层结构及基于Internet的事务处理\r\n24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构\r\n24.2 移动无线设备\r\n24.2.1 移动电话\r\n24.2.2 palmos设备\r\n24.2.3 Pocket PC\r\n24.2.4 RIM BlackBerrv\r\n24.3 无线电技术\r\n24.3.1 GSM、CDMA和TDMA\r\n24.3.2 CDPD\r\n24.3.3 3G\r\n24.3.4 GPRS\r\n24.3.5 蓝牙\r\n24.3.6 802.11\r\n24.4 基于服务器的无线数据技术\r\n24.4.1 SMS\r\n24.4.2 WAP\r\n24.4.3 I-mode\r\n24.4.4 PQA\r\n24.5 无线用户体验\r\n24.5.1 环路选择网络和数据包选择网络\r\n24.5.2 无线并非Web\r\n24.5.3 窗体因素的重要性\r\n24.5.4 数据输入和导航技术\r\n24.5.5 M-Commerce\r\n24.6 小结 本书至今已增订到第5版,在7年的时间中,本书不断完善,为了写作本书,很多人对此付出了相当多的精力。Xavier和Steve是最早的Borland Delphi开发小组成员,本书是他们结合15年的Delphi开发经验写成的。在本书中,我们可以感受到作者的努力精神,正是这种精神,让Delphi开发从书成为世界上最畅销的Delphi书籍,并两次获得Delphi读者最佳选择奖。这本书由开发人员撰写,同时也供开发人员阅读。 本书建立在《Delphi 5开发人员指南》基础之上,理想状况下,我们希望本书包括《Delphi 5开发人员指南》的全部章节和所有新内容。但是《Delphi 5开发人员指南》一书本身太厚,为了给Delphi 6新特性的讨论留下足够空间,我们只抽取了其中的部分章节,再加上Delphi 6的新特性讨论,新书就这样展现在大家面前。 本书包括了一些全新章节,许多章节是《Delphi 5开发人员指南》对应章节的扩展。但在《Delphi 5开发人员指南》中介绍的内容还是极其有用的。因此我们在本书配套光盘中附带了整个电子版的《Delphi 5开发人员指南》,每个章节单独地用PDF格式存储。在电子版的封面中包含了《Delphi 5开发人员指南》的目录表,读者可以在其中查找感兴趣的章节。对读者而言,可谓一举两得。 本书分成六部分。第一部分,“基础知识”,讲述了Delphi编程必要的基础知识。第二部分,“高级技术”,讨论了一些通用的高级开发主题,例如线程和动态链接库。第三部分,“数据库开发”,从多个层面上讨论了Delphi数据库访问主题。第四部分,“基于组件的开发”,讨论了关于VCL、CLX、包、COM和Open Tools API开发问题。第五部分,“企业开发”,其中讨论了开发企业级应用程序需要的实践知识,包括COM+、COBRA、SOAP/BizSnap和DataSnap。最后,第六部分,“Internet开发”,演示了使用Delphi开发Internet和无线应用程序的技术。 本书面向的读者 书如其名,本书是面向开发人员的。如果读者是一位开发人员,并且使用Delphi,那就需要拥有一本这样的书。本书面向3类读者: ■希望将技术提高一个层次的Delphi开发人员。 ■熟悉Pascal、C/C++、Java或Basic,并希望开始使用Delphi的程序员。 ■希望最大限度利用Delphi来研究其中先进特性和隐含特性的程序员。 本书使用的约定 本书使用了下列约定: ■代码行、命令、声明、变量、程序输出以及任何屏幕内容都用计算机打印字体显示。 ■需要读者输入的内容用粗体显示。 ■语法描述中的占位符用斜体表示。 ■技术术语在文章中第一次出现或者用于强调重点时,用斜体表示。 ■程序或过程用在其名后加上一对圆括号表示。虽然这不是标准Pascal风格,但是有助于和属性、变量和类区分。 各章都有一些注意、提示和警告,为了方便阅读,用特殊的字体标出。 本书配套光盘中有书中所有的源代码和项目文件,同时还有一些本书中尚未提到的源代码示例。此外,光盘中还包括一些第三方组件和工具的使用版。 Delphi 6开发指南网站 请访问网站http://www.xapware.com/ddg并且加入《Delphi 6开发人员指南》会员,从而得到本书的额外信息。读者也可以加入我们新闻邮件的邮件列表,并访问我们的讨论组。 写作本书的缘由 有人会问,是什么驱使我们编写本书的。这很难解释,但是当看到其他开发人员仍然将标满了注解、且被翻阅得破烂不堪的《Delphi 5开发人员指南》视为至宝时,就感到一切付出都是值得的。 完成本书的写作后,现在我们可以稍微轻松下来并愉快地编写一些Delphi程序。本书开始讲述的节奏比较慢,但是会迅速深入到Delphi的高级主题中,不过读者应该能够适应这种节奏。如果读者意识到了这一点,说明您已经通读了本书,并且具有了足够的Delphi方面的知识与技术,也许已经可以被称作Delphi专家了
20KB
Delphi开发范例宝典目录
2014-03-07第1章 窗体与界面设计 1 1.1 菜单应用 2 实例001 在系统菜单中添加菜单项 2 实例002 带历史信息的菜单 3 实例003 菜单动态合并 4 实例004 像“开始”菜单一样漂亮的菜单 5 实例005 多彩的菜单 6 实例006 可以拉伸的菜单界面 8 1.2 工具栏设计 9 实例007 带背景的工具栏 9 实例008 浮动工具栏 10 1.3 状态栏设计 11 实例009 在状态栏中显示检查框 11 实例010 带进度条的状态栏 12 实例011 状态栏中加入图标 13 1.4 导航菜单界面 14 实例012 OutLook界面 14 实例013 带导航菜单的主界面 15 实例014 图形化的导航界面 16 1.5 特色程序界面 18 实例015 类QQ的程序界面 18 实例016 类似Windows XP的程序界面 20 实例017 以图形按钮显示的界面 21 实例018 以树型显示的程序界面 23 实例019 以XPManifest组件显示界面 24 实例020 动态按钮的窗体界面 25 1.6 特殊形状的窗体 26 实例021 非矩形窗体 26 实例022 建立字体形状窗体 28 1.7 多媒体光盘 29 实例023 自动启动的多媒体光盘程序 29 实例024 为触摸屏程序添加虚拟键盘 30 实例025 触摸屏系统 31 1.8 窗体效果 33 实例026 半透明渐显窗体 33 实例027 窗口颜色的渐变 34 实例028 带背景的窗体 35 实例029 为窗体增加边框 36 1.9 窗体动画 37 实例030 窗体中的滚动字幕 37 实例031 动画显示窗体 38 实例032 制作闪烁的窗体 39 实例033 直接在窗体上绘图 40 实例034 动画形式的程序界面 41 实例035 以时钟显示界面窗体 42 1.10 标题栏窗体 44 实例036 标题栏上的按钮 45 实例037 使窗体标题栏文字右对齐 47 实例038 没有标题栏但可以改变大小的窗口 48 1.11 设置窗体位置 49 实例039 不可移动的窗体 49 实例040 设置窗体在屏幕中的位置 50 实例041 始终在最上面的窗体 51 1.12 设置窗体大小 52 实例042 限制窗体大小 52 实例043 获取桌面大小 53 实例044 组件大小随窗体的改变而改变 53 实例045 在窗口间移动按钮 54 实例046 如何实现Office助手 55 1.13 窗体控制技术 56 实例047 在关闭窗口前加入确认对话框 56 实例048 程序在循环中响应界面操作 57 实例049 使用任意组件拖动窗体 58 实例050 动态创建窗体和释放窗体 59 实例051 修改提示字体及颜色 60 1.14 其他技术 61 实例052 窗口融合技术 61 实例053 给MDI窗体加背景 62 实例054 如何关闭MDI类型窗体中的子窗体 63 实例055 向提示框中添加图标 64 第2章 控件应用 67 2.1 TEdit控件应用典型实例 68 实例056 从右至左输入数据 68 实例057 为TEdit控件添加列表选择框 69 实例058 只允许输入数字的TEdit组件 70 2.2 TSpeedButton控件应用典型实例 71 实例059 在TSpeedButton按钮中显示图标 71 实例060 折行显示按钮标题 72 2.3 TMemo控件应用典型实例 73 实例061 设置TMemo组件的边界 73 实例062 TMemo组件的光标定位 74 实例063 得到TMemo中的可见行数 75 2.4 TListBox控件应用典型实例 76 实例064 在TListBox组件间交换数据 76 实例065 为TListBox添加水平滚动条 77 实例066 将数据库数据添加到组合框中 78 实例067 借助绑定控件实现数据选择录入 79 2.5 TListView控件应用典型实例 80 实例068 TListView列表拒绝添加重复信息 80 实例069 将数据库数据添加到TListView控件 82 实例070 用TListView控件制作导航界面 83 实例071 在TListView控件中对数据排序或统计 84 实例072 在TListView组件中绘制底纹 86 实例073 在列表视图中拖动视图项 87 2.6 TTreeView控件应用典型实例 88 实例074 将数据库数据显示到树视图中 88 实例075 用TTreeView控件制作导航界面 90 实例076 TTreeView组件遍历磁盘目录 91 实例077 TTreeView组件在数据库中的应用 92 2.7 TStringGrid控件应用典型实例 94 实例078 程序运行时对
31.71MB
Delphi6开发人员指南-正文1
2011-04-11本书是讲述Delphi最经典的著作之一,作为Delphi的新版本,Delphi 6不仅能帮助程序员高效开发Windows应用程序,简化Web服务、中间软件以及后台数据库系统的合成,还是目前惟一全面支持所有主流业界标准的开发工具和提高电子商务能力的利器。本书内容丰富、条理清晰,用深入浅出的语言阐述了Delphi 6的精髓,对Delphi或即将移植到Delphi的程序员来说,具有极大的参考价值。本书最后还介绍了Delphi在Internet方面的应用。在移动商务网络编程越来越热的今天,无疑会成为程序员关注的焦点 译者序\r\n序言\r\n前言\r\n作者介绍\r\n\r\n第一部分 基本知识\r\n\r\n第1章 Delphi编程简介\r\n\r\n1.1 Delphi的产品家族介绍\r\n1.2 认识Delphi\r\n1.2.1 可视化开发环境的特性\r\n1.2.2 编译器速度和编译后代码执行效率\r\n1.2.3 编程语言的功能和复杂性的对立\r\n1.2.4 数据库结构的灵活性和可扩展性\r\n1.2.5 实现机制对设计和使用模式的增强\r\n1.3 历史回顾\r\n1.3.1 Delphi 1\r\n1.3.2 Delphi 2\r\n1.3.3 Delphi 3\r\n1.3.4 Delphi 4\r\n1.3.5 Delphi 5\r\n1.3.6 Delphi 6\r\n1.4 Delphi IDE环境\r\n1.4.1 主窗口\r\n1.4.2 主菜单\r\n1.4.3 Delphi工具栏\r\n1.4.4 组件选项板\r\n1.4.5 窗体设计器\r\n1.4.6 对象观察器\r\n1.4.7 代码编辑器\r\n1.4.8 代码浏览器\r\n1.4.9 对象层次图\r\n1.5 项目源文件概述\r\n1.6 应用程序简介\r\n1.7 事件处理机制的优势\r\n1.8 快速原型化\r\n1.9 可扩展的组件和环境\r\n1.10 必须掌握的10种IDE功能\r\n1.11 小结\r\n\r\n第2章 Object Pascal语言\r\n\r\n2.1 注释\r\n2.2 扩展过程和函数特性\r\n2.2.1 函数调用中的圆括号\r\n2.2.2 重载\r\n2.2.3 缺省参数值\r\n2.3 变量\r\n2.4 常量\r\n2.5 运算符\r\n2.5.1 赋值运算符\r\n2.5.2 比较运算符\r\n2.5.3 逻辑运算符\r\n2.5.4 数学运算符\r\n2.5.5 按位运算符\r\n2.5.6 增/减量运算\r\n2.5.7 “计算-赋值”运算符\r\n2.6 Object Pascal类型\r\n2.6.1 类型比较\r\n2.6.2 字符类型\r\n2.6.3 字符串\r\n2.6.4 变体类型\r\n2.6.5 货币类型\r\n2.7 用户自定义类型\r\n2.7.1 数组\r\n2.7.2 动态数组\r\n2.7.3 记录\r\n2.7.4 集合\r\n2.7.5 对象\r\n2.7.6 指针\r\n2.7.7 类型别名\r\n2.8 类型转换和强制类型转换\r\n2.9 字符串资源\r\n2.10 条件判断语句\r\n2.10.1 if语句\r\n2.10.2 case语句\r\n2.11 循环\r\n2.11.1 for循环\r\n2.11.2 while循环\r\n2.11.3 repeat..until循环\r\n2.11.4 Break()过程\r\n2.11.5 Continue()过程\r\n2.12 过程和函数\r\n2.13 作用域\r\n2.14 单元\r\n2.14.1 uses子句\r\n2.14.2 单元循环引用\r\n2.15 包\r\n2.15.1 使用Delphi包\r\n2.15.2 包的语法格式\r\n2.16 面向对象编程\r\n2.17 使用Delphi对象\r\n2.17.1 声明和实例化\r\n2.17.2 析构\r\n2.17.3 方法\r\n2.17.4 方法的类型\r\n2.17.5 属性\r\n2.17.6 可见区域说明符\r\n2.17.7 友元类\r\n2.17.8 对象的秘密\r\n2.17.9 TObject:所有对象的祖先\r\n2.17.10 接口\r\n2.18 结构化异常处理\r\n2.18.1 异常类\r\n2.18.2 异常执行流程\r\n2.18.3 异常的再激活\r\n2.19 运行时信息\r\n2.20 小结\r\n\r\n第3章 理解Windows消息\r\n\r\n3.1 什么是消息\r\n3.2 消息的类型\r\n3.3 Windows消息系统的工作方式\r\n3.4 Delphi的消息系统\r\n3.5 消息的处理\r\n3.5.1 消息处理:并非无约定\r\n3.5.2 为Result消息值赋值\r\n3.5.3 TApplication类型的OnMessage事件\r\n3.6 发送自己的消息\r\n3.6.1 Perform()方法\r\n3.6.2 SendMessage()和PostMessage()API函数\r\n3.7 非标准消息\r\n3.7.1 通知消息\r\n3.7.2 内部VCL消息\r\n3.7.3 用户定义消息\r\n3.8 剖析VCL的消息系统\r\n3.9 消息和事件之间的关系\r\n3.10 小结\r\n\r\n第二部分 高级技术\r\n\r\n第4章 编写可移植代码\r\n\r\n4.1 版本兼容的共性\r\n4.1.1 版本判断\r\n4.1.2 单元、组件和包\r\n4.1.3 关于IDE的讨论\r\n4.2 Delphi和Kylix兼容性\r\n4.2.1 Linux中不具备的特性\r\n4.2.2 编译器和语言特性\r\n4.2.3 平台相关特点\r\n4.3 Delphi 6的新特性\r\n4.3.1 变体变量\r\n4.3.2 枚举类型\r\n4.3.3 $IF指示符\r\n4.3.4 潜在的二进制DFM的不兼容\r\n4.4 从Delphi 5升级\r\n4.4.1 可写的类型常量\r\n4.4.2 Cardinal一元取反操作\r\n4.5 从Delphi 4升级\r\n4.5.1 RTL问题\r\n4.5.2 VCL问题\r\n4.5.3 Internet开发主题\r\n4.5.4 数据库问题\r\n4.6 从Delphi 3升级\r\n4.6.1 无符号32位整数\r\n4.6.2 64位整数\r\n4.6.3 Real类型\r\n4.7 从Delphi 2升级\r\n4.7.1 Boolean类型的改变\r\n4.7.2 ResourceString\r\n4.7.3 BTL的改变\r\n4.7.4 TCustomForm\r\n4.7.5 GetChildren()\r\n4.7.6 自动化服务器\r\n4.8 从Delphil升级\r\n4.9 小结\r\n\r\n第5章 多线程技术\r\n\r\n5.1 阐述线程\r\n5.1.1 多任务的类型\r\n5.1.2 在Delphi应用程序中使用多线程\r\n5.1.3 线程的滥用\r\n5.2 TThread对象\r\n5.2.1 TThread基础\r\n5.2.2 线程实例\r\n5.2.3 线程终止\r\n5.2.4 和VCL同步\r\n5.2.5 应用程序Demo\r\n5.2.6 优先级和调度\r\n5.2.7 线程的挂起和恢复\r\n5.2.8 线程中的计时\r\n5.3 管理多线程\r\n5.3.1 线程局部存储\r\n5.3.2 线程同步\r\n5.4 多线程应用程序范例\r\n5.4.1 用户界面\r\n5.4.2 搜索线程\r\n5.4.3 调整优先级\r\n5.5 多线程访问BDE\r\n5.6 多线程图形操作\r\n5.7 纤程\r\n5.8 小结\r\n\r\n第6章 动态链接库\r\n\r\n6.1 何谓DLL\r\n6.2 静态链接和动态链接\r\n6.3 为何要用DLL\r\n6.3.1 多个应用程序共享代码、资源和数据\r\n6.3.2 隐藏实施细节\r\n6.4 创建和使用DLL\r\n6.4.1 数美分(简单的DLL)\r\n6.4.2 通过DLL显示模式窗体\r\n6.5 通过DLL显示无模式窗体\r\n6.6 在Delphi应用程序中使用DLL\r\n6.7 显式调用DLL\r\n6.8 动态链接库的入口/出口函数\r\n6.8.1 进程和线程的初始化和结束标准函数\r\n6.8.2 DLL入口/出口示例\r\n6.9 DLL中的异常\r\n6.9.1 在16位Delphi中捕捉异常\r\n6.9.2 异常和Safecall指示符\r\n6.10 回调函数\r\n6.10.1 使用回调函数\r\n6.10.2 绘制Owner-Draw列表框\r\n6.11 通过DLL调用回调函数\r\n6.12 共享不同进程中的DLL数据\r\n6.12.1 创建共享内存的DLL\r\n6.12.2 使用共享内存的DLL\r\n6.13 从DLL中输出对象\r\n6.14 小结\r\n\r\n第三部分 数据库开发\r\n\r\n第7章 Delphi数据库体系结构\r\n\r\n7.1 数据库类型\r\n7.2 数据库体系结构\r\n7.3 连接到数据库服务器\r\n7.3.1 数据库连接概述\r\n7.3.2 建立数据库连接\r\n7.4 操作数据集\r\n7.4.1 打开及关闭数据集\r\n7.4.2 导航数据集\r\n7.4.3 管理数据集\r\n7.4.4 数据集状态\r\n7.5 操作字段\r\n7.5.1 字段值\r\n7.5.2 字段数据类型\r\n7.5.3 字段名称及号码\r\n7.5.4 管理字段数据\r\n7.5.5 操作BLOB字段\r\n7.5.6 过滤数据\r\n7.5.7 搜索数据集\r\n7.5.8 关键字查找\r\n7.5.9 使用数据模块\r\n7.5.10 查找、范围及过滤器演示\r\n7.5.11 书签\r\n7.6 小结\r\n\r\n第8章 用dbExpress进行数据库开发\r\n\r\n8.1 使用dbExpess\r\n8.1.1 单向、只读数据集\r\n8.1.2 dbExpress与BDE比较\r\n8.1.3 dbExpress支持跨平台开发\r\n8.2 dbExpress组件\r\n8.2.1 TSQLConnection\r\n8.2.2 TSQLDataset\r\n8.2.3 显示查询结果\r\n8.2.4 向后兼容组件\r\n8.2.5 TSQLMonitor\r\n8.3 设计可编辑的dbExpress应用程序\r\n8.4 部署dbExpress应用程序\r\n8.5 小结\r\n\r\n第9章 用dbGo for ADO进行数据库开发\r\n\r\n9.1 dbGo介绍\r\n9.2 Mcrosoft的统一数据访问策略概述\r\n9.3 OLE DB、ADO、ODBC概述\r\n9.4 使用dbGo for ADO\r\n9.4.1 为ODBC建立OLE DB提供者\r\n9.4.2 Access数据库\r\n9.5 dbGo for ADO组件\r\n9.5.1 TADOConnection\r\n9.5.2 建立数据库连接\r\n9.5.3 回避/替代登录提示\r\n9.5.4 TADOCommand\r\n9.5.5 TADODataset\r\n9.5.6 类似BDE的数据集组件\r\n9.6 事务处理\r\n9.7 小结\r\n\r\n第四部分 基于组件的开发\r\n\r\n第10章 组件体系:VCL和CLX\r\n\r\n10.1 关于新的CLX\r\n10.2 何谓组件\r\n10.3 组件的层次结构\r\n10.3.1 非可视组件\r\n10.3.2 可视组件\r\n10.4 组件结构\r\n10.4.1 属性\r\n10.4.2 属性的类型\r\n10.4.3 方法\r\n10.4.4 事件\r\n10.4.5 流式属性\r\n10.4.6 所有权\r\n10.4.7 父子关系\r\n10.5 可视组件的继承关系\r\n10.5.1 TPersistent类\r\n10.5.2 TPersistent方法\r\n10.5.3 TComponent类\r\n10.5.4 TControl类\r\n10.5.5 TWinControl和TWidgetControl\r\n10.5.6 TGraphicControl类\r\n10.5.7 TCustomControl类\r\n10.5.8 其他类\r\n10.6 运行期类型信息\r\n10.6.1 TypInfo.pas单元:运行类型信息的定义者\r\n10.6.2 获取类型信息\r\n10.6.3 获得方法指针的类型信息\r\n10.6.4 获取有序类型的类型信息\r\n10.6.5 通过RTTI为属性赋值\r\n10.7 小结\r\n\r\n第11章 编写VCL组件\r\n\r\n11.1 组件设计基础\r\n11.1.1 决定是否应编写组件\r\n11.1.2 编写组件的步骤\r\n11.1.3 确定祖先类\r\n11.1.4 创建组件单元\r\n11.1.5 创建属性\r\n11.1.6 创建事件\r\n11.1.7 创建自定义方法\r\n11.1.8 构造函数和析构函数\r\n11.1.9 注册组件\r\n11.1.10 测试组件\r\n11.1.11 提供组件图标\r\n11.2 组件示例\r\n11.2.1 扩展Win32组件包装器的性能\r\n11.2.2 TddgRunButton:创建属性\r\n11.3 TddgButtonEdit:一个容器组件\r\n11.3.1 设计决策\r\n11.3.2 显露属性\r\n11.3.3 显露事件\r\n11.3.4 TddgDigitalClock:创建组件事件\r\n11.3.5 把窗体添加到组件面板\r\n11.4 小结\r\n\r\n第12章 高级VCL组件构造技术\r\n\r\n12.1 伪可视组件\r\n12.1.1 扩展提示功能\r\n12.1.2 创建一个THintWindow派生类\r\n12.1.3 椭圆型窗口\r\n12.1.4 激活THintWindow派生窗口\r\n12.1.5 运用TDDGHintWindow\r\n12.2 动态组件\r\n12.2.1 滚动字幕组件\r\n12.2.2 编写组件\r\n12.2.3 在屏幕以外的位图上绘制\r\n12.2.4 描绘组件\r\n12.2.5 让组件“动起来”\r\n12.2.6 测试TddgMarquee组件\r\n12.3 编写属性编辑器\r\n12.3.1 创建一个继承的属性编辑器对象\r\n12.3.2 将属性作为文本进行编辑\r\n12.3.3 注册新的属性编辑器\r\n12.3.4 利用对话框将属性作为整体进行编辑\r\n12.4 组件编辑器\r\n12.4.1 TComponentEditor\r\n12.4.2 一个简单的组件\r\n12.4.3 一个简单的组件编辑器\r\n12.4.4 注册组件编辑器\r\n12.5 对非公开的组件数据执行流操作\r\n12.5.1 定义属性\r\n12.5.2 DefineProperty()的例子\r\n12.5.3 TddgWaveFile:DefineBinaryProperty()用法示例\r\n12.6 属性类别\r\n12.6.1 类别类\r\n12.6.2 自定义类别\r\n12.7 组件列表:TCollection和TCollectionItem\r\n12.7.1 定义TCollectionItem类:TRunBtnItem\r\n12.7.2 定义TCollection类:TRunButtons\r\n12.7.3 实现TddgLaunchPad、TRun-BtnItem和TRunButtons\r\n12.7.4 用对话框属性编辑器编辑TCollectionItem组件的列表\r\n12.8 小结\r\n\r\n第13章 CLX组件开发\r\n\r\n13.1 何谓CLX\r\n13.2 CLX的体系结构\r\n13.3 移植问题\r\n13.4 组件示例\r\n13.4.1 TddgSpinner组件\r\n13.4.2 设计期增强工具\r\n13.4.3 组件引用和图像列表\r\n13.4.4 CLX数据感知组件\r\n13.5 CLX设计编辑器\r\n13.6 包\r\n13.6.1 命名约定\r\n13.6.2 运行期包\r\n13.6.3 设计期包\r\n13.6.4 单元注册\r\n13.6.5 组件位图\r\n13.7 小结\r\n\r\n第14章 充分发挥包的作用\r\n\r\n14.1 为何要用包\r\n14.1.1 精简代码\r\n14.1.2 发布更小的应用程序--应用程序分割\r\n14.1.3 组件容器\r\n14.2 为何不用包\r\n14.3 包的类型\r\n14.4 包文件\r\n14.5 使用运行期包\r\n14.6 把包安装到Delphi IDE中\r\n14.7 创建包\r\n14.7.1 包编辑器\r\n14.7.2 包设计方案\r\n14.8 包的版本化\r\n14.9 包编译器指示符\r\n14.10 包的命名约定\r\n14.11 使用运行期(插件)包的可扩展应用程序\r\n14.12 从包中导出函数\r\n14.13 获取包的信息\r\n14.14 小结\r\n\r\n第15章 COM开发\r\n\r\n15.1 COM基础\r\n15.1.1 COM2组件对象模型\r\n15.1.2 COM、ActiveX和OLE之间的对比\r\n15.1.3 术语\r\n15.1.4 ActiveX的优势\r\n15.1.5 OLE 与OLE 2的对比\r\n15.1.6 结构化存储\r\n15.1.7 统一数据传输\r\n15.1.8 线程模式\r\n15.1.9 COM+\r\n15.2 COM与Object Pascal\r\n15.2.1 接口\r\n15.2.2 使用接口\r\n15.2.3 HResult返回类型\r\n15.3 COM对象和类工厂\r\n15.3.1 TComObject和TComObject-Factory\r\n15.3.2 in-process COM服务器\r\n15.3.3 创建in-proc COM服务器实例\r\n15.3.4 out-of-process COM服务器\r\n15.4 聚合\r\n15.5 分布式COM\r\n15.6 Automation\r\n15.6.1 IDispatch\r\n15.6.2 类型信息\r\n15.6.3 后期绑定与早期绑定的对比\r\n15.6.4 注册\r\n15.6.5 创建Automation服务器\r\n15.6.6 创建Automation控制器\r\n15.7 高级Automation技术\r\n15.7.1 Automation事件\r\n15.7.2 Automation集合\r\n15.7.3 类型库新增接口类型\r\n15.7.4 二进制数据的交换\r\n15.7.5 后台:COM的语言支持\r\n15.8 TOleContainer\r\n15.8.1 一个简单的示例程序\r\n15.8.2 一个较为复杂的示例程序\r\n15.9.4 小结\r\n\r\n第16章 Windows外壳编程\r\n\r\n16.1 托盘图标组件\r\n16.1.1 API\r\n16.1.2 处理消息\r\n16.1.3 图标及提示\r\n16.1.4 鼠标点击\r\n16.1.5 隐藏应用程序\r\n16.1.6 托盘图标应用程序示例\r\n16.2 应用程序桌面工具栏\r\n16.2.1 API\r\n16.2.2 TAppBar:AppBar的窗体\r\n16.2.3 使用TAppBar\r\n16.3 外壳链接\r\n16.3.1 获取IShellLink实例\r\n16.3.2 使用IShellLink\r\n16.3.3 创建一个外壳链接\r\n16.3.4 获取及设置链接信息\r\n16.3.5 示例程序\r\n16.4 外壳扩展\r\n16.4.1 COM对象向导\r\n16.4.2 复制钩子处理器\r\n16.4.3 环境菜单处理器\r\n16.4.4 图标处理器\r\n16.4.5 信息提示处理器\r\n16.5 小结\r\n\r\n第17章 使用Open Tools API\r\n\r\n17.1 Open Tools接口\r\n17.2 使用Open Tools API\r\n17.2.1 简单的向导\r\n17.2.2 Wizard向导\r\n17.2.3 DDG Search\r\n17.3 窗体向导\r\n17.4 小结\r\n\r\n第五部分 企业开发\r\n\r\n第18章 使用COM+/MTS开发事务程序\r\n\r\n18.1 什么是COM+\r\n18.2 使用COM的原因\r\n18.3 服务\r\n18.3.1 事务\r\n18.3.2 安全\r\n18.3.3 及时激活\r\n18.3.4 队列组件\r\n18.3.5 对象缓冲池\r\n18.3.6 事件\r\n18.4 运行期\r\n18.4.1 注册数据库(RegDB)\r\n18.4.2 配置组件\r\n18.4.3 运行环境(Contexts)\r\n18.4.4 Neutral线程\r\n18.5 创建COM+应用程序\r\n18.5.1 目标:规模\r\n18.5.2 执行环境\r\n18.5.3 有状态(Stateful)和无状态(Stateless)\r\n18.5.4 生命周期管理\r\n18.5.5 COM+应用程序的组织\r\n18.5.6 有关事务的思考\r\n18.5.7 资源\r\n18.6 Delphi中的COM+\r\n18.6.1 COM+向导\r\n18.6.2 COM+框架\r\n18.6.3 Tic-Tac-Toe:一个简单的应用程序\r\n18.6.4 调试COM+应用程序\r\n18.7 小结\r\n\r\n第19章 CORBA开发\r\n\r\n19.1 CORBA特性\r\n19.2 CORBA体系结构\r\n19.2.1 OSAgent\r\n19.2.2 接口\r\n19.3 接口定义语言\r\n19.3.1 基本类型\r\n19.3.2 用户定义类型\r\n19.3.3 别名\r\n19.3.4 枚举\r\n19.3.5 结构\r\n19.3.6 数组\r\n19.3.7 序列\r\n19.3.8 方法参数\r\n19.3.9 模块\r\n19.4 银行案例\r\n19.5 复杂数据类型\r\n19.6 Delphi、CORBA和Enterprise Java Beans(EJB)\r\n19.6.1 Delphi程序员EJB速成\r\n19.6.2 EJB是一种特殊的组件\r\n19.6.3 EJB在容器中运行\r\n19.6.4 EJB具有预定义的API\r\n19.6.5 Home(本地)接口和Remote(远程)接口\r\n19.6.6 EJB的类型\r\n19.6.7 配置JBuilder 5以开发EJB\r\n19.6.8 创建一个简单的“Hello'world” EJB\r\n19.7 CORBA和Web Services\r\n19.7.1 创建Web Service\r\n19.7.2 创建SOAP客户端应用程序\r\n19.7.3 添加CORBA客户端代码至Web Service中\r\n19.8 小结\r\n\r\n第20章 BizSnap开发:基于SOAP的Web Services\r\n\r\n20.1 Web Services\r\n20.2 SOAP\r\n20.3 编写Web Service\r\n20.3.1 TWebModule\r\n20.3.2 定义一个可调用接口\r\n20.3.3 实现一个可调用接口\r\n20.3.4 测试Web Service\r\n20.4 从客户端调用Web Service\r\n20.4.1 为远程可调用对象产生一个输入单元\r\n20.4.2 使用THTTPRIO组件\r\n20.5 小结\r\n\r\n第21章 DataSnap开发\r\n\r\n21.1 创建多层应用程序的机制\r\n21.2 多层体系结构的优点\r\n21.2.1 集中商业逻辑\r\n21.2.2 瘦客户结构\r\n21.2.3 自动错误调解\r\n21.2.4 公文包模型\r\n21.2.5 容错性\r\n21.2.6 负载平衡\r\n21.3 典型的DataSnap结构\r\n21.3.1 服务器\r\n21.3.2 客户端\r\n21.4 使用DataSnap创建应用程序\r\n21.4.1 创建服务器\r\n21.4.2 创建客户端\r\n21.5 更多增强应用程序健壮性的措施\r\n21.5.1 客户端优化技术\r\n21.5.2 应用程序服务器技术\r\n21.6 实例\r\n21.7 Client Dataset组件的更多特性\r\n21.8 典型错误\r\n21.9 配置DataSnap应用程序\r\n21.9.1 发放许可证\r\n21.9.2 DCOM配置\r\n21.9.3 文件配置\r\n21.9.4 Internet配置考虑(防火墙)\r\n21.10 小结\r\n\r\n第六部分 Internet开发\r\n\r\n第22章 ASP开发\r\n\r\n22.1 理解活动服务器对象\r\n22.2 活动服务器对象向导\r\n22.2.1 类型库编辑器\r\n22.2.2 新方法\r\n22.2.3 ASP Response对象\r\n22.2.4 第一次运行\r\n22.2.5 ASP Request对象\r\n22.2.6 重新编译活动服务器对象\r\n22.2.7 再次运行活动服务器对象\r\n22.3 ASP Session、Server和Application对象\r\n22.4 活动服务器对象及数据库\r\n22.5 活动服务器对象及NetCLX支持\r\n22.6 调试活动服务器对象\r\n22.6.1 使用MTS调试活动服务器对象\r\n22.6.2 采用Windows NT 4调试\r\n22.6.3 采用Windows 2000调试\r\n22.7 小结\r\n\r\n第23章 WebSnap开发\r\n\r\n23.1 WebSnap的特性\r\n23.1.1 多个Webmodule\r\n23.1.2 服务器执行脚本\r\n23.1.3 TAdapter(适配器)组件\r\n23.1.4 多种调度方法\r\n23.1.5 Page producer(页面生成器)组件\r\n23.1.6 会话管理\r\n23.1.7 登录服务\r\n23.1.8 用户跟踪\r\n23.1.9 HTML管理\r\n23.1.10 文件上传服务\r\n23.2 websnap开发\r\n23.2.1 应用程序的设计\r\n23.2.2 为应用程序添加功能\r\n23.2.3 导航菜单栏\r\n23.2.4 登录\r\n23.2.5 管理用户偏好数据\r\n23.2.6 在会话之间保存偏好数据\r\n23.2.7 图像处理\r\n23.2.8 显示数据\r\n23.2.9 将应用程序转换为ISAPI DLL\r\n23.3 高级话题\r\n23.3.1 LocabFileServices(文件定位服务)\r\n23.3.2 文件上传\r\n23.3.3 包含定制模板\r\n23.3.4 在TAdapterPageProducer中定制组件\r\n23.4 小结\r\n\r\n第24章 无线开发\r\n\r\n24.1 开发技术的发展:回顾\r\n24.1.1 20世纪80年代以前:庞然大物时代\r\n24.1.2 20世纪80年代后期:桌面数据库应用程序\r\n24.1.3 20世纪90年代早期:客户端/服务器\r\n24.1.4 20世纪90年代后期:多层结构及基于Internet的事务处理\r\n24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构\r\n24.2 移动无线设备\r\n24.1.3 20世纪90年代早期:客户端/服务器\r\n24.1.4 20世纪90年代后期:多层结构及基于Internet的事务处理\r\n24.1.5 21世纪早期:扩展到无线移动领域的应用程序基础架构\r\n24.2 移动无线设备\r\n24.2.1 移动电话\r\n24.2.2 palmos设备\r\n24.2.3 Pocket PC\r\n24.2.4 RIM BlackBerrv\r\n24.3 无线电技术\r\n24.3.1 GSM、CDMA和TDMA\r\n24.3.2 CDPD\r\n24.3.3 3G\r\n24.3.4 GPRS\r\n24.3.5 蓝牙\r\n24.3.6 802.11\r\n24.4 基于服务器的无线数据技术\r\n24.4.1 SMS\r\n24.4.2 WAP\r\n24.4.3 I-mode\r\n24.4.4 PQA\r\n24.5 无线用户体验\r\n24.5.1 环路选择网络和数据包选择网络\r\n24.5.2 无线并非Web\r\n24.5.3 窗体因素的重要性\r\n24.5.4 数据输入和导航技术\r\n24.5.5 M-Commerce\r\n24.6 小结 本书至今已增订到第5版,在7年的时间中,本书不断完善,为了写作本书,很多人对此付出了相当多的精力。Xavier和Steve是最早的Borland Delphi开发小组成员,本书是他们结合15年的Delphi开发经验写成的。在本书中,我们可以感受到作者的努力精神,正是这种精神,让Delphi开发从书成为世界上最畅销的Delphi书籍,并两次获得Delphi读者最佳选择奖。这本书由开发人员撰写,同时也供开发人员阅读。 本书建立在《Delphi 5开发人员指南》基础之上,理想状况下,我们希望本书包括《Delphi 5开发人员指南》的全部章节和所有新内容。但是《Delphi 5开发人员指南》一书本身太厚,为了给Delphi 6新特性的讨论留下足够空间,我们只抽取了其中的部分章节,再加上Delphi 6的新特性讨论,新书就这样展现在大家面前。 本书包括了一些全新章节,许多章节是《Delphi 5开发人员指南》对应章节的扩展。但在《Delphi 5开发人员指南》中介绍的内容还是极其有用的。因此我们在本书配套光盘中附带了整个电子版的《Delphi 5开发人员指南》,每个章节单独地用PDF格式存储。在电子版的封面中包含了《Delphi 5开发人员指南》的目录表,读者可以在其中查找感兴趣的章节。对读者而言,可谓一举两得。 本书分成六部分。第一部分,“基础知识”,讲述了Delphi编程必要的基础知识。第二部分,“高级技术”,讨论了一些通用的高级开发主题,例如线程和动态链接库。第三部分,“数据库开发”,从多个层面上讨论了Delphi数据库访问主题。第四部分,“基于组件的开发”,讨论了关于VCL、CLX、包、COM和Open Tools API开发问题。第五部分,“企业开发”,其中讨论了开发企业级应用程序需要的实践知识,包括COM+、COBRA、SOAP/BizSnap和DataSnap。最后,第六部分,“Internet开发”,演示了使用Delphi开发Internet和无线应用程序的技术。 本书面向的读者 书如其名,本书是面向开发人员的。如果读者是一位开发人员,并且使用Delphi,那就需要拥有一本这样的书。本书面向3类读者: ■希望将技术提高一个层次的Delphi开发人员。 ■熟悉Pascal、C/C++、Java或Basic,并希望开始使用Delphi的程序员。 ■希望最大限度利用Delphi来研究其中先进特性和隐含特性的程序员。 本书使用的约定 本书使用了下列约定: ■代码行、命令、声明、变量、程序输出以及任何屏幕内容都用计算机打印字体显示。 ■需要读者输入的内容用粗体显示。 ■语法描述中的占位符用斜体表示。 ■技术术语在文章中第一次出现或者用于强调重点时,用斜体表示。 ■程序或过程用在其名后加上一对圆括号表示。虽然这不是标准Pascal风格,但是有助于和属性、变量和类区分。 各章都有一些注意、提示和警告,为了方便阅读,用特殊的字体标出。 本书配套光盘中有书中所有的源代码和项目文件,同时还有一些本书中尚未提到的源代码示例。此外,光盘中还包括一些第三方组件和工具的使用版。 Delphi 6开发指南网站 请访问网站http://www.xapware.com/ddg并且加入《Delphi 6开发人员指南》会员,从而得到本书的额外信息。读者也可以加入我们新闻邮件的邮件列表,并访问我们的讨论组。 写作本书的缘由 有人会问,是什么驱使我们编写本书的。这很难解释,但是当看到其他开发人员仍然将标满了注解、且被翻阅得破烂不堪的《Delphi 5开发人员指南》视为至宝时,就感到一切付出都是值得的。 完成本书的写作后,现在我们可以稍微轻松下来并愉快地编写一些Delphi程序。本书开始讲述的节奏比较慢,但是会迅速深入到Delphi的高级主题中,不过读者应该能够适应这种节奏。如果读者意识到了这一点,说明您已经通读了本书,并且具有了足够的Delphi方面的知识与技术,也许已经可以被称作Delphi专家了
8.64MB
Delphi 6集成开发环境
2010-09-01第1 章 Delphi 集成开发环境..........1 1.1 Delphi 6.0 简介............................................ 1 1.2 Delphi 可视化开发环境简介...................... 2 1.2.1 对象编辑器(Object Inspector)....3 1.2.2 工程管理器(Project Manager)....5 1.2.3 代码编辑器......................................5 1.2.4 CPU 观察窗口.................................6 1.2.5 对象浏览器......................................7 1.3.1 编程环境设置..................................7 1.3.2 自定义工具栏..................................9 1.3.3 编辑环境设置................................10 1.3.4 工程设置........................................11 1.4 一个简单的Delphi 程序........................... 12 1.5 本章小结.................................................... 13 第2 章 Object Pascal 语言..........14 2.1 Object Pascal 语言基础............................. 14 2.1.1 Object Pascal 入门.........................14 2.1.2 注释语句........................................15 2.1.3 标识符(Identifier) .....................16 2.1.4 保留字(Reserved Word)和指令字 (Directive) ..........................................16 2.1.5 数据类型........................................17 2.1.6 运算符(Operators)..........................27 2.1.7 语句................................................31 2.1.8 过程与函数....................................35 2.1.9 作用范围........................................42 2.1.10 规范化命名..................................43 2.2 Object Pascal 语言的面向对象技术......... 43 2.2.1 对象和类的概念............................44 2.2.2 Object Pascal 中类的定义.............46 2.2.3 方法...............................................51 2.2.4 多态性...........................................54 2.2.5 类运算符.......................................57 2.2.6 类方法和类引用............................58 2.2.7 单元文件.......................................61 2.2.8 TObject:所有对象的祖先...........63 2.3 结构化异常处理........................................64 2.3.1 try...except 语句和try...finally 语句 ................................................................65 2.3.2 raise 语句.......................................67 2.3.3 异常类...........................................67 2.4 方法与技巧................................................67 2.4.1 设置代码模板................................67 2.4.2 设置提示信息................................68 2.5 本章小结....................................................69 第3 章 常见组件编程............... 70 3.1 窗体和组件................................................70 3.1.1 概述...............................................70 3.1.2 窗体(Form)...............................71 3.1.3 组件(Component) .....................74 3.1.4 组件的使用....................................75 3.2 文本输入类组件........................................78 3.2.1 TEdit 组件.....................................78 3.2.2 TMemo 组件..................................78 3.2.3 TMaskEdit 组件.............................78 3.2.4 TRichEdit.......................................79 3.2.5 TLabel 组件...................................79 ·ii· 3.2.6 TStaticText .....................................79 3.2.7 几点说明..........................................80 3.3 按钮类组件................................................ 80 3.3.1 TButton 组件..................................81 3.3.2 TBitBtn 组件..................................81 3.3.3 TSpeedButton 组件........................81 3.3.4 TCheckBox 组件组件....................81 3.3.5 TRadioButton 组件........................82 3.4 列表类组件................................................ 82 3.4.1 TListBox 组件................................82 3.4.2 TComboBox 组件..........................83 3.4.3 TTreeView 组件.............................83 3.4.4 TListView 组件..............................84 3.4.5 TImageList 组件............................85 3.4.6 TCheckListBox 组件......................85 3.4.7 TDateTimePicker 组件...................85 3.5 表格类组件................................................ 85 3.5.1 TDrawGrid 组件............................85 3.5.2 TStringGrid 组件...........................86 3.5.3 TDBGrid 组件................................86 3.6 刻度和进度类组件.................................... 86 3.6.1 TProgressBar 组件.........................87 3.6.2 TStatusBar......................................87 3.7 分组组件.................................................... 87 3.7.1 TGroupBox 组件............................87 3.7.2 TRadioGroup 组件.........................87 3.7.3 TPanel 组件....................................87 3.7.4 TScrollBox 组件............................87 3.7.5 TTabControl 组件..........................88 3.7.6 TPageControl 组件.........................88 3.7.7 THeaderControl 组件.....................88 3.7.8 容器组件组件................................89 3.8 特殊输入组件............................................ 89 3.8.1 TScrollBar 组件.............................89 3.8.2 TTrackBar 组件..............................90 3.8.3 TUpDown 组件..............................91 3.8.4 THotKey 组件................................91 3.9 菜单的使用................................................ 91 3.9.1 主菜单............................................92 3.9.2 鼠标右键弹出式菜单....................93 3.9.3 使用菜单模板................................93 3.10 工具栏和状态栏......................................94 3.10.1 ToolBar 组件................................94 3.10.2 TCoolBar 组件.............................94 3.10.3 TControlBar 组件........................95 3.10.4 TStatusBar 组件...........................95 3.11 编程实例..................................................95 3.11.1 小型计算器..................................95 3.11.2 文本编辑器的实现....................108 3.12 本章小结................................................ 116 第4 章 键盘和鼠标事件............ 117 4.1 事件概述.................................................. 117 4.2 键盘事件处理.......................................... 117 4.2.1 常用的键盘事件.......................... 117 4.2.2 特殊的键盘事件.......................... 119 4.3 鼠标事件处理..........................................121 4.3.1 常用鼠标事件..............................121 4.3.2 拖曳事件.....................................122 4.4 本章小结..................................................124 第5 章 打印...................... 125 5.1 TPrinter 对象............................................125 5.2 打印操作常用函数..................................126 5.3 打印操作..................................................128 5.3.1 打印文本.....................................128 5.3.2 打印位图.....................................129 5.3.3 打印TMemo 组件中的内容.......130 5.3.4 打印RTF 格式的文本................131 5.4 打印技巧..................................................131 5.4.1 获取显示当前打印机的分辨率..131 5.4.2 尽量不要使用AssignPrn ............131 5.4.3 用打印机的点数做度量单位......131 5.4.4 将打印结果直接送到打印机......132 5.4.5 获取默认打印机的信息..............132 5.5 本章小结..................................................132 第6 章 文件管理.................. 133 6.1 文件类型和标准过程...............................133 6.1.1 文本文件(text file).......................133 6.1.2 类型文件(typed file)....................134 ·iii· 6.1.3 无类型文件..................................136 6.1.4 文件对话框组件..........................137 6.1.5 Win3.1 相关组件.........................139 6.2 文件管理常用函数和过程.......................139 6.2.1 文件操作常用函数和过程..........139 6.2.2 目录操作常用函数和过程..........143 6.2.3 驱动器操作常用函数..................146 6.2.4 文件名操作常用函数..................148 6.3 本章小结...................................................150 第7 章 图形与图像................151 7.1 常用图形对象及简单应用.......................151 7.1.1 画布对象(TCanvas Object) ....151 7.1.2 画笔对象(TPen Object) ..........154 7.1.3 画刷对象(TBrush Object).......158 7.1.4 颜色类型(TColor type)...........160 7.1.5 其它属性......................................161 7.2 基本图形的绘制.......................................162 7.2.1 直线的绘制..................................162 7.2.2 矩形的绘制..................................163 7.2.3 椭圆的绘制..................................164 7.2.4 弧线的绘制..................................164 7.2.5 多边形的绘制..............................165 7.2.6 文本的输出..................................166 7.2.7 插入图像......................................167 7.3 画板程序开发...........................................168 7.3.1 窗体设计......................................168 7.3.2 代码设计......................................172 7.3.3 菜单代码设计..............................177 7.4 动画绘图效果...........................................182 7.5 常用图像对象...........................................185 7.5.1 TGraphics 类................................185 7.5.2 TPicture 类...................................185 7.5.3 位图对象(TBitmap Object) ....186 7.5.4 TImage 组件................................187 7.6 简单图像浏览器的实现...........................188 7.7 本章小结...................................................195 第8 章 多媒体编程技术............196 8.1 多媒体技术简介.......................................196 8.2 图像格式的处理.......................................199 8.2.1 位图.............................................199 8.2.2 JPEG 文件...................................201 8.3 特殊图像显示效果的实现.......................203 8.3.1 基本原理.....................................204 8.3.2 调用BitBlt...................................204 8.3.3 调用CopyRect.............................205 8.3.4 效果与算法实现..........................206 8.4 利用图像控件实现动画效果...................233 8.4.1 TImage 组件变换法....................234 8.4.2 TPanel 组件变换法.....................235 8.4.3 Canvas 画面变换法.....................235 8.5 音频和视频文件的播放...........................236 8.5.1 WAV 与MIDI 文件简介.............236 8.5.2 什么是AVI..................................238 8.5.3 TMediaPlayer 控件的使用..........240 8.6 媒体播放器的实现..................................243 8.7 本章小结..................................................248 第9 章 OpenGL 开发三维图形....... 250 9.1 OpenGL 的基础.......................................250 9.1.1 OpenGL 的功能...........................250 9.1.2 创建OpenGL 应用程序的方法..251 9.1.3 OpenGL 变量和函数的约定.......256 9.1.4 OpenGL 的初始化.......................257 9.2 OpenGL 基本图形的绘制........................260 9.2.1 图形的颜色..................................261 9.2.2 简单图形的绘制..........................262 9.2.3 简单二次曲面..............................268 9.3 OpenGL 中的变换...................................273 9.3.1 矩阵操作过程................................273 9.3.2 投影变换.....................................274 9.3.3 几何变换矩阵..............................277 9.4 光照和纹理..............................................281 9.4.1 光照和光源过程及应用..............281 9.4.2 材质和光照模型..........................282 9.4.3 纹理.............................................284 9.5 本章小结..................................................290 第10 章 多线程应用程序........... 291 10.1 进程与线程..............................................291 10.1.1 进程和线程的概念....................291 ·iv· 10.1.2 线程调度....................................292 10.2 TThread 对象..........................................292 10.2.1 Tthread 类的属性.......................292 10.2.2 TThread 类的方法.....................293 10.2.3 TThread 类的事件.....................294 10.2.4 创建线程类................................294 10.2.5 线程的初始化操作....................295 10.2.6 实现线程对象的功能................295 10.3 线程的同步.............................................296 10.4 线程的优先级.........................................302 10.5 本章小结.................................................302 第11 章 动态链接库...............303 11.1 概述.........................................................303 11.1.1 DLL 的概念...............................303 11.1.2 静态链接与动态链接................304 11.1.3 使用DLL 的目的......................305 11.2 创建动态链接库.....................................306 11.3 使用动态链接库.....................................309 11.4 本章小结.................................................310 第12 章 Delphi 数据库的基本概念...311 12.1 数据库系统概述.....................................311 12.1.1 使用数据库................................311 12.1.2 数据库管理系统(DBMS).....311 12.1.3 数据库应用程序........................312 12.2 Delphi 的数据库特性及功能简介.........313 12.2.1 Delphi 的数据库特性................314 12.2.2 Delphi 可以访问的数据源 (DataSource) ....................................315 12.2.3 本地数据库和远程数据库........316 12.3 Delphi 数据库应用程序的体系结构.....317 12.3.1 选择合适的体系结构................318 12.3.2 可伸缩性....................................319 12.3.3 单层的数据库应用程序..........320 12.3.4 两层的数据库应用程序............320 12.3.5 多层的数据库应用程序............321 12.3.6 数据访问组件............................321 12.3.7 数据控制组件............................323 12.4 Delphi 数据库应用程序的开发方法和步骤324 12.4.1 概述............................................324 12.4.2 数据库应用程序的开发步骤....325 12.4.3 交付数据库应用程序................326 12.4.4 安装BDE ..................................327 12.4.5 安装SQL Link...........................328 12.5 本章小结................................................330 第13 章 简单数据库应用程序的创建. 331 13.1 简单的基于单表的数据库应用.............331 13.1.1 选择相关的组件........................331 13.1.2 设置组件的属性........................331 13.1.3 运行程序...................................333 13.2 利用TDBNavigator 组件创建存取程序334 13.2.1 创建应用程序窗体....................334 13.2.2 使用TDBNavigator 组件移动记录 指针......................................................335 13.2.3 定制TDBNavigator 组件..........336 13.3 创建主要──明细数据库应用程序.....336 13.3.1 一对多关系的主要──明细型数据 库应用程序...........................................337 13.3.2 一对多——多关系的数据库应用 ..............................................................338 13.4 字段对象的使用......................................339 13.4.1 字段对象的类型........................340 13.4.2 创建永久性的字段对象............340 13.4.3 字段对象的属性设置................341 13.4.4 字段对象的访问........................343 13.4.5 设定字段对象的显示格式........346 13.4.6 自定义字段以及计算字段对象的创 建..........................................................347 13.5 查询数据库中的记录.............................350 13.5.1 使用GotoKey 方法查找数据记录 ..............................................................350 13.5.2 使用FindKey 方法查找数据库中的 记录......................................................352 13.5.3 利用GotoNearest 和FindNearest 执 行不精确查找.......................................353 13.6 修改数据库中的记录.............................354 13.6.1 Edit 方法Post 方法...................355 13.6.2 实现异常保护的try...finally 语句356 13.7 插入和删除记录....................................359 ·v· 13.7.1 逐步插入方法............................360 13.7.2 调用InsertRecord 插入记录......360 13.8 输入数据的有效性验证.........................363 13.9 本章小结.................................................366 第14 章 数据交换.................367 14.1 Windows 剪贴板及其应用.....................367 14.1.1 概述............................................367 14.1.2 TClipboard 的属性和方法.........367 14.1.3 文本与Windows 剪贴板...........370 14.1.4 图形与剪贴板............................373 14.2 数据的动态交换.....................................374 14.2.1 DDE 概述...................................374 14.2.2 DDE 客户端应用程序...............375 14.2.3 服务端应用程序........................381 14.3 对象的链接与嵌入.................................383 14.3.1 OLE 技术概述...........................383 14.3.2 TOleContainer 的属性...............385 14.3.3 TOleContainer 的方法...............387 14.4 多格式文件浏览器.................................389 14.4.1 OLE 服务器的菜单和工具栏...389 14.4.2 浏览器设计................................391 14.5 本章小结.................................................395 第15 章 应用程序的分发和包装.....396 15.1 应用程序包装技巧.................................396 15.1.1 计算机的关机或重新启动........396 15.1.2 禁止应用程序的第二实例启动397 15.1.3 封面窗口...................................398 15.1.4 椭圆窗口启动封面....................399 15.1.5 读写Windows 95 注册文件......399 15.1.6 创建应用程序组和图标............400 15.2 应用程序的分发....................................401 15.3 本章小结................................................403 第16 章 其它编程技巧............. 404 16.1 获取Windows 版本信息.......................404 16.2 获取CPU 信息.......................................405 16.3 启动屏幕保护........................................407 16.4 使窗口标题栏闪烁................................407 16.5 获取窗口标题栏中的文字.....................408 16.6 使窗口背景颜色渐变.............................409 16.7 将WAV 文件做到EXE 文件里...........410 16.8 按字段为TDBGrid 着色....................... 411 16.9 使用资源文件........................................413 16.10 具有不同字体的对话框.......................417 16.11 显示旋转字体.......................................418 16.12 本章小结..............................................419 附录1 Inprise Delphi 属性、函数、事 件参考.................... 420 附录2 Delphi 站点整理............ 429 附录3 Delphi 问题集.............. 431 附录4 Delphi 编译错误信息中英文 对照...................... 435
19.7MB
delphi 开发经验技巧宝典源码
2010-08-12第1章 开发环境 1 1.1 环境设置 2 0001 如何定制工具栏 2 0002 如何定制组件面板 2 0003 如何定制代码编辑器 3 0004 保存自定义开发环境桌面 4 1.2 组件安装 4 0005 安装ActiveX组件 4 0006 安装不同类型的第三方组件 5 0007 在Delphi中加载QReport报表组件 7 1.3 创建DLL文件 8 0008 生成一个DLL文件 8 0009 调用DLL文件 8 1.4 窗体相关操作 9 0010 将组件置前/置后 9 0011 如何锁定窗体中的组件 9 0012 如何改变窗体上的网格大小 10 0013 组件的选取 10 0014 改变窗体Hint背景色 11 0015 以原始风格显示控件的滚动条 11 0016 使用快捷键打开对象观察器中的“...”按钮 11 1.5 其他相关应用技巧 11 0017 安装合适的Delphi版本 11 0018 熟练掌握Delphi中的菜单项 12 0019 构成Delphi项目的主要文件 12 0020 如何在程序中调用帮助文件 12 第2章 语言基础 17 2.1 基础语言 18 0021 如何对代码进行注释 18 0022 Exit语句的使用 18 0023 有效地使用Self对象 19 0024 声明局部变量、类变量和全局变量 19 0025 有效利用条件语句和嵌套条件语句 20 0026 有效利用循环语句和嵌套循环语句 21 0027 使用GoTo跳转语句 21 0028 有效使用Case Else语句 22 0029 保证数组循环的安全性 22 0030 获取枚举值列表 23 0031 使两个变量位于同一个地址空间 23 0032 利用动态数组作为函数参数 24 0033 调用Register过程的注意事项 24 0034 在Delphi中禁止使用result 24 0035 如何在Delphi中录制代码 24 0036 如何编译器会提示数组太大时的处理技巧 25 0037 如何对超大数字进行计算 25 0038 强类型的定义及使用 25 2.2 类、函数、重载 25 0039 在函数的定义中正确使用var 25 0040 如何实现类的转形 26 0041 如何实现数据加密与解密算法 27 0042 如何继承父类的方法 27 0043 如何实现函数重载 28 0044 类中多态的应用 28 0045 将函数作为参数进行调用 30 2.3 参数与指针 30 0046 通过指针读写数据 30 0047 在过程中使用常量参数 31 0048 在过程中使用数组参数 31 0049 在过程中使用默认参数 31 2.4 其他 32 0050 如何在字符串中使用单引号 32 0051 结构对象的定义与使用 32 0052 使用数组为TlistView组件动态创建字段 33 0053 解决程序的死锁问题 34 0054 怎样实现接口委托 34 0055 在Delphi中使用汇编 35 0056 为程序设置版本和帮助信息 36 0057 动态链接库的创建与调用 36 0058 String类型和Pchar类型的用法和区别 36 0059 如何捕获异常 37 0060 TStrings与TStringList的使用 37 0061 如何实现窗体文件转换 37 第3章 程序算法 39 3.1 计算类算法 40 0062 如何计算1~100的阶乘和 40 0063 如何实现最大公约数 40 0064 如何实现最小公倍数 41 0065 如何实现裴波纳契数列求和 42 0066 如何实现百钱百鸡算法 42 0067 如何实现哥德巴赫猜想 43 0068 如何实现韩信点兵 44 0069 求水仙花数的算法 44 0070 求1000以内的完数 45 0071 如何计算x的y次方 46 3.2 复杂计算类算法 46 0072 如何实现金额大小写转换的算法 46 0073 如何计算时钟的指针位置 47 0074 如何计算汉字笔划 48 0075 如何计算两个日期之间的天数、周数、分钟数 49 0076 如何实现数字斜塔 50 0077 如何实现杨辉三角 51 0078 如何实现CRC算法 52 0079 如何将B转换成GB、MB和KB 52 3.3 判断及转换类算法 53 0080 判断IP地址是否合法的算法 53 0081 判断身份证是否合法的算法 54 0082 判断素数的算法 55 0083 将字符串转换成Unicode格式 56 3.4 排序及分组类算法 56 0084 利用回溯法将一组数平均分成两组 56 0085 利用冒泡法对数字进行排序 58 0086 用回溯法找出n个自然数中取r个数的所有组合 58 0087 0~N位数的任意组合 59 0088 在数组中快速查找近似值 60 0089 实现直接插入法排序 61 第4章 函数应用 63 4.1 字符串处理函数 64 0090 使用Uppercase函数将小写字母转换为大写字母 64 0091 使用Lowercase函数将大写字母转换为小写字母 64 0092 使用Copy函数获取一个字符串的子串 64 0093 使用LeftStr函数从左边取得指定个数的字符串 65 0094 使用RightStr函数从右边取得指定个数的字符串 65 0095 使用Length函数取得一段字符串的长度 65 0096 使用Pos函数返回子字符串第一次出现的索引值 66 0097 使用Quotedstr函数返回字符串的引证串 66 0098 使用Trim函数删除字符串的首尾空格 66 4.2 数学计算函数 67 0099 使用Abs函数返回指定数值的绝对值 67 0100 使用Mod函数计算1~10之间的奇数和 67 0101 使用Div函数做整除操作 68 0102 使用DivMod函数返回两个操作数相除的商和余数 68 0103 使用Power函数返回底数的任何次幂 69 0104 使用Round函数将实数四舍五入为整数 69 0105 使用Sqr函数计算指定数的平方 70 0106 使用Mean函数计算平均数 70 0107 求最大浮点数和最小浮点数 71 4.3 序数函数 72 0108 使用Odd函数改变StringGrid组件的奇偶行颜色 72 0109 使用Pred函数获取顺序类型表达式的前驱 72 0110 使用Succ函数获取顺序类型表达式的后继 73 4.4 进制转换相关函数 73 0111 如何将二进制转换为八进制 73 0112 如何将二进制转换为十进制 75 0113 如何将二进制转换为十六进制 76 0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数返回实数的整数部分 80 0119 使用IntToStr函数将整数转换为字符串类型 80 0120 使用StrToInt函数将字符串转换成整数 81 0121 使用StrToBool函数将字符串转换为布尔类型 81 4.6 对话框函数 81 0122 使用InputBox函数显示输入对话框 81 0123 使用MessageDlg函数显示不同风格的对话框 81 0124 使用CreateMessageDialog函数创建消息对话框 82 0125 如何在指定的位置显示信息框 82 0126 使用ShowException函数显示一个异常信息 82 4.7 异常处理函数 83 0127 将错误编号转换为错误信息字符串 83 0128 使用ExceptAddr函数获得异常被抛出的地址 83 0129 格式化异常处理信息 84 4.8 图形图像相关函数 85 0130 将TColor类型的颜色值转换为RGB值 85 0131 使用Bounds函数获得某矩形的TRect 86 0132 从已有的位图上创建位图 86 0133 使用Frame3D过程在画布上创建3D效果 87 4.9 文件操作的相关函数 87 0134 使用CopyFile函数复制文件 87 0135 使用CreateDir函数创建一个目录 88 0136 使用FileCreate函数创建一个图形文件 88 0137 使用GetCurrentDir函数返回当前目录 89 0138 在指定路径中搜索指定的文件 89 0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 其他函数 91 0143 使用Random函数产生7个随机数 91 0144 使用DiskFree函数返回磁盘驱动器的剩余空间 91 0145 如何使用Printer函数 92 0146 使用SetPriner函数修改打印机信息 93 0147 使用BeginThread函数产生线程 94 0148 使用EndThread过程终止一个线程 95 0149 使用ForegroundTask函数检测线程是否运行 96 第5章 字符与字符串处理技术 99 5.1 ASCII码与编码转换 100 0150 如何获得汉字的区位码 100 0151 通过区位码获取汉字 100 0152 根据ASCII码获得字母 101 0153 获得字母的ASCII码 101 5.2 字符中的转换 101 0154 如何将数字转换成字符串 101 0155 如何将字符串全部大写 102 0156 如何将字符串全部小写 102 0157 如何将字符串中的任意字符转换成大写 103 0158 如何将字符串中的任意字符转换成小写 103 0159 如何将字符串首字母大写 104 5.3 字符串的相关判断 105 0160 判断某一字符是否在字符串中 105 0161 判断字符串是由数字、大写字母或小写字母组成 105 0162 判断字符串中的某一字符是否大写 106 0163 判断字符串中是否有小写字母 107 0164 判断字符串中是否有指定的字符 107 0165 判断字符是否可以转换成整数 108 0166 判断字符中是否有汉字 108 0167 判断字符中是否有双字节 109 0168 判数输入的字符串是否为整数 109 5.4 字符串的个数问题 110 0169 获取文字中英文单词的个数 110 0170 如何统计两个子字符串之间的字符的个数 111 0171 判断字符在字符串中出现的个数 111 0172 在语句中查找汉字的个数 112 0173 如何统计中英文个数 112 5.5 字符串的其他操作 113 0174 返回指定字符串的起始位置 113 0175 获得汉字的拼音简码 113 0176 如何将字符串翻转 114 0177 截取指定位置的字符串 115 0178 清除字符串中指定的字符 115 0179 如何实现文本的加密与解密 116 0180 提取字符串中指定子字符串后的字符串 117 0181 替换指定的字符串 117 0182 在文本中删除指定的汉字或句子 118 0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 121 0185 获得系统当前时间 122 0186 获得系统当前日期 122 0187 将日期时间格式化为指定格式 122 0188 计算两个日期之间相差的天数 123 0189 根据指定日期返回星期几 123 0190 将日期转换为字符串 124 0191 判断日期是否改变 124 0192 判断字符串是否为日期或时间 125 0193 获得指定月的最后一天 127 0194 在指定的日期上加上3月 127 0195 实现倒计时功能 128 0196 判断指定年份是否为闰年 129 0197 调用系统设置日期对话框 129 0198 将秒数转化成hh:mm:ss格式 129 0199 修改操作系统日期 130 0200 获取全球标准时间 130 第7章 数据处理技术 133 7.1 组件数据处理技术 134 0201 让两个文本框中的内容同时改变 134 0202 格式化DataGrid表格中的数据 134 0203 控制文本框只能录入数字 135 0204 如何在DataGrid中嵌入LookupComboBox 135 0205 在DBGrid中设置不滚动的列 136 0206 如何在DBGrid中实现复制、粘贴功能 137 0207 在DBGrid中将选中的多行删除 137 0208 在DataGrid中如何使标题文字居中 138 0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据赋给数组 139 0211 如何获取DataGrid单元格中的内容 140 0212 如何锁定文本框中的文本 141 0213 如何设置光标到文本框的末尾 141 0214 如何改变表格列的矩形区域颜色 142 0215 控制在文本框中只能输入两位小数 143 0216 如何把选择的文件图标显示在列表中 143 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何把ADO中的数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除数据时需要注意的问题 147 0222 把Excel中的数据保存到数据库中 147 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用快捷键保存数据 150 0227 密码只允许输入8位或超过8位 150 0228 如何获取汉字拼音简码 151 0229 根据用户输入需求自动调整输入法 152 0230 根据生日自动计算年龄 153 0231 实现找零功能 153 0232 设计带记忆的数据录入窗口 154 0233 在窗体关闭时提示有未保存的数据 155 0234 设置只允许3次密码错误 156 0235 如何读取Word中的文本 156 0236 通过身份证号获取年龄 157 0237 如何实现一个应用程序只能打开一个进程 158 7.4 其他数据处理技术 159 0238 对计算结果四舍五入 159 0239 获取一个字符的ASCII值 159 0240 判断字符串中是否有文字符 160 0241 如何从字符串中提取数字 160 0242 判断内容是否为日期 161 0243 使字符串显示为自定义的格式 161 0244 实现拼音大小写转换 162 0245 怎样实现数据输入为空提示 162 0246 读取Memo1中指定行的文本信息 163 0247 自动调节ComboBox列表宽度 164 0248 如何转换数据库表为CSV文件格式 164 0249 删除文本文件中的多余空格 165 0250 创建和使用资源文件 166 第8章 窗体与界面设计 169 8.1 窗体标题栏控制 170 0251 如何实现标题栏闪烁的窗体 170 0252 如何实现不可移动的窗体 170 0253 如何在不使用标题栏的情况下移动窗体 170 0254 使窗体标题栏文字右对齐 170 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现窗体的淡入淡出 173 0261 实现窗体的幻灯片效果 174 0262 实现窗体的伸展效果 174 0263 实现窗体的下拉效果 175 0264 以放大的圆形显示窗体 175 8.3 MDI窗体 176 0265 在MDI中显示动态窗体 176 0266 在MDI中真正关闭子窗体 176 0267 给MDI主窗体添加背景 176 0268 动态显示像MDI的子窗体 177 0269 打开MDI窗体时其他窗体会显示出来的原因 177 8.4 窗体的大小及位置 178 0270 控制窗体的最大化、最小化 178 0271 无标题栏时改变窗体的大小 178 0272 无标题栏最大化时不覆盖任务栏 178 0273 限制窗体的大小 179 0274 重定义去掉标题栏并最大化窗体 179 0275 使窗体一直居中 179 0276 控制窗体不可移动 180 0277 限制窗体的最大化 180 0278 使窗体自动居中 181 8.5 窗体的特殊形状 181 0279 实现窗体颜色渐变 181 0280 如何使窗体透明 182 0281 制作特殊形状的窗体 182 0282 为窗体增加边框 183 0283 显示圆角窗体 183 0284 制作多边形窗体 184 0285 以文字的形式显示窗体 185 0286 如何实现窗体半透明 185 0287 制作立体窗口阴影效果 186 8.6 工具栏、状态栏及下拉列表 187 0288 制作带历史信息的菜单 187 0289 制作可以拉伸的菜单界面 188 0290 制作类似于XP颜色的下拉页 188 0291 在系统菜单中添加菜单项 189 0292 在状态栏中放置其他组件 189 0293 改变下拉列表的文字颜色 190 8.7 窗体的特殊效果 191 0294 如何动态分割窗体 191 0295 如何将应用程序背景与桌面融合 191 0296 如何在屏幕最前面显示滚动字幕 192 0297 制作磁性窗体 193 0298 制作浮动窗口 194 0299 制作另类提示窗口 195 0300 将窗体放入Panel组件中 196 8.8 窗体的快速操作 197 0301 使窗体始终在最上面 197 0302 显示所有的可视化窗体 197 0303 关闭所有窗体 198 0304 关闭多余的窗体 198 8.9 窗体的调用方法 199 0305 在关闭窗体前显示提示对话框 199 0306 创建一个启动闪现窗口 199 0307 动态创建窗体 200 0308 动态创建窗体和释放窗体 200 0309 在显示主窗体前显示登录窗体 201 8.10 窗体相关操作的其他技巧 202 0310 无窗体的半透明控件 202 0311 修改提示字体及颜色 202 0312 在窗口中显示动态画布 202 0313 如何实现中英文切换 203 0314 在一个子窗体中获得另一个子窗体的组件信息 204 第9章 组件技术 205 9.1 优化组件外观 206 0315 利用TXPManifest组件美化程序界面 206 0316 使用Canvas美化列表项 206 0317 利用Canvas在Chart组件中画一幅图片 207 0318 如何为TListBox添加水平滚动条 207 0319 折行显示按钮标题 208 0320 为组件制作立体效果 208 0321 利用ActiveX控件实现Office助手 209 9.2 菜单、工具栏、状态栏 209 0322 在PopupMenu中动态加入新菜单 209 0323 在状态栏中显示进度条组件 210 0324 为工具栏添加背景图片 210 9.3 文本框及列表框的应用技巧 211 0325 使TEdit组件获取焦点后将文本全部选中 211 0326 使TEdit组件获取焦点时改变文本框颜色 211 0327 查找列表框中的选项 212 0328 在ComboBox组件中显示QQ头像 212 0329 为Edit组件添加列表选择框 213 0330 在ListBox中显示位图 214 0331 获取TMemo中的可见行数 214 0332 如何在Memo组件上实现光标定位 215 0333 控制Memo组件中的滚动条 216 9.4 数据感知控件应用技巧 217 0334 如何在DBGrid中显示不同的记录颜色 217 0335 单击DBGrid标题进行排序 218 0336 使DBGrid支持鼠标滚轮 218 0337 在DBGrid中添加静态字段 218 0338 在DBGrid中实现下拉列表 219 0339 改变DBGrid被选中时的颜色 220 0340 用TDBNavigator组件删除数据显示自定义信息 220 0341 使用Excel组件将数据导出为Excel格式 221 9.5 表格组件使用技巧 222 0342 将StringGrid中指定行的数据添加到Memo中 222 0343 使TStringGrid组件自动移动及增加行 223 0344 单击StringGrid列进行排序 224 9.6 TreeView组件使用技巧 225 0345 如何动态创建TreeView节点 225 0346 如何将TreeView中的节点全部选中 226 0347 将菜单项添加到Tree View中 226 0348 使TreeView组件与数据库关联 227 0349 应用TTreeView组件遍历磁盘目录 228 0350 在TreeView组件中实现拖曳操作 229 9.7 ListView组件使用技巧 229 0351 向TListView组件中添加项目 229 0352 删除ListView中的选项 230 0353 实现ListView滚动 230 0354 将数组中的数值遍历到ListView中 231 0355 ListView组件的高级应用 231 0356 使ListView的不同列显示不同颜色 232 0357 对ListView中的项目进行汇总 233 0358 单击列表标题进行排序 233 9.8 应用组件制作导航 234 0359 用ListView制作导航界面 234 0360 利用Panel组件制作QQ导航栏 235 9.9 其他组件使用技巧 237 0361 动态创建组件 237 0362 创建控件数组 237 0363 用组件来移动窗体 238 0364 实现组件的批量访问 238 0365 使同类组件进行同样的操作 239 0366 使用Ttrackbar组件改变画布颜色值 239 0367 设置TopAxis属性在图表上面显示标签 240 0368 动态向ImageList组件中添加图标 240 0369 设置DateTimePicker组件的外观颜色 241 0370 利用Timer组件显示当前系统时间 241 0371 获取用户在Month Calendar组件中选择的日期 242 0372 在Panel上播放视频文件 242 0373 Win3.1组件的综合应用 242 0374 制作一个信息上传控件 243 0375 使用Gauge组件制作启动程序 245 第10章 鼠标和键盘 247 10.1 鼠标和键盘 248 0376 鼠标和键盘在一定时间没有动作时关闭程序 248 0377 如何锁定鼠标和键盘 248 0378 如何实现键盘鼠标动作记录与回放 249 10.2 鼠标的相关操作 250 0379 将鼠标锁定在指定范围内 250 0380 模拟鼠标操作 251 0381 显示或隐藏鼠标 252 0382 获取鼠标按键状态 252 0383 获取窗口标题 253 0384 单击鼠标左键弹出右键菜单 253 0385 改变当前鼠标的样式 254 0386 模拟键盘的复制与粘贴 255 0387 如何定义自己的鼠标事件 255 0388 利用鼠标绘制矩形焦点 256 0389 将鼠标移动到指定控件 257 0390 ANI动画鼠标的制作 257 0391 自制动画鼠标 258 0392 获取鼠标滑轮的消息 258 0393 制作鼠标跟随 259 0394 利用鼠标滑轮查看组件中的数据 259 10.3 键盘的相关操作 260 0395 按回车键移动焦点 260 0396 如何屏蔽Win键 261 0397 如何控制键盘指示灯 261 0398 如何屏蔽Sleep和Wake Up键 262 0399 设置自己的热键 262 0400 用键盘钩子封锁Win dows热键 263 0401 如何用Esc键退出程序 263 0402 在TDBGrid中用回车键移至下一个字段 264 0403 用Esc键停止循环 264 0404 如何判断左右 Shift 按键 265 0405 替换一个键盘按钮 265 10.4 鼠标的其他应用技巧 266 0406 实现超级链接效果 266 0407 用鼠标隐藏显示窗口(仿QQ) 267 0408 获取鼠标的桌面坐标 267 0409 用鼠标双击TStatusBar时判断是哪一个Panels 268 0410 使Canvas上直线的一个端点跟着鼠标跑 268 第11章 文件与文件管理 271 11.1 文件及文件夹的创建和移动 272 0411 创建并删除文件 272 0412 如何移动文件 272 0413 将文件放入回收站 273 0414 复制文件夹到其他路径中 273 0415 用API函数进行文件的复制 274 0416 用内存块复制文件 275 0417 用文件流对文件进行复制 275 11.2 文件的打开及读取 276 0418 打开指定格式的文件 276 0419 获取文件中指定符号中的字符串 277 0420 如何输出文本内容 277 0421 根据文件名中的部分名称打开该文件 278 0422 怎样合并文件 280 0423 创建和使用资源文件 281 11.3 文件及文件夹的相关属性 281 0424 如何获取文件的访问时间 281 0425 获取文件的剩余空间 282 0426 获取文件修改时间 283 0427 怎样修改文件属性 283 11.4 文件及文件夹的相关目录 285 0428 得到系统当前目录 285 0429 改变当前目录 285 0430 获取System目录 286 0431 获取Windows目录 286 0432 获取临时文件的目录 287 11.5 文件属性的相关判断 287 0433 判断文件是否被使用 287 0434 判断文件是否存在 288 0435 判断文件是否为文本文件 288 0436 判断文件名是否有效 289 11.6 文件及文件夹的遍历 289 0437 如何查询文件 289 0438 提取文件夹中的文件 291 0439 遍历文件夹下的所有文件(包含子文件夹) 291 11.7 INI文件 292 0440 如何读写INI文件 292 0441 利用INI文件查看工作日志 294 0442 用INI文件创建菜单 295 11.8 文件的其他应用技巧 296 0443 调用帮助文件 296 0444 对文件进行比较 296 0445 更改文件名称 297 0446 字符网格和文本间转换 297 第12章 磁盘管理 299 12.1 获取磁盘的相关信息 300 0447 获取磁盘总空间 300 0448 获取光盘的盘符 300 0449 获取系统盘符 301 0450 获得光盘的卷标 301 0451 获取磁盘卷标 302 0452 获取磁盘编号 302 0453 获取磁盘详细信息 303 0454 获取硬盘序列号 303 0455 获取驱动器类型 304 0456 获取驱动器列表 304 0457 获取磁盘的文件系统名称、长度及系统标记 305 0458 获取移动硬盘 305 12.2 磁盘设置与操作 306 0459 将文件存到磁盘中 306 0460 如何实现盘格式化 307 0461 打开磁盘时先弹出文本文件 308 0462 怎样进行磁盘碎片整理 308 12.3 磁盘监控与分析 308 0463 判断光驱中是否有光盘 308 0464 如何打开和关闭光驱 309 0465 判断软驱中是否有软盘 310 0466 判断磁盘是否存在 311 第13章 图形图像技术 313 13.1 基本操作 314 0467 对窗体进行刷新 314 0468 在TImage组件上显示透明文字 314 0469 清空TImage组件中的图片 314 0470 生成两个颜色的中间色 315 0471 改变文字的背景颜色 315 13.2 绘制图形 316 0472 制作空心文字 316 0473 如何实现十字光标定位 316 0474 制作旋转的文字 317 0475 波形图的绘制 318 0476 制作动画背景的窗体 319 0477 如何涂抹窗体 320 0478 如何万花筒 320 13.3 图片格式转换 321 0479 ICO转换成位图(BMP) 321 0480 JPG转换成位图(BMP) 322 0481 WMF转换成位图(BMP) 323 0482 位图(BMP)转换成JPG 323 0483 位图(BMP)转换成WMF 324 0484 批量转换图像 324 13.4 颜色格式的转换 326 0485 将TColor换算成RGB 326 0486 将TColor换算成HTML 326 0487 将HTML换算成TColor 327 0488 将CMYK换算成RGB 327 0489 将RGB换算成CMYK 328 0490 将RGB换算成TColor 329 13.5 图片的滤镜效果 329 0491 将图片以灰度形式显示 329 0492 提高图像的亮度 330 0493 图像浮雕效果 331 0494 图片的反色效果 332 13.6 翻转与缩放 333 0495 如何放大和缩小图像 333 0496 实现图形反转 333 0497 如何旋转图像 334 0498 将图像局部放大 335 13.7 图片的动态效果 336 0499 制作百叶窗效果 336 0500 垂直交错显示图像 337 0501 水平交错显示图像 338 0502 制作积木效果 338 0503 制作推拉效果 340 0504 如何实现雨滴式的效果 340 0505 图片颜色逐渐加深 341 13.8 获取及调整图片的像素 342 0506 如何实现定点取色 342 0507 获取指定点的RGB值 343 0508 制作红绿眼镜三维立体画 343 0509 调整图片的RGB对比度 344 0510 图片的加密与解密 345 13.9 图片的处理技术 346 0511 复制局部图片 346 0512 在图片中加入文字 347 0513 如何实现图片扭曲 348 0514 图片的网格效果 350 13.10 图片的存储 350 0515 将BMP图片重画到窗体上 350 0516 将JPG图片重画到窗体上 351 0517 使位图图片透明 352 0518 对大图片的操作 352 13.11 图片的其他应用技巧 353 0519 怎样浏览大图片 353 0520 获取图像信息 353 0521 在图片上平滑移动文字 354 0522 制作随鼠标拖动的图像 355 0523 在TMainMenu组件上绘制图片 356 第14章 动画与多媒体 357 14.1 动画播放 358 0524 单帧动画播放 358 0525 多帧动画播放 358 0526 模拟石英钟 360 0527 设计字幕程序 361 0528 设计屏幕保护程序 361 14.2 文字效果 363 0529 文字的立体字效果 363 0530 文字滚动效果 364 0531 文字旋转效果 365 0532 制作空心文字 365 14.3 播放媒体文件 366 0533 播放AVI文件 366 0534 播放Flash动画 367 0535 播放WAV文件 368 0536 播放GIF文件 368 14.4 利用API播放媒体 369 0537 与多媒体相关的API函数 369 0538 利用sndPlaySound函数播放音频文件 370 0539 利用mciSendString函数播放AVI 370 14.5 音频及视频 372 0540 使电脑发出声音 372 0541 显示MP3文件的播放时间 372 0542 显示文件的播放进度 373 0543 循环播放媒体文件 374 0544 显示AVI文件的播放帧数 375 0545 指定视频显示窗口 375 0546 全屏播放视频文件 376 0547 设计一个精美的播放器 377 0548 播放背景音乐 380 0549 利用RealPlayer播放器播放音乐 381 14.6 媒体控制 382 0550 如何实现静音与声道控制 382 0551 调用声音控制对话框 383 0552 使播放的Flash随窗口大小改变 383 0553 打开和关闭光驱 383 第15章 API函数 385 15.1 操作系统 386 0554 关闭显示器 386 0555 获取系统启动模式 386 0556 使程序不出现在任务栏上 387 0557 修改系统时间 387 0558 修改系统颜色 388 0559 使用API函数拨号 389 0560 获取内存使用状态的信息 389 0561 清空回收站 390 0562 设置系统日期 390 0563 如何设定屏幕分辨率设定 391 0564 修改系统的刷新率 391 0565 隐藏桌面图标 392 0566 获取Windows主题文件 392 15.2 窗体 393 0567 利用API创建窗体 393 0568 利用API创建画刷 394 0569 利用API绘制弧形 394 0570 利用API控制窗体显示 395 0571 制作闪动标题的窗体 396 0572 拖动无标题栏窗体 396 0573 获取拖动到窗体中的文件路径 396 0574 在窗口的任意地方弹出主菜单项 397 0575 获取工程中的所有窗体名称 398 15.3 其他相关应用技巧 399 0576 锁定计算机 399 0577 启动控制面板 400 0578 如何实现屏幕抓图 401 0579 计算Windows从启动后所运行的总时间率 401 0580 巧用GetSystemMetrics函数 402 0581 显示密码编辑框中的密码 402 0582 添加、删除系统托盘图标 402 0583 如何在系统菜单中添加新项目 403 0584 监测程序多久未被使用 404 第16章 注册表 405 16.1 注册表基本操作 406 0585 创建注册表项 406 0586 删除注册表项 406 0587 向注册表中写入数据 407 0588 读取注册表中的数据 407 0589 列出指定注册表项下全部键值 408 0590 备份与恢复注册表 409 16.2 桌面 410 0591 设置系统墙纸 410 0592 修改桌面“我的电脑”的提示信息 410 0593 如何在桌面的任意位置显示墙纸 411 0594 在任务栏中添加自定义信息 412 16.3 优化系统性能 413 0595 如何实现自动登录 413 0596 如何快速显示窗口 414 0597 优化二级缓存 414 0598 优化系统关机速度 415 0599 禁止用户对虚拟内存的访问 415 16.4 IE浏览器设置 416 0600 设置IE默认首页 416 0601 清空IE网址中的历史记录 416 0602 设计修改IE标题栏和工具栏背景的程序 418 0603 隐藏IE属性中的选项 419 0604 禁止查看网页中的源文件 421 0605 禁止IE播放多媒体文件 421 0606 禁止对IE浏览器设置默认首页 422 16.5 “开始”菜单的相关设置 422 0607 如何在“开始”菜单中隐藏“关机”菜单项 422 0608 如何在“开始”菜单中隐藏“文档”菜单项 423 0609 如何在“开始”菜单中隐藏“运行”菜单项 423 0610 退出系统时清除“文档”中的历史记录 424 0611 禁止文档子菜单记录最近的工作信息 425 16.6 其他设置 426 0612 设计开机欢迎文字 426 0613 防止应用程序窗口失去焦点 426 0614 隐藏“添加/删除Windows组件”按钮 427 0615 隐藏计算机中的盘符 428 0616 禁止使用控制面板 430 0617 禁止使用注册表编辑器 431 0618 通过注册表获取时区信息 431 0619 通过注册表获取系统信息和用户注册信息 432 第17章 Windows相关开发技术 435 17.1 CPU 436 0620 获取CPU频率 436 0621 获取从开机到现在CPU运行的周期数 436 0622 获取CPU名称 437 0623 判断CPU是否支持MMX 438 17.2 系统控制 438 0624 计算机的关闭、重启和注销 438 0625 开关屏幕保护 439 0626 设计更换屏幕保护的程序 440 0627 设计屏幕保护的程序 441 0628 设置屏幕分辨率 442 0629 设置墙纸 443 0630 显示桌面 444 0631 让InputBox也能使用密码掩码 444 0632 控制系统菜单 445 0633 动态改变屏幕的显示模式 446 0634 在桌面上创建指定网址的快捷方式 446 0635 建立批处理文件的快捷方式 447 0636 Windows菜单字体的设置 448 17.3 系统状态栏的相关操作 448 0637 隐藏和显示任务栏 448 0638 隐藏、显示托盘图标 449 0639 隐藏状态栏中的时间 449 0640 如何设置“开始”按钮不可用 450 17.4 获取系统信息 450 0641 查看当前系统版本 450 0642 更改系统日期及时间 451 0643 获取系统字体的列表 452 0644 获取指定盘符中的路径 452 0645 获取系统内存信息 454 0646 如何使用DOS获取计算机的网络信息 454 17.5 获取Windows的相关文件 455 0647 按文件类型获取其图标 455 0648 监控剪贴板的文字内容 456 0649 输出Shell32.dll的图标 457 0650 从剪贴板中读取图片 458 17.6 Windows消息的相关控制 458 0651 程序最小时在任务栏中显示托盘图标 458 0652 动态最小化到状态栏托盘区 459 0653 屏幕取图(包含鼠标) 459 17.7 其他相关技巧 460 0654 如何让电脑发出滴声 460 0655 打开记事本和计算器 461 0656 对汉字输入法进行操作 461 0657 在组件中执行控制面板 462 0658 在Windows界面上不显示程序 464 0659 清空回收站 464 0660 给桌面加上一层阴影 465 第18章 程序应用控制 467 第19章 数据库技术 485 第20章 SQL查询相关技术 523 第21章 打印与报表技术 583 第22章 图表技术 617 第23章 硬件相关技巧 633 第24章 网络开发技术 645 第25章 Web相关技巧 689 第26章 安全技术 707 第27章 程序调试与错误处理 717 第28章 程序打包与安装 727 第29章 第三方控件 737
4.78MB
Delphi7应用编程150例
2018-04-05Delphi 7应用编程150例 编辑 《Delphi7应用编程150例》是2003年出版的图书,作者是尹立民。 [1] 书 名 Delphi 7应用编程150例 作 者 尹立民 ISBN 7505389475 页 数 420 出版时间 2003 年8月 开 本 16 丛书名 编程沙龙丛书 目录 1 内容简介 2 目录 内容简介编辑 本书主要针对具有一定Delphi基础知识的读者,全书通过150个实例全面、深入地介绍了用Delphi 7开发应用程序的常用方法和技巧。全书共分为8章,主要讲解了用Delphi 7进行界面效果处理、图像处理、图形与多媒体开发、系统功能控制、文件处理、网络与数据库开发,以及组件应用等内容。这些实例简单实用、典型性强、功能突出,很多实例使用的技术稍加扩展可以解决同类问题。使用本书最好的方法是通过学习掌握实例中的技术或技巧,然后使用这些技术尝试实现更复杂的功能并应用到更多方面。 本书内容丰富、结构合理,可以作为广大编程爱好者提高编程水平的自学教材,也可以供程序开发人员和大专院校有关师生作为参考资料。 目录编辑 第1章 界面开发实例 1 实例1 实时的透明窗体 2 实例2 设计多边形窗体 4 实例3 为窗体绘制渐变背景 6 实例4 使窗体的标题栏闪烁 11 实例5 分割窗体的实现 13 实例6 动态抓取屏幕 15 实例7 编写带参数的应用程序 19 实例8 在程序运行过程中动态添加菜单 20 实例9 在菜单中加入图标 25 实例10 在窗体的系统菜单中添加选项 26 实例11 设置整个程序的快捷键 29 实例12 窗体的动画效果 31 实例13 无标题窗体的拖动 34 实例14 动态设置应用程序的图标 37 实例15 动态设置窗体的光标 40 实例16 用获取路径的方法得到圆形窗体 43 实例17 隐藏windows的工具栏和桌面图标 46 实例18 让程序在状态栏上显示 49 实例19 改变菜单中的字体 53 .实例20 设计字形窗体 55 实例21 透明图像效果的窗体 59 第2章 图形图像处理实例 63 实例22 图像的特效显示 64 实例23 设置窗体的平铺背景 67 实例24 在标题栏上绘制按钮 68 实例25 不用外部控件显示gif动画 74 实例26 将窗体保存为位图文件 76 实例27 显示动画光标 78 实例28 提取可执行文件内部所有图标 80 实例29 轻松实现大图像浏览 82 实例30 图片的淡入淡出效果 84 实例31 翻转图片 88 实例32 抓取并显示本程序中的鼠标形状 91 实例33 抓取并显示其他程序中的鼠标形状 93 实例34 在tpanel组件中显示图像 94 实例35 图像放大镜的制作 98 实例36 不用代码实现窗体和图像的双重透明 100 实例37 ico文件转换为bmp文件 101 实例38 jpg与bmp相互转换 105 实例39 形象的动态三维饼图 108 实例40 空心字体效果演示 111 实例41 设置桌面图标的前景色和背景色 113 实例42 对图像进行浮雕处理 117 实例43 旋转文字效果演示 121 实例44 实现类似office助手的小精灵 125 第3章 图形与多媒体处理实例 131 实例45 使用位图画刷 132 实例46 形象的电子表 135 实例47 正弦曲线的绘制实例 138 实例48 绘制bezier曲线 141 实例49 跳跃的曲线 144 实例50 利用tshape组件完成绘图操作 147 实例51 演示pen对象的各种风格 151 实例52 演示brush对象的各种风格 154 实例53 循环播放一个声音文件 157 实例54 播放无声音的avi动画 158 实例55 播放有声音的avi动画 160 实例56 播放midi音乐 162 实例57 多边形的绘制 164 实例58 绘制艺术图案 166 第4章 系统控制编程实例 171 实例59 使程序不在系统任务条上出现 172 实例60 设置墙纸 173 实例61 动态修改显示器分辨率 177 实例62 是窗体始终在最前面 180 实例63 同时只能够运行一个程序 180 实例64 禁止用户关闭操作系统 182 实例65 重启动和关闭计算机 183 实例66 枚举可用字体 187 实例67 获取和设置系统时间 189 实例68 建立快捷方式 193 实例69 获得windows 2000中用户名称列表 197 实例70 使其他的程序暂停(1) 202 实例71 使其他的程序暂停(2) 205 实例72 获取系统中可用的驱动器列表 207 实例73 列举进程 210 实例74 调用指定的windows程序 214 实例75 模拟鼠标操作 218 实例76 模拟键盘操作 220 实例77 在win98中完全隐藏程序 223 实例78 设置窗体右上角各按钮 224 实例79 得到计算机名称 226 实例80 监视剪贴板 227 实例81 系统快捷菜单的修改 230 实例82 处理组合键 233 第5章 文件技术编程实例 237 实例83 获取驱动器容量 238 实例84 查看驱动器类型 240 实例85 文件关联 242 实例86 获取文件属性 245 实例87 将文件删除到回收站中 249 实例88 清空回收站 252 实例89 拷贝文件 255 实例90 创建和删除文件夹 255 实例91 读写ini文件实例 258 实例92 目录的拷贝操作 261 实例93 更改文件的扩展名 263 实例94 获取驱动器图标 265 实例95 文本文件的逐行读取 268 实例96 启动控制面板中的内容 271 实例97 获取指定文件的图标 273 实例98 根据环境变量得到系统路径信息 274 实例99 记录文件的读写 278 实例100 获得文件路径信息 286 实例101 从文件中存取组件 288 第6章 网络技术开发实例 295 实例102 扫描本地计算机打开的端口 296 实例103 在局域网内传递消息 299 实例104 获取本地计算机的名称和ip地址 301 实例105 根据ip地址得到主机名 304 实例106 列举正在运行的ie 307 实例107 如何映射虚拟盘 312 实例108 启动一个新的ie并控制其运行 314 实例109 利用tudpsocket组件获取ip地址 318 实例110 制作一个网页 319 实例111 使用代理服务器(需要重新启动ie) 322 实例112 使用代理服务器(不需要重新启动ie) 325 实例113 屏蔽数据库的密码对话框 327 实例114 在程序中执行sql语句 328 实例115 利用向导创建报表 332 实例116 利用ttable组件创建paradox表 334 第7章 数据库处理实例 337 实例117 利用sql语句创建paradox表 338 实例118 将foxpro表转换为paradox表 339 实例119 统计记录的数目 341 实例120 利用tdbchart显示图表数据 343 实例121 在数据库中存取声音 345 实例122 在数据库中存取图像 352 实例123 存取blob字段 356 实例124 利用dao创建数据库 360 实例125 调用com对象创建数据库 362 实例126 在tlistview中显示数据库 364 实例127 access数据库的多表查询 367 实例128 paradox数据库的多库查询 369 实例129 在access数据库中模糊查询 371 实例130 在tdbgrid中显示多个数据库 374 第8章 组件应用实例 377 实例131 实现trichedit中的整行选中 378 实例132 制作类似ie的工具栏 380 实例133 在状态栏里面加入进度条 381 实例134 与word无缝连接 383 实例135 利用tvsspell组件制作语法检查器 385 实例136 利用tf1book制作电子表格 388 实例137 使tmemo自动滚行 390 实例138 动态创建按钮 392 实例139 设置tstringgrid中单元格的颜色 394 实例140 设置ttreeview中每个节点的颜色 396 实例141 利用tchartfx制作饼图 398 实例142 设置tlistview的显示风格 400 实例143 使tedit只接受数字输入 402 实例144 自定义tedit的允许输入字符 404 实例145 枚举窗体上的组件 406 实例146 自动停靠的菜单 408 实例147 制作渐变填充的进度条 409 实例148 自动滚动的工具栏 411 实例149 在tlistview中拖动图标 412 实例150 在组件中显示竖排的文本 416 参考资料
19.7MB
delphi 开发经验技巧宝典源码05
2010-08-12第1章 开发环境 1 1.1 环境设置 2 0001 如何定制工具栏 2 0002 如何定制组件面板 2 0003 如何定制代码编辑器 3 0004 保存自定义开发环境桌面 4 1.2 组件安装 4 0005 安装ActiveX组件 4 0006 安装不同类型的第三方组件 5 0007 在Delphi中加载QReport报表组件 7 1.3 创建DLL文件 8 0008 生成一个DLL文件 8 0009 调用DLL文件 8 1.4 窗体相关操作 9 0010 将组件置前/置后 9 0011 如何锁定窗体中的组件 9 0012 如何改变窗体上的网格大小 10 0013 组件的选取 10 0014 改变窗体Hint背景色 11 0015 以原始风格显示控件的滚动条 11 0016 使用快捷键打开对象观察器中的“...”按钮 11 1.5 其他相关应用技巧 11 0017 安装合适的Delphi版本 11 0018 熟练掌握Delphi中的菜单项 12 0019 构成Delphi项目的主要文件 12 0020 如何在程序中调用帮助文件 12 第2章 语言基础 17 2.1 基础语言 18 0021 如何对代码进行注释 18 0022 Exit语句的使用 18 0023 有效地使用Self对象 19 0024 声明局部变量、类变量和全局变量 19 0025 有效利用条件语句和嵌套条件语句 20 0026 有效利用循环语句和嵌套循环语句 21 0027 使用GoTo跳转语句 21 0028 有效使用Case Else语句 22 0029 保证数组循环的安全性 22 0030 获取枚举值列表 23 0031 使两个变量位于同一个地址空间 23 0032 利用动态数组作为函数参数 24 0033 调用Register过程的注意事项 24 0034 在Delphi中禁止使用result 24 0035 如何在Delphi中录制代码 24 0036 如何编译器会提示数组太大时的处理技巧 25 0037 如何对超大数字进行计算 25 0038 强类型的定义及使用 25 2.2 类、函数、重载 25 0039 在函数的定义中正确使用var 25 0040 如何实现类的转形 26 0041 如何实现数据加密与解密算法 27 0042 如何继承父类的方法 27 0043 如何实现函数重载 28 0044 类中多态的应用 28 0045 将函数作为参数进行调用 30 2.3 参数与指针 30 0046 通过指针读写数据 30 0047 在过程中使用常量参数 31 0048 在过程中使用数组参数 31 0049 在过程中使用默认参数 31 2.4 其他 32 0050 如何在字符串中使用单引号 32 0051 结构对象的定义与使用 32 0052 使用数组为TlistView组件动态创建字段 33 0053 解决程序的死锁问题 34 0054 怎样实现接口委托 34 0055 在Delphi中使用汇编 35 0056 为程序设置版本和帮助信息 36 0057 动态链接库的创建与调用 36 0058 String类型和Pchar类型的用法和区别 36 0059 如何捕获异常 37 0060 TStrings与TStringList的使用 37 0061 如何实现窗体文件转换 37 第3章 程序算法 39 3.1 计算类算法 40 0062 如何计算1~100的阶乘和 40 0063 如何实现最大公约数 40 0064 如何实现最小公倍数 41 0065 如何实现裴波纳契数列求和 42 0066 如何实现百钱百鸡算法 42 0067 如何实现哥德巴赫猜想 43 0068 如何实现韩信点兵 44 0069 求水仙花数的算法 44 0070 求1000以内的完数 45 0071 如何计算x的y次方 46 3.2 复杂计算类算法 46 0072 如何实现金额大小写转换的算法 46 0073 如何计算时钟的指针位置 47 0074 如何计算汉字笔划 48 0075 如何计算两个日期之间的天数、周数、分钟数 49 0076 如何实现数字斜塔 50 0077 如何实现杨辉三角 51 0078 如何实现CRC算法 52 0079 如何将B转换成GB、MB和KB 52 3.3 判断及转换类算法 53 0080 判断IP地址是否合法的算法 53 0081 判断身份证是否合法的算法 54 0082 判断素数的算法 55 0083 将字符串转换成Unicode格式 56 3.4 排序及分组类算法 56 0084 利用回溯法将一组数平均分成两组 56 0085 利用冒泡法对数字进行排序 58 0086 用回溯法找出n个自然数中取r个数的所有组合 58 0087 0~N位数的任意组合 59 0088 在数组中快速查找近似值 60 0089 实现直接插入法排序 61 第4章 函数应用 63 4.1 字符串处理函数 64 0090 使用Uppercase函数将小写字母转换为大写字母 64 0091 使用Lowercase函数将大写字母转换为小写字母 64 0092 使用Copy函数获取一个字符串的子串 64 0093 使用LeftStr函数从左边取得指定个数的字符串 65 0094 使用RightStr函数从右边取得指定个数的字符串 65 0095 使用Length函数取得一段字符串的长度 65 0096 使用Pos函数返回子字符串第一次出现的索引值 66 0097 使用Quotedstr函数返回字符串的引证串 66 0098 使用Trim函数删除字符串的首尾空格 66 4.2 数学计算函数 67 0099 使用Abs函数返回指定数值的绝对值 67 0100 使用Mod函数计算1~10之间的奇数和 67 0101 使用Div函数做整除操作 68 0102 使用DivMod函数返回两个操作数相除的商和余数 68 0103 使用Power函数返回底数的任何次幂 69 0104 使用Round函数将实数四舍五入为整数 69 0105 使用Sqr函数计算指定数的平方 70 0106 使用Mean函数计算平均数 70 0107 求最大浮点数和最小浮点数 71 4.3 序数函数 72 0108 使用Odd函数改变StringGrid组件的奇偶行颜色 72 0109 使用Pred函数获取顺序类型表达式的前驱 72 0110 使用Succ函数获取顺序类型表达式的后继 73 4.4 进制转换相关函数 73 0111 如何将二进制转换为八进制 73 0112 如何将二进制转换为十进制 75 0113 如何将二进制转换为十六进制 76 0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数返回实数的整数部分 80 0119 使用IntToStr函数将整数转换为字符串类型 80 0120 使用StrToInt函数将字符串转换成整数 81 0121 使用StrToBool函数将字符串转换为布尔类型 81 4.6 对话框函数 81 0122 使用InputBox函数显示输入对话框 81 0123 使用MessageDlg函数显示不同风格的对话框 81 0124 使用CreateMessageDialog函数创建消息对话框 82 0125 如何在指定的位置显示信息框 82 0126 使用ShowException函数显示一个异常信息 82 4.7 异常处理函数 83 0127 将错误编号转换为错误信息字符串 83 0128 使用ExceptAddr函数获得异常被抛出的地址 83 0129 格式化异常处理信息 84 4.8 图形图像相关函数 85 0130 将TColor类型的颜色值转换为RGB值 85 0131 使用Bounds函数获得某矩形的TRect 86 0132 从已有的位图上创建位图 86 0133 使用Frame3D过程在画布上创建3D效果 87 4.9 文件操作的相关函数 87 0134 使用CopyFile函数复制文件 87 0135 使用CreateDir函数创建一个目录 88 0136 使用FileCreate函数创建一个图形文件 88 0137 使用GetCurrentDir函数返回当前目录 89 0138 在指定路径中搜索指定的文件 89 0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 其他函数 91 0143 使用Random函数产生7个随机数 91 0144 使用DiskFree函数返回磁盘驱动器的剩余空间 91 0145 如何使用Printer函数 92 0146 使用SetPriner函数修改打印机信息 93 0147 使用BeginThread函数产生线程 94 0148 使用EndThread过程终止一个线程 95 0149 使用ForegroundTask函数检测线程是否运行 96 第5章 字符与字符串处理技术 99 5.1 ASCII码与编码转换 100 0150 如何获得汉字的区位码 100 0151 通过区位码获取汉字 100 0152 根据ASCII码获得字母 101 0153 获得字母的ASCII码 101 5.2 字符中的转换 101 0154 如何将数字转换成字符串 101 0155 如何将字符串全部大写 102 0156 如何将字符串全部小写 102 0157 如何将字符串中的任意字符转换成大写 103 0158 如何将字符串中的任意字符转换成小写 103 0159 如何将字符串首字母大写 104 5.3 字符串的相关判断 105 0160 判断某一字符是否在字符串中 105 0161 判断字符串是由数字、大写字母或小写字母组成 105 0162 判断字符串中的某一字符是否大写 106 0163 判断字符串中是否有小写字母 107 0164 判断字符串中是否有指定的字符 107 0165 判断字符是否可以转换成整数 108 0166 判断字符中是否有汉字 108 0167 判断字符中是否有双字节 109 0168 判数输入的字符串是否为整数 109 5.4 字符串的个数问题 110 0169 获取文字中英文单词的个数 110 0170 如何统计两个子字符串之间的字符的个数 111 0171 判断字符在字符串中出现的个数 111 0172 在语句中查找汉字的个数 112 0173 如何统计中英文个数 112 5.5 字符串的其他操作 113 0174 返回指定字符串的起始位置 113 0175 获得汉字的拼音简码 113 0176 如何将字符串翻转 114 0177 截取指定位置的字符串 115 0178 清除字符串中指定的字符 115 0179 如何实现文本的加密与解密 116 0180 提取字符串中指定子字符串后的字符串 117 0181 替换指定的字符串 117 0182 在文本中删除指定的汉字或句子 118 0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 121 0185 获得系统当前时间 122 0186 获得系统当前日期 122 0187 将日期时间格式化为指定格式 122 0188 计算两个日期之间相差的天数 123 0189 根据指定日期返回星期几 123 0190 将日期转换为字符串 124 0191 判断日期是否改变 124 0192 判断字符串是否为日期或时间 125 0193 获得指定月的最后一天 127 0194 在指定的日期上加上3月 127 0195 实现倒计时功能 128 0196 判断指定年份是否为闰年 129 0197 调用系统设置日期对话框 129 0198 将秒数转化成hh:mm:ss格式 129 0199 修改操作系统日期 130 0200 获取全球标准时间 130 第7章 数据处理技术 133 7.1 组件数据处理技术 134 0201 让两个文本框中的内容同时改变 134 0202 格式化DataGrid表格中的数据 134 0203 控制文本框只能录入数字 135 0204 如何在DataGrid中嵌入LookupComboBox 135 0205 在DBGrid中设置不滚动的列 136 0206 如何在DBGrid中实现复制、粘贴功能 137 0207 在DBGrid中将选中的多行删除 137 0208 在DataGrid中如何使标题文字居中 138 0209 如何把ListBox中的内容拖曳到另一个ListBox中 139 0210 把DBGrid中的数据赋给数组 139 0211 如何获取DataGrid单元格中的内容 140 0212 如何锁定文本框中的文本 141 0213 如何设置光标到文本框的末尾 141 0214 如何改变表格列的矩形区域颜色 142 0215 控制在文本框中只能输入两位小数 143 0216 如何把选择的文件图标显示在列表中 143 0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何把ADO中的数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除数据时需要注意的问题 147 0222 把Excel中的数据保存到数据库中 147 0223 怎样弹出ConnectionString设置页 148 0224 利用ADO获取DELETE后所影响的记录数 148 7.3 业务实现数据处理技术 149 0225 随机产生中奖号码 149 0226 使用快捷键保存数据 150 0227 密码只允许输入8位或超过8位 150 0228 如何获取汉字拼音简码 151 0229 根据用户输入需求自动调整输入法 152 0230 根据生日自动计算年龄 153 0231 实现找零功能 153 0232 设计带记忆的数据录入窗口 154 0233 在窗体关闭时提示有未保存的数据 155 0234 设置只允许3次密码错误 156 0235 如何读取Word中的文本 156 0236 通过身份证号获取年龄 157 0237 如何实现一个应用程序只能打开一个进程 158 7.4 其他数据处理技术 159 0238 对计算结果四舍五入 159 0239 获取一个字符的ASCII值 159 0240 判断字符串中是否有文字符 160 0241 如何从字符串中提取数字 160 0242 判断内容是否为日期 161 0243 使字符串显示为自定义的格式 161 0244 实现拼音大小写转换 162 0245 怎样实现数据输入为空提示 162 0246 读取Memo1中指定行的文本信息 163 0247 自动调节ComboBox列表宽度 164 0248 如何转换数据库表为CSV文件格式 164 0249 删除文本文件中的多余空格 165 0250 创建和使用资源文件 166 第8章 窗体与界面设计 169 8.1 窗体标题栏控制 170 0251 如何实现标题栏闪烁的窗体 170 0252 如何实现不可移动的窗体 170 0253 如何在不使用标题栏的情况下移动窗体 170 0254 使窗体标题栏文字右对齐 170 0255 在窗体标题栏上添加按钮 171 0256 取消窗体标题栏的关闭按钮 172 0257 如何实现闪动的标题栏文字 172 0258 怎样动态修改窗体图标 172 8.2 窗体的动态显示 173 0259 如何实现QQ窗体 173 0260 实现窗体的淡入淡出 173 0261 实现窗体的幻灯片效果 174 0262 实现窗体的伸展效果 174 0263 实现窗体的下拉效果 175 0264 以放大的圆形显示窗体 175 8.3 MDI窗体 176 0265 在MDI中显示动态窗体 176 0266 在MDI中真正关闭子窗体 176 0267 给MDI主窗体添加背景 176 0268 动态显示像MDI的子窗体 177 0269 打开MDI窗体时其他窗体会显示出来的原因 177 8.4 窗体的大小及位置 178 0270 控制窗体的最大化、最小化 178 0271 无标题栏时改变窗体的大小 178 0272 无标题栏最大化时不覆盖任务栏 178 0273 限制窗体的大小 179 0274 重定义去掉标题栏并最大化窗体 179 0275 使窗体一直居中 179 0276 控制窗体不可移动 180 0277 限制窗体的最大化 180 0278 使窗体自动居中 181 8.5 窗体的特殊形状 181 0279 实现窗体颜色渐变 181 0280 如何使窗体透明 182 0281 制作特殊形状的窗体 182 0282 为窗体增加边框 183 0283 显示圆角窗体 183 0284 制作多边形窗体 184 0285 以文字的形式显示窗体 185 0286 如何实现窗体半透明 185 0287 制作立体窗口阴影效果 186 8.6 工具栏、状态栏及下拉列表 187 0288 制作带历史信息的菜单 187 0289 制作可以拉伸的菜单界面 188 0290 制作类似于XP颜色的下拉页 188 0291 在系统菜单中添加菜单项 189 0292 在状态栏中放置其他组件 189 0293 改变下拉列表的文字颜色 190 8.7 窗体的特殊效果 191 0294 如何动态分割窗体 191 0295 如何将应用程序背景与桌面融合 191 0296 如何在屏幕最前面显示滚动字幕 192 0297 制作磁性窗体 193 0298 制作浮动窗口 194 0299 制作另类提示窗口 195 0300 将窗体放入Panel组件中 196 8.8 窗体的快速操作 197 0301 使窗体始终在最上面 197 0302 显示所有的可视化窗体 197 0303 关闭所有窗体 198 0304 关闭多余的窗体 198 8.9 窗体的调用方法 199 0305 在关闭窗体前显示提示对话框 199 0306 创建一个启动闪现窗口 199 0307 动态创建窗体 200 0308 动态创建窗体和释放窗体 200 0309 在显示主窗体前显示登录窗体 201 8.10 窗体相关操作的其他技巧 202 0310 无窗体的半透明控件 202 0311 修改提示字体及颜色 202 0312 在窗口中显示动态画布 202 0313 如何实现中英文切换 203 0314 在一个子窗体中获得另一个子窗体的组件信息 204 第9章 组件技术 205 9.1 优化组件外观 206 0315 利用TXPManifest组件美化程序界面 206 0316 使用Canvas美化列表项 206 0317 利用Canvas在Chart组件中画一幅图片 207 0318 如何为TListBox添加水平滚动条 207 0319 折行显示按钮标题 208 0320 为组件制作立体效果 208 0321 利用ActiveX控件实现Office助手 209 9.2 菜单、工具栏、状态栏 209 0322 在PopupMenu中动态加入新菜单 209 0323 在状态栏中显示进度条组件 210 0324 为工具栏添加背景图片 210 9.3 文本框及列表框的应用技巧 211 0325 使TEdit组件获取焦点后将文本全部选中 211 0326 使TEdit组件获取焦点时改变文本框颜色 211 0327 查找列表框中的选项 212 0328 在ComboBox组件中显示QQ头像 212 0329 为Edit组件添加列表选择框 213 0330 在ListBox中显示位图 214 0331 获取TMemo中的可见行数 214 0332 如何在Memo组件上实现光标定位 215 0333 控制Memo组件中的滚动条 216 9.4 数据感知控件应用技巧 217 0334 如何在DBGrid中显示不同的记录颜色 217 0335 单击DBGrid标题进行排序 218 0336 使DBGrid支持鼠标滚轮 218 0337 在DBGrid中添加静态字段 218 0338 在DBGrid中实现下拉列表 219 0339 改变DBGrid被选中时的颜色 220 0340 用TDBNavigator组件删除数据显示自定义信息 220 0341 使用Excel组件将数据导出为Excel格式 221 9.5 表格组件使用技巧 222 0342 将StringGrid中指定行的数据添加到Memo中 222 0343 使TStringGrid组件自动移动及增加行 223 0344 单击StringGrid列进行排序 224 9.6 TreeView组件使用技巧 225 0345 如何动态创建TreeView节点 225 0346 如何将TreeView中的节点全部选中 226 0347 将菜单项添加到Tree View中 226 0348 使TreeView组件与数据库关联 227 0349 应用TTreeView组件遍历磁盘目录 228 0350 在TreeView组件中实现拖曳操作 229 9.7 ListView组件使用技巧 229 0351 向TListView组件中添加项目 229 0352 删除ListView中的选项 230 0353 实现ListView滚动 230 0354 将数组中的数值遍历到ListView中 231 0355 ListView组件的高级应用 231 0356 使ListView的不同列显示不同颜色 232 0357 对ListView中的项目进行汇总 233 0358 单击列表标题进行排序 233 9.8 应用组件制作导航 234 0359 用ListView制作导航界面 234 0360 利用Panel组件制作QQ导航栏 235 9.9 其他组件使用技巧 237 0361 动态创建组件 237 0362 创建控件数组 237 0363 用组件来移动窗体 238 0364 实现组件的批量访问 238 0365 使同类组件进行同样的操作 239 0366 使用Ttrackbar组件改变画布颜色值 239 0367 设置TopAxis属性在图表上面显示标签 240 0368 动态向ImageList组件中添加图标 240 0369 设置DateTimePicker组件的外观颜色 241 0370 利用Timer组件显示当前系统时间 241 0371 获取用户在Month Calendar组件中选择的日期 242 0372 在Panel上播放视频文件 242 0373 Win3.1组件的综合应用 242 0374 制作一个信息上传控件 243 0375 使用Gauge组件制作启动程序 245 第10章 鼠标和键盘 247 10.1 鼠标和键盘 248 0376 鼠标和键盘在一定时间没有动作时关闭程序 248 0377 如何锁定鼠标和键盘 248 0378 如何实现键盘鼠标动作记录与回放 249 10.2 鼠标的相关操作 250 0379 将鼠标锁定在指定范围内 250 0380 模拟鼠标操作 251 0381 显示或隐藏鼠标 252 0382 获取鼠标按键状态 252 0383 获取窗口标题 253 0384 单击鼠标左键弹出右键菜单 253 0385 改变当前鼠标的样式 254 0386 模拟键盘的复制与粘贴 255 0387 如何定义自己的鼠标事件 255 0388 利用鼠标绘制矩形焦点 256 0389 将鼠标移动到指定控件 257 0390 ANI动画鼠标的制作 257 0391 自制动画鼠标 258 0392 获取鼠标滑轮的消息 258 0393 制作鼠标跟随 259 0394 利用鼠标滑轮查看组件中的数据 259 10.3 键盘的相关操作 260 0395 按回车键移动焦点 260 0396 如何屏蔽Win键 261 0397 如何控制键盘指示灯 261 0398 如何屏蔽Sleep和Wake Up键 262 0399 设置自己的热键 262 0400 用键盘钩子封锁Win dows热键 263 0401 如何用Esc键退出程序 263 0402 在TDBGrid中用回车键移至下一个字段 264 0403 用Esc键停止循环 264 0404 如何判断左右 Shift 按键 265 0405 替换一个键盘按钮 265 10.4 鼠标的其他应用技巧 266 0406 实现超级链接效果 266 0407 用鼠标隐藏显示窗口(仿QQ) 267 0408 获取鼠标的桌面坐标 267 0409 用鼠标双击TStatusBar时判断是哪一个Panels 268 0410 使Canvas上直线的一个端点跟着鼠标跑 268 第11章 文件与文件管理 271 11.1 文件及文件夹的创建和移动 272 0411 创建并删除文件 272 0412 如何移动文件 272 0413 将文件放入回收站 273 0414 复制文件夹到其他路径中 273 0415 用API函数进行文件的复制 274 0416 用内存块复制文件 275 0417 用文件流对文件进行复制 275 11.2 文件的打开及读取 276 0418 打开指定格式的文件 276 0419 获取文件中指定符号中的字符串 277 0420 如何输出文本内容 277 0421 根据文件名中的部分名称打开该文件 278 0422 怎样合并文件 280 0423 创建和使用资源文件 281 11.3 文件及文件夹的相关属性 281 0424 如何获取文件的访问时间 281 0425 获取文件的剩余空间 282 0426 获取文件修改时间 283 0427 怎样修改文件属性 283 11.4 文件及文件夹的相关目录 285 0428 得到系统当前目录 285 0429 改变当前目录 285 0430 获取System目录 286 0431 获取Windows目录 286 0432 获取临时文件的目录 287 11.5 文件属性的相关判断 287 0433 判断文件是否被使用 287 0434 判断文件是否存在 288 0435 判断文件是否为文本文件 288 0436 判断文件名是否有效 289 11.6 文件及文件夹的遍历 289 0437 如何查询文件 289 0438 提取文件夹中的文件 291 0439 遍历文件夹下的所有文件(包含子文件夹) 291 11.7 INI文件 292 0440 如何读写INI文件 292 0441 利用INI文件查看工作日志 294 0442 用INI文件创建菜单 295 11.8 文件的其他应用技巧 296 0443 调用帮助文件 296 0444 对文件进行比较 296 0445 更改文件名称 297 0446 字符网格和文本间转换 297 第12章 磁盘管理 299 12.1 获取磁盘的相关信息 300 0447 获取磁盘总空间 300 0448 获取光盘的盘符 300 0449 获取系统盘符 301 0450 获得光盘的卷标 301 0451 获取磁盘卷标 302 0452 获取磁盘编号 302 0453 获取磁盘详细信息 303 0454 获取硬盘序列号 303 0455 获取驱动器类型 304 0456 获取驱动器列表 304 0457 获取磁盘的文件系统名称、长度及系统标记 305 0458 获取移动硬盘 305 12.2 磁盘设置与操作 306 0459 将文件存到磁盘中 306 0460 如何实现盘格式化 307 0461 打开磁盘时先弹出文本文件 308 0462 怎样进行磁盘碎片整理 308 12.3 磁盘监控与分析 308 0463 判断光驱中是否有光盘 308 0464 如何打开和关闭光驱 309 0465 判断软驱中是否有软盘 310 0466 判断磁盘是否存在 311 第13章 图形图像技术 313 13.1 基本操作 314 0467 对窗体进行刷新 314 0468 在TImage组件上显示透明文字 314 0469 清空TImage组件中的图片 314 0470 生成两个颜色的中间色 315 0471 改变文字的背景颜色 315 13.2 绘制图形 316 0472 制作空心文字 316 0473 如何实现十字光标定位 316 0474 制作旋转的文字 317 0475 波形图的绘制 318 0476 制作动画背景的窗体 319 0477 如何涂抹窗体 320 0478 如何万花筒 320 13.3 图片格式转换 321 0479 ICO转换成位图(BMP) 321 0480 JPG转换成位图(BMP) 322 0481 WMF转换成位图(BMP) 323 0482 位图(BMP)转换成JPG 323 0483 位图(BMP)转换成WMF 324 0484 批量转换图像 324 13.4 颜色格式的转换 326 0485 将TColor换算成RGB 326 0486 将TColor换算成HTML 326 0487 将HTML换算成TColor 327 0488 将CMYK换算成RGB 327 0489 将RGB换算成CMYK 328 0490 将RGB换算成TColor 329 13.5 图片的滤镜效果 329 0491 将图片以灰度形式显示 329 0492 提高图像的亮度 330 0493 图像浮雕效果 331 0494 图片的反色效果 332 13.6 翻转与缩放 333 0495 如何放大和缩小图像 333 0496 实现图形反转 333 0497 如何旋转图像 334 0498 将图像局部放大 335 13.7 图片的动态效果 336 0499 制作百叶窗效果 336 0500 垂直交错显示图像 337 0501 水平交错显示图像 338 0502 制作积木效果 338 0503 制作推拉效果 340 0504 如何实现雨滴式的效果 340 0505 图片颜色逐渐加深 341 13.8 获取及调整图片的像素 342 0506 如何实现定点取色 342 0507 获取指定点的RGB值 343 0508 制作红绿眼镜三维立体画 343 0509 调整图片的RGB对比度 344 0510 图片的加密与解密 345 13.9 图片的处理技术 346 0511 复制局部图片 346 0512 在图片中加入文字 347 0513 如何实现图片扭曲 348 0514 图片的网格效果 350 13.10 图片的存储 350 0515 将BMP图片重画到窗体上 350 0516 将JPG图片重画到窗体上 351 0517 使位图图片透明 352 0518 对大图片的操作 352 13.11 图片的其他应用技巧 353 0519 怎样浏览大图片 353 0520 获取图像信息 353 0521 在图片上平滑移动文字 354 0522 制作随鼠标拖动的图像 355 0523 在TMainMenu组件上绘制图片 356 第14章 动画与多媒体 357 14.1 动画播放 358 0524 单帧动画播放 358 0525 多帧动画播放 358 0526 模拟石英钟 360 0527 设计字幕程序 361 0528 设计屏幕保护程序 361 14.2 文字效果 363 0529 文字的立体字效果 363 0530 文字滚动效果 364 0531 文字旋转效果 365 0532 制作空心文字 365 14.3 播放媒体文件 366 0533 播放AVI文件 366 0534 播放Flash动画 367 0535 播放WAV文件 368 0536 播放GIF文件 368 14.4 利用API播放媒体 369 0537 与多媒体相关的API函数 369 0538 利用sndPlaySound函数播放音频文件 370 0539 利用mciSendString函数播放AVI 370 14.5 音频及视频 372 0540 使电脑发出声音 372 0541 显示MP3文件的播放时间 372 0542 显示文件的播放进度 373 0543 循环播放媒体文件 374 0544 显示AVI文件的播放帧数 375 0545 指定视频显示窗口 375 0546 全屏播放视频文件 376 0547 设计一个精美的播放器 377 0548 播放背景音乐 380 0549 利用RealPlayer播放器播放音乐 381 14.6 媒体控制 382 0550 如何实现静音与声道控制 382 0551 调用声音控制对话框 383 0552 使播放的Flash随窗口大小改变 383 0553 打开和关闭光驱 383 第15章 API函数 385 15.1 操作系统 386 0554 关闭显示器 386 0555 获取系统启动模式 386 0556 使程序不出现在任务栏上 387 0557 修改系统时间 387 0558 修改系统颜色 388 0559 使用API函数拨号 389 0560 获取内存使用状态的信息 389 0561 清空回收站 390 0562 设置系统日期 390 0563 如何设定屏幕分辨率设定 391 0564 修改系统的刷新率 391 0565 隐藏桌面图标 392 0566 获取Windows主题文件 392 15.2 窗体 393 0567 利用API创建窗体 393 0568 利用API创建画刷 394 0569 利用API绘制弧形 394 0570 利用API控制窗体显示 395 0571 制作闪动标题的窗体 396 0572 拖动无标题栏窗体 396 0573 获取拖动到窗体中的文件路径 396 0574 在窗口的任意地方弹出主菜单项 397 0575 获取工程中的所有窗体名称 398 15.3 其他相关应用技巧 399 0576 锁定计算机 399 0577 启动控制面板 400 0578 如何实现屏幕抓图 401 0579 计算Windows从启动后所运行的总时间率 401 0580 巧用GetSystemMetrics函数 402 0581 显示密码编辑框中的密码 402 0582 添加、删除系统托盘图标 402 0583 如何在系统菜单中添加新项目 403 0584 监测程序多久未被使用 404 第16章 注册表 405 16.1 注册表基本操作 406 0585 创建注册表项 406 0586 删除注册表项 406 0587 向注册表中写入数据 407 0588 读取注册表中的数据 407 0589 列出指定注册表项下全部键值 408 0590 备份与恢复注册表 409 16.2 桌面 410 0591 设置系统墙纸 410 0592 修改桌面“我的电脑”的提示信息 410 0593 如何在桌面的任意位置显示墙纸 411 0594 在任务栏中添加自定义信息 412 16.3 优化系统性能 413 0595 如何实现自动登录 413 0596 如何快速显示窗口 414 0597 优化二级缓存 414 0598 优化系统关机速度 415 0599 禁止用户对虚拟内存的访问 415 16.4 IE浏览器设置 416 0600 设置IE默认首页 416 0601 清空IE网址中的历史记录 416 0602 设计修改IE标题栏和工具栏背景的程序 418 0603 隐藏IE属性中的选项 419 0604 禁止查看网页中的源文件 421 0605 禁止IE播放多媒体文件 421 0606 禁止对IE浏览器设置默认首页 422 16.5 “开始”菜单的相关设置 422 0607 如何在“开始”菜单中隐藏“关机”菜单项 422 0608 如何在“开始”菜单中隐藏“文档”菜单项 423 0609 如何在“开始”菜单中隐藏“运行”菜单项 423 0610 退出系统时清除“文档”中的历史记录 424 0611 禁止文档子菜单记录最近的工作信息 425 16.6 其他设置 426 0612 设计开机欢迎文字 426 0613 防止应用程序窗口失去焦点 426 0614 隐藏“添加/删除Windows组件”按钮 427 0615 隐藏计算机中的盘符 428 0616 禁止使用控制面板 430 0617 禁止使用注册表编辑器 431 0618 通过注册表获取时区信息 431 0619 通过注册表获取系统信息和用户注册信息 432 第17章 Windows相关开发技术 435 17.1 CPU 436 0620 获取CPU频率 436 0621 获取从开机到现在CPU运行的周期数 436 0622 获取CPU名称 437 0623 判断CPU是否支持MMX 438 17.2 系统控制 438 0624 计算机的关闭、重启和注销 438 0625 开关屏幕保护 439 0626 设计更换屏幕保护的程序 440 0627 设计屏幕保护的程序 441 0628 设置屏幕分辨率 442 0629 设置墙纸 443 0630 显示桌面 444 0631 让InputBox也能使用密码掩码 444 0632 控制系统菜单 445 0633 动态改变屏幕的显示模式 446 0634 在桌面上创建指定网址的快捷方式 446 0635 建立批处理文件的快捷方式 447 0636 Windows菜单字体的设置 448 17.3 系统状态栏的相关操作 448 0637 隐藏和显示任务栏 448 0638 隐藏、显示托盘图标 449 0639 隐藏状态栏中的时间 449 0640 如何设置“开始”按钮不可用 450 17.4 获取系统信息 450 0641 查看当前系统版本 450 0642 更改系统日期及时间 451 0643 获取系统字体的列表 452 0644 获取指定盘符中的路径 452 0645 获取系统内存信息 454 0646 如何使用DOS获取计算机的网络信息 454 17.5 获取Windows的相关文件 455 0647 按文件类型获取其图标 455 0648 监控剪贴板的文字内容 456 0649 输出Shell32.dll的图标 457 0650 从剪贴板中读取图片 458 17.6 Windows消息的相关控制 458 0651 程序最小时在任务栏中显示托盘图标 458 0652 动态最小化到状态栏托盘区 459 0653 屏幕取图(包含鼠标) 459 17.7 其他相关技巧 460 0654 如何让电脑发出滴声 460 0655 打开记事本和计算器 461 0656 对汉字输入法进行操作 461 0657 在组件中执行控制面板 462 0658 在Windows界面上不显示程序 464 0659 清空回收站 464 0660 给桌面加上一层阴影 465 第18章 程序应用控制 467 第19章 数据库技术 485 第20章 SQL查询相关技术 523 第21章 打印与报表技术 583 第22章 图表技术 617 第23章 硬件相关技巧 633 第24章 网络开发技术 645 第25章 Web相关技巧 689 第26章 安全技术 707 第27章 程序调试与错误处理 717 第28章 程序打包与安装 727 第29章 第三方控件 737
-
下载
EY-the-rise-of-fintech-in-china.pdf
EY-the-rise-of-fintech-in-china.pdf
-
下载
tpe40drv_win764.exe
tpe40drv_win764.exe
-
下载
89-FPGA看门狗设计.7z
89-FPGA看门狗设计.7z
-
下载
MidToPost.h
MidToPost.h
-
下载
【知识图谱研究综述】知识图谱构建技术.xmind
【知识图谱研究综述】知识图谱构建技术.xmind
-
下载
三维景观的生成及漫游.zip
三维景观的生成及漫游.zip
-
下载
卓易信息:江苏卓易信息科技股份有限公司2020年年度报告.PDF
卓易信息:江苏卓易信息科技股份有限公司2020年年度报告.PDF
-
下载
苏文电能:首次公开发行股票并在创业板上市招股说明书.PDF
苏文电能:首次公开发行股票并在创业板上市招股说明书.PDF
-
下载
EyouCMS-1.5.1-UTF8-SP3.zip
EyouCMS-1.5.1-UTF8-SP3.zip
-
下载
融捷健康:2020年年度报告.PDF
融捷健康:2020年年度报告.PDF
