《Delphi 2005从入门到精通》PDF下载

  • 购买积分:22 如何计算积分?
  • 作  者:(美)(坎徒)Marco Cantu著;魏海萍,韩滨,曲丽君等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:712102375X
  • 页数:833 页
图书介绍:Delphi 2005是一个经过彻底翻新的集成开发环境。本书通过大量的示例从面向对象编程(OOP)的角度详细介绍Delphi语言,深入分析如何使用这个新的集成开发环境(IDE)开发Win32和.NET应用程序,学习能够使用Borland和.NET库的组合做多少事情哪些开发,了解Delphi现在为什么是Internet的一个较佳选择,以及了解Delphi的许多新增能力,其中包括再加工、单元测试、数据库管理等。本书的主要内容包括使用Delphi语言编写代码,浏览Delphi 2005 IDE,了解Delphi与Microsoft .NET Framework之间的关系,分析Delphi的数据库支持,使用ADO.NET和Borland Data Providers,开发Win32和.NET平台上的多层应用程序,编写可以从Win32移植到.NET平台的应用程序,使用Indy做套接字编程,了解程序员在使用Delphi时可以选择的Web开发技术(包括WebBroker、WebSnap、IntraWeb和ASP.NET),利用Delphi的XML和Web服务支持,以及将ECO框架用于模型驱动体系结构

第一部分 基础 1

Delphi的版本 2

第1章 Borland Developers Studio 3.0简介 2

一个用于.NET和ALM的全新IDE 3

IDE的多重个性 3

IDE概述 3

部分安装 4

欢迎使用Delphi 2005 5

用多种配置启动IDE 5

Delphi 2005 IDE结构 7

桌面设置 8

To-Do列表 9

菜单 9

Delphi编辑器 10

扩展的搜索结果 10

Delphi 2005代码折叠和区域化 12

代码识别 13

Delphi 2005代码片断 13

源代码文件编码 13

编辑器的结构视图 16

同步编辑 16

在编辑器中执行浏览 17

类完成 18

编辑器历史记录 19

其他编辑器快捷键 19

新增的其他编辑器特性 20

设计器 21

设计器的结构视图 23

对象检查器 23

复制和粘贴构件 24

项目管理 25

项目文件 26

工具和生成工具 26

项目组文件 29

项目选项 30

Delphi编程的题外话 31

查看源代码文件 31

UML设计器 32

Delphi 2005中的C 32

IDE数据库工具 34

小结 35

Win32 API 36

第2章 Win32和Microsoft.NET平台 36

构件对象模型 37

OOP类库 37

.NET的“营销”目标 38

Microsoft.NET是什么 38

为什么营销.NET 39

VES:虚拟执行系统 40

CIL:公用中间语言 41

CLR:公用语言运行时环境 43

CLS:公用语言规范 43

.NET编译周期与JIT 44

管理化执行模型和无用单元收集机制 46

CTS:值类型 48

CTS:公用类型系统 48

组件是什么 49

名称空间与组件 49

CTS:引用类型 49

联编和装载组件 50

组件版本化和GAC 51

小结 53

组件的动态装载 53

核心的语言特性 54

第3章 Delphi编程语言 54

类与对象 55

动态地创建构件 57

方法的其他相关信息 57

封装 58

private、protected和public 59

私有何时真的私有 60

用属性做封装 61

封装与窗体 63

构造器 65

Delphi的对象引用模型 66

析构器和Free方法 66

赋值对象 67

对象与内存 69

继承已有类型 70

保护型字段与封装 71

后期联编与多态性 73

继承与类型兼容性 73

超越并重新定义方法 74

抽象方法 76

虚方法与动态方法的对比 76

密封类与终结方法 77

嵌套类型和嵌套常量 78

类型安全的向下转换 79

使用接口 81

异常处理 83

程序流程与finally块 84

异常类 85

记录错误 86

异常与构造器 87

类引用 88

使用类引用创建构件 89

for…in循环 90

内联 93

小结 95

Microsoft.NET上的Delphi语言 96

第4章 .NET上的Delphi语言 96

全局函数与伪单元类 97

有益的旧单元 97

几乎作为名称空间的单元 98

单元初始化与类构造器 100

统一码标识符 101

限定标识符 101

标识符 101

原始类型 102

基本数据类型 102

包装原始类型 104

Delphi的枚举与集合类型 105

记录 106

记录还是类 107

