《Delphi 2程序设计大全》PDF下载

  • 购买积分:30 如何计算积分?
  • 作  者:(美)(C.卡尔弗特)Charles Calvert著;横空翻译组译
  • 出 版 社:机械工业出版社;西蒙与舒斯特国际出版公司
  • 出版年份:1997
  • ISBN:7111059611
  • 页数:1207 页
图书介绍:

目 录 1

序 1

第一部分面向对象的Pascal 1

第1章 可视化编程RAD——一种 1

快速应用程序开发工具 1

1.1 Delphi 2.0 1

1.2本书的各部分 2

1.2.1有关Windows API的章节 3

1.2.2充分利用本书 4

1.2.3其他内容 5

1.3 Delphi来源声明和Unicode声明 5

1.4 内存剧场 6

1.5使用组件配制板 7

1.6检查提示和警告信息 11

1.7程序代码中的新变化 11

1.8本书中的程序代码 11

1.9本书的内容从何而来 12

1.10其他作者 12

1.11写作本书的目的 13

第2章Win32中Delphi的变量类型 15

2.1 旧的字符串类型和新的字符串类型 15

2.2长字符串和独立调试器 18

2.3深入研究短字符串ShortString 23

2.4关于AnsiString 24

2.5 Trim函数 30

2.6 AnsiString和PChar 31

第二部分 Win 32

2.7引用计数 32

2.8 WideChar和Unicode 33

2.9 Variant 38

2.10导出和基本整数类型 45

2.11 Currency类型 48

2.12小结 49

3.1字符串——数组的一种形式 50

第3章 字符串和文本文件 50

3.2 PChar:另一种以0结尾的字符串 55

3.3使用字符串 57

3.4基于日期的文件名 59

3.5 ReplaceChars函数 61

3.6使用Move和FillChar函数 62

3.7限制ShortString的长度 68

3.8使用文本文件工作 69

3.9小结 77

第4章 指针和PChar类型 78

4.1指针和Win32 78

4.2指针和内存剧场 81

4.3用New和Dispose分配内存 84

4.4声明指针:一个实际的例子 86

4.5权限冲突:招致麻烦 89

4.6指针和对象 94

4.8 PChar和Char数组 95

4.7将一个指针设为nil 95

4.9小结 101

第5章 指针、链表以及内存 102

5.1PChar上的指针运算 102

5.2链表 103

5.3第二个链表的例子 112

5.4在调试中检查指针 127

5.5关于空指针的其他内容 133

5.6关键内容的回顾 133

5.7另一种无效的指针 134

5.8小结 136

第6章 异常 137

6.1关于异常所隐含的理论 137

6.2异常类 139

6.3基本异常语法 141

6.4建立并且引发自己的异常 146

6.5使用资源来追踪错误字符串 150

6.6try..finally程序块 155

6.7替代缺省的异常处理器 158

6.8引发异常、流、释放内存 161

6.9小结 164

第7章 多任务与多线程 167

7.1进程和存储 167

7.2多任务和多线程 169

7.3 多线程:一个简单的例子 171

7.4 一个程序,多个线程 176

7.5 在Windows API下使用位图 181

7.6在Thread2程序中使用线程 183

7.7使用Mutexes 191

7.8线程与VCL 195

7.9 TThread对象 197

7.10设定线程的优先级 205

7.11再看Delphi的线程 210

7.12小结 210

第8章 Win32内存管理 211

8.1 Win32内存管理一瞥 211

8.2为什么不用了解这东西 213

8.3 4GB虚拟内存空间近观 214

8.4分配虚拟内存的理论 214

8.5使用VirtualAlloc 215

8.6分配内存和使用堆 223

8.7把文件映象进内存 228

8.8内存管理基础 235

8.9小结 238

9.1简述 239

WinProc 239

第9章 VCL库之外:WinMain和 239

第三部分Windows API 239

9.2 Windows API程序:一个最简单的 240

例子 240

9.3代码 244

9.4注册窗口 246

9.5创建窗口 248

9.6 Window过程 250

9.7从另一个角度观察 253

9.8和Delphi的关系 255

9.9重载TForm.WindProc 257

9.10小结 261

第10章 对话框和资源 262

10.1使用源码 262

10.2旧风格Windows对话框 262

10.3使用源代码:深入Windows API 263

10.4在标准的DelphiRAD程序中使用 273

资源 273

10.5批处理文件问题 276

10.5.1重访命令行 278

10.5.2获得16位和32位Windows 280

API兼容 280

10.6小结 285

第11章 消息和显示文本 286

11.1 MESSAGES.PAS 286

11.2什么是消息 287

11.3第二个大型Windows程序 288

11.4 Case 语句、MESSAGES.PAS和 292

Message Crackers 292

11.5创建消息处理器 299

过程 300

