具体描述
作者简介
目录信息
1.1Delphi 5简介
1.2Delphi 5集成开发环境
1.2.1快捷工具栏(Speed Bar)
1.2.2组件模板(Component Palette)
1.2.2.1多页次组件模板
1.2.2.2组件模板的分类
1.2.2.3如何加入组件
1.2.3对象监视器(Object Inspector)
1.2.4程序代码编辑器(Code Editor)
1.2.5程序代码测览器(Code Explorer)
1.2.6窗体(Form)
1.3鼠标右键功能选择菜单(Popup Menus)
1.4自定义桌面设置
1.5预定工作表(To-DoList)
1.6如何取得更多的相关信息
1.6.1Delphi 5使用手册
1.6.2Delphi 5在线帮助
1.6.3INPRISEWebSite
1.6.4Delphi深度历险网站
1.6.5加入DelphiChart
2Delphi 5程序结构
2.1三秒钟完成第一个程序
2.2了解工程(Project)
2.2.1什么是工程(Project)
2.2.2工程文件(.DPR)
2.2.3窗体文件(.DFM)
2.2.4程序单元文件(.PAS)
2.3使用工程管理器(Project Manager)
2.4工程选项设置(Project Options)
2.5充分利用对象库(Object Repository)
2.5.1充分利用对象库的对象
2.5.2建立自己的对象库
3Delphi 5对象共同属性
3.1与位置或大小有关的属性
3.2与显示或外观有关的属性
3.2.1BorderStyle属性
3.2.2Color属性
3.2.3Font属性
3.3与Parent有关的属性
3.4与引导有关的属性
3.4.1Caption属性
3.4.2TabOrder与TabStop属性
3.5与拖曳有关的属性
3.5.1Drag-and-Drop自动拖曳
3.5.2Drag-and-Dock拖曳
3.6设置共同属性
3.7Parent、Owner、Sender与Self
3.7.1Parent与Owner
3.7.2Sender
3.7.3Self
4Delphi 村对象共同事件
4.1使用缺省的事件处理过程
4.1.1如何使用缺省的事件处理过程
4.1.2如何撰写共用的事件处理过程
4.2鼠标事件
4.2.1Mouse Down鼠标事件
4.2.2Mouse Move鼠标事件
4.2.3Mouse Up鼠标事件
4.2.4鼠标事件综合练习
4.2.5Click与DblClick鼠标事件
4.3键盘事件
4.3.1KeyDown键盘事件
4.3.2KeyUp键盘事件
4.3.3KeyPress键盘事件
4.4TList对象
4.5TShape对象
5TForm对象
5.1TForm对象的属性
5.1.1与活动(Active)相关的属性
5.1.2与图标(Icon)相关属性
5.1.3与视觉相关属性
5.1.4与导引相关属性
5.1.5与绘图相关属性
5.1.6与菜单项相关属性
5.1.7与键盘相关属性
5.1.8与滚动条(ScrollBar)相关属性
5.1.9与控制对象相关属性
5.2TForm对象的操作方法
5.2.1TForm对象创建与释放
5.2.2TForm对象显示与隐藏
5.2.3TForm对象产生方式
5.2.4TForm对象焦点(Focus)设置
5.2.5对象控制的操作方法
5.3TCanvas对象
5.3.1TCanvas对象属性
5.3.2TCanvas对象操作方法
5.4TPopupMenu对象
5.5TMainMenu对象
6MDI应用程序
6.1多文档界面(MDI)应用程序
6.2利用对象库建立MDI应用程序
6.3手动建立MDI应用程序
6.3.1建立MDI应用程序主窗口
6.3.2建立MDI于窗口
6.3.3主窗日文件功能设置
6.3.4建立其他的窗口(如AboutBox窗口)
6.4TActionList对象
6.4.1使用Standard Action
6.4.2自定义Action
6.5TImageList对象
7Delphi 5文字控制对象
7.1TEdit对象
7.1.1TEdit对象的属性
7.1.2TEdit对象的操作方法
7.1.3TEdit对象的事件处理
7.2TMaskEdit对象
7.2.1TMaskEdit对象属性
7.2.2TMaskEdit对象掩码字符
7.3TMemo对象
7.4TRichEdit对象
7.4.1TRichEdit对象属性
7.4.2TRichEdit对象操作方法
7.5TLabel对象
7.6TString对象
8Delphi 5输入控制项(一)
8.1TButton对象
8.2TBitButton对象
8.3TToolBar对象
8.3.1TToolBar对象属性
8.3.2TToolButton对象属性
8.4TCoolBar对象
8.4.1TCoolBar对象属性
8.4.2TCoolBand对象属性
8.5TUpDown与TSpinEdit对象
8.6TSpeedButton对象
9Delphi 5输入控制项(二)
9.1TListBox对象
9.1.1TListBox对象属性
9.1.2TListBox对象操作方法
9.2TComboBox对象
9.3TRadioButton对象
9.4TCheckBox对象
9.5TCheckListBox对象
9.6TTreeView对象
9.6.1TTreeView对象常用属性与操作方法
9.6.2TTreeNode对象
9.7TListView对象
10Delphi 5常用对话框
10.1ShowMessage对话框
10.2MessageDlg对话框
10.3MessageBox对话框
10.4InputBox对话框
10.5InputQuery对话框
10.6OpenDialog与SaveDialog对话框
10.7OpenPictureDialog与SavePictureDialog对话框
10.8FontDialog与ColorDialog对话框
10.8.1FontDialog常用属性与操作方法
10.8.2ColorDialog常用属性与操作方法
10.9PrintDialog与PrintSetupDialog对话框
10.9.1PrintDialog对话框
10.9.2PrintSetupDialog对话框
10.10FindDialog与RaplaceDialog对话框
11Delphi 5分类对象
11.ITGroupBox对象
11.2TRadioGroup对象
11.3TPanel对象
11.4TScrollBox对象
11.5TPageControl对象
11.5.1TPageControl对象属性
11.5.2TTabSheet对象
11.6THeaderControl对象
12其他常用对象
12.1TScrollBar对象
12.2TProgressBar对象
12.3TStatusBar对象
12.4TTimer对象
12.5TStringGrid对象
12.6TSplitter对象
12.7TDateTimePicker对象
12.8TMonthCalendar对象
13Delphi 5数据库程序设计(一)
13.1数据库简介
13.2Delphi 5与数据库环境设置
13.2.1BDE Administrator
13.2.2Paradox、dBase及FoxPro的连接
13.2.3MS SQL Server的连接
13.2.4Oracle Server的连接
13.2.5以ODBC连接Access数据库
13.3Database Desktop
13.3.1建立新的数据表(Table)
13.3.2为数据表(Table)新增数据
13.3.3查询数据表(Table)的数据
13.3.3.1以SQL命令查询数据库
13.3.3.2以QBE访问异构数据库
13.4利用向导建立数据库程序
13.4.1向导建立简单的数据库程序
13.4.2向导建立Master-Detail的数据库程序
13.4.3手动建立Master-Detail的数据库程序
13.5数据库查询语言SQL(Structured Query Language)
13.5.1SELECT命令
13.5.2UPDATE命令
13.5.3DELETE命令
13.5.4INSERT命令
14Delphi 5数据库程序设计(二)
14.1TDataSet对象
14.1.1TDataSet对象状态
14.1.2TDataSet对象属性
14.1.3TDataSet对象操作方法
14.1.4TDataSet对象的事件处理
14.2TTable对象
14.2.1TTable对象数据过滤
14.2.1.1利用Filter属性进行数据过滤
14.2.1.2利用onFilterRecord事件进行数据过滤
14.2.2TTable对象数据搜索
14.2.2.1Locate搜索
14.2.2.2LookUp搜索
14.3TQuery对象
14.3.1设计期间的TQuery对象
14.3.2运行期间的TQuery对象
14.3.3动态产生SQL语句
14.3.4利用SQL语句动态查询似Oracle为例)
14.3.5利用SQL语句动态查询(以MSSQL为例)
14.4TStoredProc对象
14.4.1TStoredProc对象存取Oracle数据库
14.4.1.1Oracle数据库的Stored Procedure
14.4.1.2Oracle数据库的Stored Function
14.4.1.3Oracle数据库的Stored Package
14.4.2TStoredProc对象存取MS SQL数据库
14.4.2.1MS SQL数据库的Stored Procedtire(一)
14.4.2.2MS SQL数据库的Stored Procedure(二)
14.4.2.3MS SQL数据库的Stored Procedure(三)
15Delphi 5数据库程序设计(三)
15.1数据库程序设计常用的对象
15.1.1TDataModule对象
15.1.2TDatabase对象
15.1.3TDBGrid对象
15.1.3.1TDBGrid对象的常用属性
15.1.3.2TDBGrid对象的常用事件
15.1.4TDBCtrlGrid对象
15.1.5TDBNavigator对象
15.2Delphi 5的报表对象
15.2.1Delphi 5报表的概念
15.2.2TQuiCkRep对象的常用操作方法
15.2.3直列式(List)报表制作
15.2.4标签式(Label)报表制作
15.2.5群组式(Group)报表制作
15.2.6Master/Detail报表制作
15.3Delphi 5的安装程序
16多级分布式(Multi-Tier)数据库应用程序
16.1多级分布式(Multi-Tier)数据库应用程序
16.1.1什么是Multi-Tier数据库应用程序
16.1.2建立应用程序服务器(Application Server)
16.2以TremoteDataModule作为应用程序服务器
16.3以TMTSDataModule作为应用程序服务器
16.4以TCORBADataModule作为应用程序服务器
16.5以TDCOMConnection作为客户端应用程序
16.6以TSocketConnection作为客户端应用程序
16.7以TWebConnection作为客户端应用程序
16.8以TCORBAConnection作为客户端应用程序
17Delphi 5与国际互联网
17.1如何撰写CGI程序
17.1.1网页服务器的建立与设定
17.1.2什么是CGI程序
17.1.3第一支CGI程序
17.1.4如何取得客户端需求信息
17.2TPageproducer对象
17.3TDataSetPageproducer对象
17.4TDataSetTableproducer对象
17.5TQueryTableproducer对象
17.6ActiveXForm国际互联网应用程序
17.6.1撰写ActiveXForm国际互联网应用程序
17.6.2通过ActiveXForm存取数据库
17.7InternetExpress组件的应用
17.7.1什么是InternetExpress组件
17.7.2使用InternetExpress组件开发国际互联网数据库应用程序
17.7.3使用InternetExpress组件开发Master/Detail Internet数据库应用程序
17.8ASP(Active Server Page)组件的制作
18 Delphi 5与ADO组件
18.1什么是ADO(ActiveX Data Objects)组件
18.2TADOConnection对象
18.2.1TADOConnection对象常用属性
18.2.2TADOConnection对象常用操作方法
18.2.3TADOConnection对象事件处理
18.3TADODataSet对象
18.3.1通过TADODataSet对象取得数据
18.3.2TADODataSet对象的批次更新处理
18.4TADOTable对象
18.5TADOQuery对象
18.6TADOStoredProc对象
18.7TADOCommand对象
19Delphi 5与图表分析组件
19.1Decision Cube的对象层次结构
19.2TDecision Query对象
19.3TDecision Cube对象
19.4TDecisionSource对象
19.5TDecisionGrid对象
19.6TDecisionGraph对象
19.7TDecisionPivot对象
19.8TChart对象
19.9TchartFx对象及图表综合分析范例
20Delphi 5与Server组件
20.1Delphi与Word组件
20.1.1TWordApplication对象
20.1.2TWordDocument对象
20.1.3TWordFont对象
20.1.4数据库数据与Word文件的连接
20.2Delphi 5与Excel组件
20.2.1Excel组件系列的层次结构
20.2.2TExcelApplication对象
20.2.3TExcelWorkBook对象
20.2.4创建Excel表格和图表对象
20.2.5Excel与Word之间的数据传送
20.3Delphi 5与PowerPoint组件
20.3.1TPowerPointApplication对象
20.3.2TPowerPointPreseniation对象
20.3.3TPowerPointSlide对象
AObject Pascal程序设计
A.1程序注释
A.2指定语句
A.3表达式
A.3.1算术运算符(Arithmetic Operators)
A.3.2布尔运算符(Boolean Operators)
A.3.3逻辑运算符(Logical Operators)
A.3.4字符串运算符(String Operators)
A.3.5集合运算符(Set Operators)
A.3.6关系运算符(Relational Operators)
A.4变量声明
A.5常量声明
A.6数据类型
A.6.1Simple Types(简单的数据类型)
A.6.1.1Integer Types(整数数据类型)
A.6.1.2Character Types(字符数据类型)
A.6.1.3Boolean Types(布尔数据类型)
A.6.1.4Enumerated Types(枚举数据类型)
A.6.1.5Subrange Types(子界数据类型)
A.6.1.6Real Types(实数数据类型)
A.6.2String Types(字符串数据类型)
A.6.3StructuredTypes(构造数据类型)
A.6.3.1Set Types(集合数据类型)
A.6.3.2Array Types(数组数据类型)
A.6.3.3Record Types(记录数据类型)
A.6.4Pointer Types(标识数据类型)
A.6.5Variant Type(变体数据类型)
A.7过程(Procedure)函数(Function)
A.8参数的传递
A.8.1传值参数
A.8.2变量参数
A.8.3常量参数
A.9程序段
A.10程序的循环控制
A.11程序的分支控制
A.12异常处理
A.12.1With语句
A.12.2try...except语句
A.12.3try...finally语句
BDephi 5常用函数
B.1字符串相关函数
B.1.1字符串转换
B.1.2字符串处理
B.2数值相关函数
B.3日期相关函数
B.4Variant相关函数
B.5文件相关函数
B.5.1文件管理函数
B.5.2文件处理函数
· · · · · · (收起)
读后感
用户评价
说实话,这本书的排版和图例设计,带着一股浓浓的九十年代末期计算机书籍的风格,字体和代码块的间距都比较紧凑。但一旦你适应了这种视觉风格,其内容的严谨性就会显现出来。我个人最喜欢的是它对Delphi 5特定版本新特性的介绍部分,那些关于新版编译器优化和运行时库变化的解析,写得非常到位。尤其是关于异常处理机制的改进,作者详细对比了Delphi 4和Delphi 5在Try...Except块内的行为差异,这对那些需要平滑升级旧代码库的开发者来说,是极有价值的参考资料。这本书的价值在于,它不是一本通用的编程语言导论,而是一部针对特定工具链的深度使用手册。它假设你已经了解了编程的基本概念,然后带你深入挖掘这个IDE和语言特性组合能达到的极限。虽然现代的IDE有着更友好的调试工具和更强大的自动补全,但通过这本书学习到的手动跟踪变量、理解编译器的中间代码生成过程,对提升代码的健壮性有着不可替代的作用。
我拿到这本书的时候,主要是想解决一个遗留系统维护的问题,希望找到一些关于COM/ActiveX组件与Delphi交互的实战经验。这本书在这方面确实有所涉及,但深度上稍微欠缺了一点,更偏向于如何在Delphi内部实现这些组件,而不是如何作为一个服务端去承载复杂的外部调用。不过,它在文件I/O和系统调用部分的介绍倒是出乎意料地扎实。作者没有回避那些容易出错的低级操作,比如如何高效地读写INI文件,如何利用Windows API进行文件锁定等。这些看似基础,但在实际的工程项目中,往往是决定系统稳定性的关键。阅读这些章节时,我能感觉到作者在实际项目中踩过很多坑,所以他的建议都非常“接地气”,充满了“血和泪”的教训。例如,书中对比了不同字符串类型(AnsiString, WideString)在内存拷贝时的性能差异,并给出了明确的性能优化建议,这种对性能的斤斤计较,在如今这个内存不再是瓶颈的时代,或许显得有些吹毛求疵,但在当时却是工程实践的常态。
这本书的行文风格颇有些老派工程师的严谨与执着,每一个技术点都要追根溯源,不放过任何一个细节的解释。我特别欣赏作者在讲解控件布局和事件驱动模型时的那种耐心,仿佛手把手教导一个初学者如何搭建第一个窗体应用。书中关于消息处理机制的阐述,逻辑清晰得令人印象深刻,它不像现在很多教程那样直接告诉你“用这个API函数”,而是会花大力气去解释“为什么”要这样调用,背后的操作系统消息循环机制是怎么运作的。这种深度剖析,对于想要彻底理解Windows原生应用开发流程的人来说,是极其宝贵的财富。举个例子,那几章关于多线程编程的示例,虽然现在看起来有些原始,但在当时那种缺乏成熟线程库支持的环境下,作者用Delphi 5提供的API封装出相对安全的线程管理方法,其编程艺术性是值得肯定的。它教会你的不是最新的语法糖,而是底层的编程哲学,那种需要自己管理资源、自己处理异常的“硬核”体验。
这本书的装帧设计倒是挺有年代感的,封面那种略带泛黄的纸张质感,一下子就把我拉回了那个软件开发还带着点“黄金时代”气息的年代。我当时买它,主要是冲着“实务经典”这几个字去的,希望能找到一些能立即上手、解决实际问题的代码和思路。坦白说,初翻的时候,确实被其中涉及的数据库连接和报表生成部分的代码示例吸引住了。那些关于BDE(Borland Database Engine)的深入讲解,对于习惯了现代ORM框架的开发者来说,简直是教科书级别的复古教学。特别是关于如何手动优化SQL查询语句以适应当时硬件环境的章节,详细到连内存管理的小技巧都有提及。不过,随着阅读深入,我发现这本书的“实务”性更多地体现在对Delphi 5自身特性的挖掘上,对于跨平台或者与Web服务集成的部分,内容相对薄弱,这可能是时代局限性吧。但即便如此,理解其底层逻辑对于打好面向对象编程的基础,依然大有裨璨,尤其是对VCL(Visual Component Library)组件生命周期的剖析,至今仍有参考价值。它更像是一份详尽的“老工具箱”使用手册,而非一本面向未来的“架构设计”指南。
从一个现代开发者的视角来看待这本书,它更像是一部历史文献,记录了一个特定技术栈的黄金时代。书中大量的直接调用API函数和对内存地址的操作,让我在阅读时不得不经常停下来查阅Windows SDK的文档,来理解作者所做的每一步操作背后的操作系统级含义。这本书的难度并不在于语法,而在于它要求读者具备一种“自给自足”的工程能力——遇到问题,你不能指望框架能替你解决一切,你需要深入到系统层面去寻找答案。我印象最深的是关于组件封装和复用的那几章,作者详尽描述了如何设计可发布到组件面板的控件,包括注册信息、依赖管理等,这些步骤在如今的NuGet或Maven时代已经被高度抽象化了。这本书完整地展示了“从零开始”构建一个企业级桌面应用的完整流程,它教会我的,是如何建立起对软件工程全貌的宏观理解,即使我未来可能不会再用Delphi 5进行开发,但这种对软件生命周期各个阶段的深刻认知,是跨越工具和时代的宝贵财富。