字符串 108

引用类型 108

Delphi中新增的预定义记录 108

可变记录 111

使用不安全类型 111

无类型参数 112

使用PChar类型 113

使用new分配内存 113

为了稳妥起见的类型转换 114

file of类型已经消失 114

访问说明符 116

类获得新基础 116

类数据与类静态方法 118

抽象类 120

类构造器 120

助手类 121

属性 122

给实例应用构造器 125

索引器还是数组属性 125

调用继承的构造器 126

无用单元收集世界中的释放与销毁 127

类引用与元类 129

接口现在是“纯粹的” 130

操作符获得新基础 132

表征还是极端的RTTI 135

声明定制的表征 136

使用Reflect工具检查表征 137

多点传送事件 138

小结 140

RTL的单元 141

第5章 Delphi Win32运行时库 141

Win32中的System单元 142

SysUtils与SySConst单元 144

Math单元 147

ConvUtils与StdConvs单元 149

DateUtils单元 151

StrUtils单元 152

新增的WideStrUtils单元 153

DelphiMM与ShareMem单元 154

Variants与VarUtils单元 154

Types单元 154

使用SysUtils单元管理文件 155

TObject类 156

显示类信息 159

TPersistent类 160

published(公开)关键字 161

按名称访问属性 162

列表与字符串列表 164

列表与容器类 164

容器类 168

类型安全的容器与列表 170

TStream类 173

流技术 173

具体的流类 174

使用文件流 175

TReader和TWriter类 176

流与持久性 177

使用ZLib压缩流 179

小结 183

所有权 185

TComponent类 185

第6章 可视化构件库的体系结构 185

Name属性 188

删除窗体字段 189

隐藏窗体字段 190

可定制的Tag属性(在Win32和.NET平台上) 191

VCL for.NET中的TComponent类 192

方法指针 194

Delphi中的事件 194

事件 194

事件就是属性 196

VCL的传统部分 197

VCL考虑 198

TControl与派生类 199

Parent与控件 200

.NET中的TControl与派生类 200

字体 201

激活和可见属性 201

与构件大小及位置有关的属性 201

TWinControl类 202

颜色 202

文本输入构件 203

打开构件工具框 203

选择具体选项 205

列表 206

范围 211

命令 212

处理输入焦点 216

控件相关的技术 216

控件锚点 218

使用Splitter构件 219

使用浮动提示 221

加速键 221

自绘制控件与样式 223

图形索引列表 227

ListView与TreeView控件 227

数据的树形结构 231

定制树节点 233

小结 235

使用普通窗体 236

TForm类 236

第7章 窗体处理 236

窗体样式 237

边框样式 238

设置其他窗口样式 239

监视键盘输入 240

直接窗体输入 240

获取鼠标输入 242

使用鼠标拖动与绘图 243

在窗体上绘图 246

特殊图形技巧:Alpha混合、颜色键和动画API 247

位置、大小、滚动和缩放 248

滚动窗体 249

窗体强制 249

创建和关闭窗体 250

窗体创建事件 251

对话框和其他二级窗体 252

关闭窗体 252

在运行时创建二级窗体 253

给程序添加二级窗体 253

创建对话框 255

模态窗体与新增的PopupMode 255

非模态对话框 257

Windows通用对话框 259

Application对象 260

处理Delphi 2005中的鼠标激活 262

激活应用程序与窗体 262

使用Screen对象跟踪窗体 263

Delphi中的框架与子窗口 265

创建MDI应用程序 265

MdiDemo示例 266

可视化窗体继承性 267

MdiMulti示例 267

从基窗体中继承 268

多态窗体 270

了解框架 272

框架与页面 274

无页面的多个框架 275

基窗体与接口 277

使用基窗体类 278

使用接口 280

小结 281

多页面窗体 282

第8章 用VCL创建用户界面 282

PageControl与TabSheet构件 283

带有自绘选卡的图像查看器 286

向导程序的用户界面 288

RichBar示例 289

Toolbar控件 289

工具栏中的菜单和组合框 291

简单的状态栏 292

ActionList构件 295

Delphi中的预定义动作 297

实际中的动作 298

动作编辑器的工具栏与动作列表 300

工具栏容器 302

Delphi的停放支持 304

控件栏中的菜单 304

在ControlBars中停放ToolBar 305

停放到PageControl构件 308

Delphi 2005中新增的停放构件 310

ActionManager体系结构 311