11.7总结MessageCrackers 300

11.6 MESSAGES.PAS和缺省Window 300

11.8图画文本(Painting Text) 301

11.9 BeginPaint、EndPaint和设备 301

描述表 301

11.10文本输出(TextOut)和画文本 304

(DrawText) 304

11.11 Windows API 与RAD Delphi的 306

关系 306

11.12小结 307

第12章 鼠标和键盘 309

12.1 一个报告鼠标和键盘事件的程序 309

12.2 forward声明 320

12.3 Windows键盘和鼠标消息 321

12.4处理wm_Char消息 321

12.5用wm_KeyDown检测按键 325

12.6系统键 327

12.7 wm_MouseMove消息 328

12.8按钮选择和双击的处理 330

12.9处理wm_Paint 331

12.10小结 333

第13章 Windows API和DLL 335

13.1 DLL基础 335

13.2一个简单的DLL 337

13.3从API应用程序中调用Delphi对 341

话框 341

13.4创建对DLL的调用 348

13.5重温WndProc 351

13.6 wm_Paint和InvalidateRect 353

13.7运行时动态装载DLL 354

13.7.1 理解MESSAGES.PAS 360

13.7.2完全用Windows API调用书写的DLLs 361

13.7.3 APIDLL 380

13.7.4一个等同的Squares单元 383

13.8小结 386

第14章 Windows控件和Callbacks 387

14.1理解控件和消息 387

14.2字体显示程序 388

14.3静态控件(Static Controls) 399

14.4列表框(List Boxs) 401

14.5复选框(Check Boxs) 403

14.6编辑控件(Edit Controls) 404

14.7 FontsExp的测试 407

14.8传送消息 408

14.9 SendMessage和PostMessage函数 409

14.10枚举系统字体 411

14.11 FontCallBack函数 413

14.12与列表框通信 414

14.12.1显示字体 416

14.12.2复选框的使用 419

14.12.3高亮选择 420

14.12.4 ShowTheFont返回值 420

14.12.5 GetTextMetrics和FontStr 421

模块 421

14.13小结 424

第四部分数据库 425

第15章 使用TTable和TDataSet 425

15.1数据库基础 426

15.2数据模块 427

15.3对象储存器(Object Repository) 429

15.4数据库浏览器(Database Explorer) 430

15.5理解TDataSet类 431

15.6导航例程 433

15.7字段 436

文件 440

15.8使用SetKey和FindKey查找一个 440

15.9用ApplyRange筛选数据集的记录 442

15.10用OnFilterRecord事件筛选 444

15.11书签 445

15.12创建链接的光标 447

15.13跟踪数据集状态 451

15.14小结 452

第16章SQL和TQuery对象 453

16.1 TQuery基本知识 453

16.2 SQL特性 454

16.3 TQuery和参数 456

16.4 SQL特性和Format函数 461

16.5通过TDataSource传递参数 464

16.6执行多表连接 466

16.7参数化查询和Join语句 468

16.8打开或ExecSQL 469

16.9TQuery的特殊特性 471

16.10小结 471

第17章 字段和数据库工具 473

17.1关系数据库 473

17.1.1 一对多关系:数据和索引 475

17.1.2一对多关系:代码 478

17.1.3关系数据库和连接 479

17.1.4 Joins和QBE 481

17.2字段编辑器(Fields Editor) 483

17.3计算字段 486

17.4运行时的TabGrid 486

17.5 Lookup字段 495

17.6多记录(MultiRecord)对象 501

17.7小结 502

18.1 支持16位和32位平台 503

18.2定义数据 503

第18章 实用数据库 503

18.3定义该程序的外观 508

18.4创建完成的程序 512

18.5进出只读模式 530

18.6数据排序 533

18.7查找数据 534

18.8筛选数据 536

18.9打印记录 537

18.10设置颜色 540

18.11标志文件(Marking Files) 545

18.12剪贴板:剪切、复制和粘贴 546

18.13小结 547

第19章本地InterBase服务器 548

19.1建立本地InterBase 548

19.2建立InterBase别名(Alias) 550

19.3创建数据库 551

19.4用WISQL浏览数据库 552

19.5事务(Transaction) 554

19.6高速缓存更新(Cached Updates) 555

19.7多对多关系 560

19.8小结 568

第20章 高级InterBase技术 569

20.1 Music程序 569

20.2建立数据库结构 570

20.2.2发生器、触发器和存储过程 574

20.2.1其他索引 574

20.3 Delphi终端中的存储过程 577

20.4对于MUSIC.GDB的完整的数据 579

定义 579

20.5服务器方规则和客户方规则 581

20.6关于Music程序接口的简介 582

20.7 Music程序代码 586

20.8压缩口令:TDatabase对象 610

20.9建立表格事件 610

20.10筛选器和查询功能 611

20.11在Album表上查询 612

20.12小结 615

第21章ReportSmith 616

21.1范例报表 616

21.1.1建立一个报表 616

21.1.2要求1 623

21.1.3要求2 625

21.1.4要求3 626

21.1.5要求4 627

21.2范例报表1的Delphi表格 629

21.3范例报表2的Delphi表格 632

21.3.1要求1 632

21.3.2要求2 633

21.3.3要求3 634

21.3.4要求4 635

21.3.5要求4的继续 636

21.4范例报表3 637

21.5小结 640

第五部分对 象 641

第22章 消息处理 641

22.1 Delphi事件 641

22.2理解事件 645

22.3利用Delphi集来跟踪消息 646

22.4跟踪鼠标和键盘消息 651

22.5捕获虚拟按键 658

22.6直接处理事件 661

22.7处理wm_Command消息 664

22.8小结 668

第23章 对象和继承 670

23.1对象 670

23.2创建简单的对象 672

23.3理解继承 676

23.4 VCL程序的继承关系 681

23.5虚拟、动态和消息 683

23.5.1方法表与类型 689

23.5.2方法的指针 693

23.5.3对象与方法指针的综述 695

23.6 is与as操作符 696

23.7小结 700

第24章 对象、封装及属性 701

24.1封装 701

24.2简洁:好的对象设计的秘密 704

24.3一个实例 705

24.4属性 712

24.5关于属性的深入研究 715

24.6小结 726

25.1远程的多态性继承 727

第25章 多态性继承技术 727

25.2从另一角度看多态性继承 730

25.3虚拟方法和多态性继承 731

25.4 VCL中的多态性继承 735

25.5多态性继承的封装(主要观点的 738

回顾) 738

25.6 OBJECT 4 739

25.7 OBJECT 4的主要特性 761

25.8多态性继承的典型方法 764

25.9 MaskEdit和其他问题 766

25.10方法地址和多态性继承 767

25.11小结 770

第26章 创建组件 771

26.1组件理论 771

26.2创建已存在的组件的派生类 772

26.3扩展UNLEASH部分 779

26.4从头开始创建组件 785

26.5 CLOCK组件 788

26.6为组件建立图标 797

26.7 5个主要的Tools API 798

26.8属性编辑器 799

26.9小结 802

第27章 创建非可视组件 803

27.1 FindAllW程序 803

27.2使用TFileIterator重复查看目录 815

27.3何时应把可视对象转化成组件 817

27.4 AllDirs和FileIter单元 817

27.5重复浏览目录 818

27.6使用FindFirst、FindNext和 818

FindClose 818

27.7创建事件处理函数 820

27.8 DelAllDb程序 822

27.9小结 831

第六部分OLE与COM 833

第28章 对象的链接和嵌入 833

28.1基本概念 833

28.2 OLE技术:嵌入、就地激活和OCX 835

28.3在运行时使用TOleContainer 841

28.4 TOleContainer、文件IO和SCaling 844

28.5使用DDE 845

28.5.1简单的DDE服务器 845

28.5.2另一个DDE客户和服务器的 848

例子 848

28.6通过命令行来编译 857

28.7对资源的处理 858

第29章 OLE自动化的基础 861

29.1什么是OLE自动化 861

29.2作为OLE对象的Variant变量 863

29.3 自动化和登录 866

29.4 OLE参数:有名的和变化的 868

29.5 Variant数组 870

29.6 Excel自动化 876

29.7简单的OLE自动化服务器 878

29.8给自动化服务器加方法和属性 879

29.9 Delphi中的区域自动化服务器 884

29.10具体的包含 886

29.11 自动化对象 888

29.12小结 888

第30章 COM对象的基本知识 890

30.1 从DLL中输出VCL对象 891

30.2创建一个DLL服务器 898

30.3 登录和GUID 905

30.4创建对象 908

30.5考虑IClassFactory 911

30.6 IUnknown和IMyObject 913

30.7实现IClassFactory 915

30.8释放DLL 917

30.9创建客户程序 917

30.10从IMyObject中输出额外函数 924

30.11调试DLL 926

30.12创建一个EXE服务器 928

30.13在OLE文档上 936

30.14小结 936

存储 937

31.1使用结构化存储 937

第31章 COM、自动化、结构化 937

31.2打开一个已有的混合文件 943

31.3 VCL外的自动化 956

28.8小结 959

31.4调用TMyAuto对象 967

31.5 RunSimp程序 972

31.6关于OLE的最后几点 972

31.7小结 973

第七部分多媒体和游戏 975

第32章 Games SDK 975

32.1历史过程 975

32.2 Windows 95 Game SDK 976

32.3组件对象模块 977

32.4 DirectDraw 977

32.5 IDirectDraw对象 978