创建一个简单的演示程序 312

最近最少使用菜单项 314

使用列表动作 316

移植现有程序 316

小结 319

Delphi for.NET中的System单元 320

Delphi for.NET的运行时库 320

第9章 Delphi.NET运行时库与框架类库 320

Delphi运行时DLL:Borland.Delphi.DLL 321

Borland.VclRtl例程 322

Borland.VclRtl类 324

基类库(BCL) 325

System.Object类 326

StringBuffer类 328

容器类 329

规则表达式 332

.NET流 333

Component类 334

WinForms库 335

无DFM文件,只有代码 336

WinForms控件 338

假朋友与其他差别 338

从GDI到GDI+ 340

窗体类 342

小结 343

WinForms中没有的VCL特性 343

第二部分 Delphi面向对象体系结构 345

关于RAD的题外话 346

第10章 再加工与单元测试 346

极限编程 347

敏捷方法学 347

单元测试 349

再加工 349

声明再加工 350

Delphi 2005 IDE中的再加工 350

再加工与单元测试组合 350

提取到资源串 351

重命名再加工 353

提取方法再加工 354

查找引用特性 356

查找单元再加工 356

DUnit 357

Delphi 2005 IDE中的单元测试 357

NUnit 361

其他单元测试提示 364

小结 365

什么是动态链接 366

Wind32中的DLL 366

第11章 动态体系结构(库、包与组件) 366

DLL的用途 367

使用现有的DLL 368

Delphi DLL编写者应遵守的规则 368

在Delphi中开发DLL 369

从DLL中导出字符串 371

修改库名称 372

调用Delphi DLL 372

运行时调用DLL函数 373

内存中的Win32 DLL:代码与数据 375

使用内存映像文件共享数据 377

创建设计时与运行时包 379

使用运行时包 379

Delphi包 379

包的版本管理 380

编写与编译包 380

使用包的动态体系结构 381

使用运行时包的应用程序 382

在运行时装载组件包 384

使用包的接口 385

包的结构 389

编写和使用一个管理化DLL 392

从包到组件 392

动态装载一个管理化DLL 393

从装载到下载 394

检查组件 395

使用组件的动态体系结构 395

小结 396

COM与.NET的历史简介 397

第12章 COM与.NET互用性 397

实现IUnknown接口 398

类工厂的作用 400

全局惟一标识符 400

第一个COM服务器 401

COM接口和对象 402

初始化COM对象 403

测试COM服务器 404

自动化 406

使用接口属性 406

调度自动化调用 408

编写一个自动化服务器 409

类型库编辑器 410

服务器代码 411

注册自动化服务器 412

编写服务器的客户端 413

构件中的服务器 415

自动化对象的范围 415

COM数据类型 416

.NET互用性 417

在.NET中使用COM 418

在Win32中使用.NET 425

在COM客户使用.NET对象 429

在Win32应用程序中使用.NET例程 433

小结 434

第三部分 Delphi的面向数据库 437

访问Win32中的数据库:dbExpress、本地数据以及其他可选方案 438

第13章 Delphi的数据库体系结构 438

Borland数据库引擎 439

dbExpress库 439

用于ADO的dbGo 440

MyBase和ClientDataSet构件 440

InterBase Express 440

MyBase:可独立使用的ClientDataSet 441

定制数据集构件 441

连接到现有的本地表 442

XML和CDS格式 443

从MIDAS DLL到MidasLib单元 443

定义新的本地表 444

创建索引 445

查找记录 446

过滤 446

DBNavigator与数据集操作 448

网格中的数据 448

使用数据敏感控件 448

基于列表的数据敏感控件 449

基于文本的数据敏感控件 449

使用查找控件 451

TDataSet类 452

图形数据敏感控件 452

数据集的状态 455

数据集的字段 456

使用Field对象 458

Field类的层次式结构 459

添加计算字段 461

查找字段 463

用字段事件处理空值 464

导航数据集 466

使用书签 467

数据库表列的总和 467

编辑数据库表列 469

绘制DBGrid 470

定制数据库网格 470

允许多项选择的网格 471

拖到网格 473

模拟Delphi的数据敏感控件 474

带有标准控件的数据库应用程序 474

向数据库发送请求 476

分组 478

分组与合计 478

定义合计 479

使用ClientDataSet构件的主/细结构 480

主/细结构 480

处理数据库错误 481

小结 482

客户/服务器体系结构 483

第14章 利用VCL数据库构件开发客户/服务器应用程序 483

数据库设计的元素 484

从主关键字到OID 485

实体与关系 485

单向游标 487

另外的约束 487

InterBase简介 488

使用IBConsole 489

InterBase服务器端编程 491

dbExpress库 493

平台与数据库 494

使用单向游标工作 494

驱动器版本化问题 495

SQLConnection构件 496

dbExpress构件 496

dbExpress数据集构件 499

SQLMonitor构件 500

使用单个构件或者多个构件 501

几个dbExpress演示 501

用SetSchemaInfo访问数据库元数据 504

参数化查询 505

在单向够用时:打印数据 507

更新操作的处理 509

信息包和高速缓存 509

数据更新 511

使用事务 513

IBX数据集构件 516

使用InterBase Express 516

创建一个IBX示例 517

IBX管理构件 517

创建现场查询 518

获得更多的系统数据 522

监控InterBase Express 522

实际问题 523

生成器与ID 524

不区分大小写的搜索 525

处理位置与人员 527

创建用户界面 528

预订课程 530

创建一个查找对话框 533

小结 535

添加一个自由查询窗体 535

Microsoft数据访问构件(MDAC) 536

第15章 使用ADO 536

OLE DB提供者 537

使用dbGo构件 538

一个实用示例 539

ADOConnection构件 540

动态属性 541

数据链接文件 541

获取模式信息 542

使用Jet引擎 543

通过Jet使用Excel 544

通过Jet使用Paradox 544

通过Jet使用文本文件 546

导入和导出 547

游标位置 548

使用游标 548

游标类型 549

组合游标位置与类型 550

客户索引 551

无记录计数 551

复制 552

嵌套的事务 553

事务处理 553

锁类型 554

ADOConnection属性 554

数据的更新 555

批更新 556

开放式加锁 558

解决更新冲突 559

不连通的记录集 560

连接池 561

持久性记录集 562

小结 563

公文包模型 563

ADO.NET的体系结构 564

第16章 使用ADO.NET 564

在连通模式中工作 565

通过OleDbConnect访问数据 566

通过ODBC访问数据 568

在不连通模式中工作 569

使用接口的通用数据访问 569

使用OleDbDataAdapter 570

设计时创建DataTable 571

设计时无现场数据 572

数据集数据的直接访问 573

数据内容构件 573

数据集类中的主/细关系 575

XML格式的数据集 577

生成定制的数据集类 579

使用DataView进行分类与过滤 579

管理缓存的数据和更新 582

使用Borland Data Provider(BDP) 583

与ClientDataSet的比较 583

配置BDP 584

使用BDP做可视化开发 585

BDP模式服务 587

BDP的其他特性 587

在VCL应用程序中使用ADO.NET 588

小结 589

DataSnap的技术基础 591

第17章 多层体系结构 591

连接协议 592

IAppServer接口 592

提供数据包 593

Delphi支持构件(服务器端) 594

Delphi支持构件(客户端) 594

第一个应用服务器 595

创建一个样本应用程序 595

第一个薄层客户 596

字段与数据集约束 598

给服务器添加约束 598

创建一个.NET客户 598

包含字段属性 599

给客户添加特性 600

字段与表事件 600

刷新数据 601

更新序列 601

参数化查询 603

高级的DataSnap特性 603

主/细关系 604

定制的方法调用 604

使用连接代理 605

其他的提供者选项 606

对象池 607

简单的对象代理 607

Microsoft.NET中的多层开发 608

定制数据包 608

实际中的.NET远程控制 609

.NET远程控制体系结构 609

实际中的ADO.NET远程控制 612

使用Delphi构件的ADO.NET远程控制 612

小结 614

模型 615

第18章 使用企业核心对象(ECO) 615

类 616

操作 617

表征 617

派生的表征:OCL 618

关联 618

派生的表征:Code 621

逆向派生的表征 622

派生的关联 623

关联类 624

ECOSpace 627

使用ECO与数据库 628

持久性 628

开放式加锁 629

创建数据库模式 629

句柄 632

用户界面 632

ExpressionHandle 633

ReferenceHandle 633

CurrencyManagerHandle 634

数据联编 634

OCLPSHandle 635

变量 638

代码中的ECO 641

创建对象第二部分 642

获取一个指向当前选定对象的引用 642

创建对象第一部分 642