32.5.1 DirectDraw结果代码及Delphi异常 979

32.5.2选择全屏模式 979

32.5.3添加应用程序异常处理 980

32.6显示界面 980

32.6.1转换页面 982

32.6.2加上返回中止 982

32.6.3进入后部缓冲区 983

32.6.4恢复界面 983

32.6.5在DirectDeaw界面上画图 985

32.6.6锁定Windows 987

32.6.7使主模块无效 987

32.6.8 控制Delphi:自定义Canvas类 987

32.7 改善图像 990

32.8 关于调色板 993

32.9 全部组织起来 994

32.9.1 带透明区的位图块移动 994

32.9.2 一个简单的动画类 996

32.9.3更新显示 997

32.9.4处理键盘输入 999

32.9.5进入消息循环 1000

32.10需要精灵 1002

32.10.1 TDDSprite类 1004

32.10.2 显示统计量 1006

32.10.3复制精灵 1007

32.10.4 更新统计值 1009

32.10.5在设计时刻生成精灵 1010

32.11小结 1011

第33章 制作SDK世界 1012

33.1 快速动画与Games SDK 1012

33.2 XFire程序 1012

33.3 XFire总览 1054

33.4 DrawBoard部分 1056

33.5 GameBoard部分 1058

33.6生成一个迷宫 1059

33.7在地图上滚动 1064

33.8小结 1066

第34章 Delphi多媒体编程 1067

34.1 多媒体探秘 1067

34.2文件格式:需要多大的磁盘空间 1067

34.3硬件:需要什么样的机器 1068

34.4为何要为多媒体烦恼 1069

34.5 Delphi与多媒体 1070

34.6TMediaPlayer组件 1070

34.7在运行时打开TMediaPlayer 1071

34.8多媒体程序的两个方面 1072

34.9媒体通道程序的进一步讨论 1074

34.10定义一个可以放影像的窗口 1081

34.11演示程序 1083

34.12 MIDI细节 1097

34.13小结 1097

第35章 高级多媒体性能 1098

35.1在Delphi中使用OWL 1098

35.2 工具和限制 1099

35.3关于MIDI文件的一些说明 1100

35.4面对mciSendCommand的语言 1100

35.5集中注意力 1102

35.6播放文件 1103

35.7录制声音 1108

35.8 Media32程序 1110

35.9 多媒体特征通道的核心文件 1167

35.10性能对话框 1168

35.11恰当的前端 1169

35.12 与多媒体文件工作 1170

35.13设置时间格式 1170

35.14处理mm_Notify消息 1171

35.15小结 1173

第八部分Internet 1175

第36章 采用Delphi进行CGI编程 1175

36.1从何处入手 1175

36.2 Web文档是HTML文件 1177

36.3为什么编写网络应用程序如此 1178

烦人 1178

36.4比较网络节点 1178

36.4.3静态与动态页面 1179

36.4.1公共与私有 1179

36.4.2服务端平台是什么 1179

36.4.4交互作用的网络节点 1180

36.4.5数据库驱动的网络节点 1180

36.5分析网络节点 1181

36.5.1网页 1181

36.5.2流程中的网点地址页面 1181

36.5.3选择自己的软件工具 1182

36.6 CGI详述 1182

36.6.1 INI包含的一切 1184

36.6.2使用HTML窗体 1185

36.6.3 CGI程序的作用 1186

36.7为什么不是很容易 1186

36.7.1性能 1187

36.7.3存储状态 1188

36.7.4 HTML美工与程序员分离 1188

36.7.2跟踪时期 1188

36.7.5商业准则 1189

36.8框架的需要 1189

36.9电子商贸及安全 1190

36.10关于java 1191

36.11 小结 1192

37.1.3 多才多艺的小构件 1193

37.1.2组件是舞台上的演员 1193

37.1.1组件是TForm的邻居 1193

37.1 生活是不确定的,先来些点心 1193

第37章 在Delphi中控制BDE 1193

37.1.4自己动手 1194

37.2返回主要通道 1194

37.2.1 关键内容出现 1194

37.2.2 TWebApp和Company 1194

37.2.3 TWebCommandLine 1194

37.2.6生成HTML 1195

37.2.4 TWebHtmlMemu 1195

37.2.5TWebMenu 1195

37.3控制Delphi数据库组件 1196

37.3.1 介绍TWebDataGrid和TWebDataSource 1197

37.3.2练习 1198

37.3.3进一步定制 1200

37.3.4 一个新的Cyber-Shopping接口 1200

37.4控制Delphi 1201

37.4.1 String Grid 1201

37.4.2电子邮件 1202

37.4.3 加上组件 1203

37.4.4定义基本的 E-Mail设置 1203

37.4.5交互的轮廓 1204

37.4.6定制图形 1205

37.5网络交通 1207

37.6小结 1207