从代码中执行OCL代码 643

小结 644

第四部分 Delphi与因特网 645

开发套接字应用程序 646

第19章 HTML与HTTP开发 646

套接字编程的基础 647

使用Indy的TCP构件 648

使用HTTP 653

TThread类 654

Delphi中的线程 654

使用IdHTTP构件抓取HTTP内容 654

WinInet API(Win32) 660

FCL的WinClient类(.NET) 661

一个简单的HTTP服务器 662

Delphi的HTML生成器构件 663

生成HTML 663

生成HTML页面 664

生成HTML表 666

生成数据页面 666

使用样式表 668

来自定制服务器的动态页面 669

CGI综述 670

动态的Web页面 670

使用动态库 671

Delphi的WebBroker技术 672

使用Web APP Debugger做调试 674

创建多用途WebModule 676

动态的数据库报表制作 678

查询与窗体 679

使用Apache 683

使用IIS 684

一个图形化的网页点击计数器 686

实际示例 686

使用一个Web搜索引擎做搜索 688

小结 690

WebSnap框架 691

第20章 WebSnap与IntraWeb 691

管理多个页面 693

服务器端脚本 695

适配器 698

数据集适配器的Web接口 702

使用DataSetAdapter 702

定位文件 702

使用会话 708

WebSnap会话、用户和权限 708

请求登录 709

IntraWeb 710

从网站到Web应用 711

了解内幕 714

IWSimpleApp程序的源代码 715

IntraWeb体系结构 716

开发IWSimpleApp示例的Delphi for.NET版本 716

开发IntraWeb应用程序 717

编写多页应用程序 719

会话管理 722

集成WebBroker(和WebSnap) 724

控制版面设计 725

Web数据库应用程序 726

链接到细节数据集 728

将数据转移到客户端 730

Delphi 2005部署管理器 732

小结 733

ASP.NET与Web服务器 734

ASP.NET基础知识 734

第21章 ASP.NET体系结构 734

Delphi中的空白页面 736

脚本设计技术 737

了解代码滞后模型 739

创建ASP.NET页面 741

状态管理简介 741

Control类 742

Web控件 744

HTML控件 744

Page类 745

使用ASP.NET控件的浏览器诀窍 746

验证控件内容的有效性 748

使用数据库 751

ASP.NET中的数据访问 751

使用Borland的DBWeb构件 756

开发ASP.NET应用程序 761

在页面之间转移数据 762

会话管理 763

窗体身份验证 764

小结 765

ASP.NET应用程序部署 765

ASP.NET中的高速缓存 765

XML简介 767

第22章 使用XML技术 767

核心的XML语法 768

构造完备的XML 769

使用XML 769

Delphi中的XML文档管理 771

使用DOM编程 772

TreeView中的XML文档 773

在.NET中使用XMLDocument构件 774

使用DOM创建文档 775

XML数据联编接口 779

在.NET中使用本机XMLDOM 782

从语法上分析XML 783

使用SAX API 783

在.NET中分析XML的语法 786

使用XSLT 787

使用XPath 788

实践中的XSTL 788

XSLT与WebSnap 789

直接XSL变换与DOM 790

ASP.NET中的XSLT 792

使用变换映射XML 793

处理大型XML文档 795

从ClientDataSet到XML文档 795

从XML文档到ClientDataSet 796

小结 797

第23章 Web服务与SOAP 798

Web服务技术 798

Delphi Win32 SOAP支持 799

一个SOAP客户:股票报价 799

在Delphi for Win32中创建Web服务 802

调试SOAP头部 805

将已有类暴露为Web服务 806

REST体系结构与Delphi 807

REST客户技术 807

创建REST服务器 808

用于REST服务器的客户 810

.NET中的Web服务 811

.NET Web服务客户 811

创建.NET服务器 813

SOAP上的数据库数据 815

访问数据 816

传递XML文档 817

客户程序(利用XSLT映射到客户数据集) 818

SOAP上的DataSnap 820

处理附件 823

小结 825

第五部分 附录 827

Essential Pascal 828

Essential Delphi 828

附录A 了解Delphi的基础知识 828

Delphi Power Book 829

笔者自己的工具 831

CanTools向导 831

附录B 附加的Delphi工具 831

其他重要的免费工具 832

内存快照(Memory Snap) 832

Project JEDI 832

对象调试器(Object Debugger) 832

Gexperts 833

InstantObjects 833