目 錄
譯者序
第一部分 入門
第1章 程序設計基礎
1.1 本書的結構
1.2範例程序
1.3創建設計良好的程序
1.3.1設計問題:書寫簡單的代碼
1.3.2螺鏇式上升
1.3.3好OOP與差OOP的對比
1.3.4注意靈活的事件處理程序
1.3.5感到懶於理清程序的環節
1.3.6避免使用隱藏數據交叉鏈接對象
1.3.7簡短的方法
1.3.8變量、方法以及過程的命名
1.3.9避免特徵漂移
1.3.10創建組件
1.3.11使用第三方工具
1.4本書正文的注意事項
1.4.1Unleash和Merc40包
1.4.2CodeBox單元
1.4.3建立網絡
1.4.4Borland/Inprise的名稱變化
1.4.5注釋代碼
1.5總結
第2章IDE和VCL增強
2.1可停放的工具欄
2.2使用工具窗口
2.3使用COdeExplor
2.4 Delphi4中的新工具
2.4.1使用ProjectManager和調試器
2.4.2調試DLL
2.4.3使用模塊視圖
2.4.4使用事件日誌窗口
2.4.5CPU視圖
2.4.5調試器中的新特徵
2.4.6CodeBrowser和TooltipSymbolInsight
2.5停靠窗口
2.5.1在窗體中停放控件
2.5.2在窗體中停放窗體
2.6動作列錶
2.6.1使用動作列錶
2.6.2使用標準動作
2.7函數重載
2.7.1方法重載和繼承
2.7.2使用方法重載時要避免的錯誤
2.7.3默認參數
2.8動態數組
2.9implements關鍵字
2.10總結
第3章 多態性
3.1多態性的概念
3.1.1 賦值和等於的比較
3.1.2多態性的簡單例子
3.2多態性賦值能力
3.2.1設置子對象適閤於它們的父對象
3.2.2多態性的另一麵
3.3虛方法和多態性
3.3.1經典的形狀演示
3.3.2沒有多態性的代碼
3.4 VCL中的多態性
3.5總結
第4章 異常處理
4.1本章如何處理異常
4.2異常的理論
4.2.1 異常的功能
4.2.2默認異常處理程序
4.2.3整個程序是一個大try塊
4.2.4未處理異常引起的恐慌
4.3異常類
4.4基本異常句法
4.4.1一個簡單的try..except模塊
4.4.2異常的關聯錯誤字符串
4.4.3找到錯誤的地址
4.4.4異常處理總結
4.5引發異常
4.5.1引發VCL異常類
4.5.2理解VCL異常類
4.5.3運行Gauntlet:多異常類
4.5.4在常規except語句中捕獲異常
4.6創建和引發自己的異常
4.7再引發異常
4.8try..finally塊
4.9流、異常和空閑空間
4.10 替換默認的異常處理程序
4.11 使用資源跟蹤錯誤字符串
4.12總結
第5章 綫程
5.1進程和內存
5.1.1 綫程與多任務
5.1.2 搶占式與非搶占式多任務
5.2綫程:一個簡單的例子
5.3多綫程程序
5.3.1任Thread2程序中使用綫程
5.3.2嚮綫程函數傳遞一個參數
5.3.3臨界區:讓多個綫程同時工作
5.4處理互斥元
5.5綫程和VCL
5.6綫程安全數據庫訪問
5.7VCL綫程安全對象
5.8使用TThread對象
5.9設置綫程的優先級
5.10重訪Delphi綫程
5.11總結
第二部分 創建組件
第6章 創建組件(一)
6.1組件原理
6.2創建現存組件的派生組件
6.2.1創建簡單的組件
6.2.2雙嚮工具
6.2.3注冊組件
6.2.4改變組件的默認行為
6.2.5動態創建並檢查組件
6.3包:將組件放入ComponentPalette中
6.3.1什麼是包
6.3.2創建包
6.4 擴展Un1eash單元
6.4.1TCCBigEdit和TCCEmptyPanel控件
6.4.2創建復閤組件
6.4.3創建組件的published屬性
6.4.4流屬性的注意事項
6.5創建真正有用的組件
6.6總結
第7章 創建組件:(二)
7.1從頭開始建立組件
7.2時鍾組件
7.2.1瞭解TCCClock
7.2.2TCCColorClock
7.2.3創建FancyClock
7.3為組件創建圖標
7.4ToolsAPI:PropertyEditor和 ComponentEditor
7.4.1五個主要的ToolsAPI
7.4.2PropertyEditor
7.4.3關於注冊你自己的組件以及
ComponentEditor的更多知識
7.4ComponentE山tor
7.5不可視的組件
7.6FindAllW程序
7.6.1使用TFileIterator遍曆目錄
7.6.2什麼時候應該把對象做成不可見組件
7.6.3AllDirs單元和FileIter單元
7.6.4遍曆目錄
7.6.5使用FindFirstFindNext和FindC1ose
7.6.6創建事件處理程序
7.7CompDirs程序
7.8TCCPickDirDlg
7.9組件模闆
7.10 ActiveX控件
7.11總結
第三部分 數據庫編程
第8章 字段和數據庫工具
8.1從關係數據庫開始
8.1.1關係數據庫模型的優勢
8.1.2 簡單的邏輯設置:關係數據庫的基礎
8.1.3DBD和DatabaseExplorer中的索引和關鍵字
8.2 重點規則:給每個錶建立一個關鍵字
8.2.1一對多的關係:數據和索引
8.2.2用主關鍵字和主索引工作
8.2.3用副索引和外部關鍵字工作
8.2.4關鍵字的重要性
8.3用數據庫工具瀏覽和操作數據庫
8.3.1瀏覽DBDEMOS數據庫的關鍵字和索引
8.3.2用DatabaseDesktop創建索引
8.3.3創建彆名
8.3.4使用DatabaseDesktop創建主關鍵字和外部關鍵字
8.3.5探究引用完整性
8.3.6關係數據庫和聯結
8.3.7 聯結和QBE
8.4FieldsEditor
8.5計算字段
8.6運行期間的TDBGrid
8.6.1在運行中控製DBGrid的Options屬性
8.6.2運行時顯示DBGrid選項
8.7使用TDBGrid列
8.7.1改變TDBGird對象的標題
8.7.2 改變網格裏的整列
8.7.3改變網格裏一行的顔色
8.7.4 改變列寬
8.7.5在TDBGrid裏隱藏列
8.7.6顯示可見字段的列錶
8.7.7運行時移動列
8.8查找字段
8.9多記錄對象
8.10總結
第9章 平麵文件現實世界數據庫
9.1本章示例程序
9.2設計應用程序
9.2.1定義數據
9.2.2程序設計的焦點
9.3定義程序的外觀
9.4查找:處理Category字段
9.5設置程序的命令結構
9.6查看應用程序的“粗略草稿
9.7創建自己的對象
9.8創建最終的程序
9.9切換進和切換齣隻讀模式
9.10排序數據
9.11查詢數據
9.12篩選數據
9.13標記文件
9.14設置顔色
9.15使用注冊錶
9.16剪貼闆:剪切、復製和粘貼
9.17總結
第10章 關係式數據庫
10.1現實世界的數據
10.2測試關聯地址程序
10.3kdAdd代碼
10.3.1使用kdAdd程序
10.3.2為kdAdd建立索引
10.3.3查詢記錄
10.3.4插入數據和取消操作
10.3.5刪除數據:程序的數據模塊初覽
10.3.6數據模塊:級聯刪除
10.3.7數據模塊:總體登記
10.3.8在字符串資源中加入錯誤字符串
10.3.9About框
10.4使用kdAddExplore程序
10.4.1使用TSession
10.4.2kdAddExplore程序的代碼
10.4.3用TTreeView顯示係統數據庫
10.4.4 展開TTreeView節點
10.4.5為TTreeView加入可用錶的列錶
10.4.6找到索引和字段
10.4.7顯示彆名和彆名參數
10.5總結
第11章 使用本地InterBase服務器
11.1從InterBase開始
11.1.1數據庫和工作市場
11.1.2設置本地InterBase
11.1.3設置InterBase彆名
11.2創建數據庫
11.2.1使用WISQL
11.2.2創建錶
11.3利用WISQL管理數據庫
11.4事務處理
11.4.1創建TRANSACT程序
11.4.2使用TRANSACT程序
11.4.3理解事務處理
11.5高速緩存更新
11.6多對多關係
11.7安全和InterBaseServerManager
11.7.1定義錶的訪問權力
11.7.2利用InterBaseServerManager備份錶
11.8總結
第12章 InterBase編程
12.1關於Music程序
12.2設計Music程序
12.2.1創建數據庫方案
12.2.2修改錶:空或非空
12.2.3重新命名現有錶中的字段
12.2.4創建Blob字段
12.2.5主關鍵字和外部關鍵字
12.3在Music錶創建索引
12.4 生成器、觸發器和存儲過程
12.4.1不要在活動索引上使用觸發器
12.4.2使用存儲過程
12.4.3來自Delphi端的存儲過程
12.5服務器端規則和客戶端規則
12.6Music程序界麵概述
12.7使用子窗體
12.8Music程序的代碼
12.8.1使用Music程序
12.8.2禁止密碼:TdataBase對象
12.8.3FormCreate事件
12.9使用Music程序中的數據
12.10嚮數據庫提齣一個問題:簡短的SQL入門
12.10.1不返迴數據集閤的存儲過程
12.10.2查看數據範圍
12.11總結
第四部分 COM
第13章 COM接口和基礎
13.1理解COM接口
13.1.1COM是什麼?
13.1.2COM和窗口
13.1.3即插即用應用程序
13.1.4 COM的問題
13.1.5UNIX上的COM
13.1.6COM+和COM的未來
13.2接口介紹
13.2.1新接口類型
13.2.2接口不是類
13.2.3不能直接實現接口
13.2.4 利用類實現接口
13.2.5調用接口的方法
13.2.6破壞接口
13.3接口背後的理論
13.3.1使用接口的原因
13.3.2維護或更新接口
13.4 創建和使用COM接口
13.4.1理解GUID
13.4.2關於注冊錶和GUID所有內容
13.4.3理解IUnknown
13.4.4 實現IUnknown
13.4.5為接口指定GUID
13.4.6幻數
13.4.7UnknownByUser程序的注釋
13.5高級接口問題
13.5.1多個接口
13.5.2方法解析語句
13.5.3Implements僞指令
13.5.4虛方法錶
13.6總結
第14章 TC0mObjectTTypedComObject以及類型庫
14.1樣例程序
14.2TComObject
14.2.1在DLL中放置普通接口
14.2.2IClassFactory
14.2.3ISystemInfo接口
14.2.4 注冊DLL
14.2.5從可執行文件訪問存儲在DLL中的COM對象
14.2.6 越過程序邊界編組數據
14.2.7編組數據
14.2.8Variant數組
14.2.9調用ISystemInfo數據
14.3類型庫和查詢對象
14.3.1創建類型庫
14.3.2 創建查詢類型庫的客戶程序
14.3.3檢索ITypeInfo
14.3.4 獲取接口信息
14.4 總結
第15章 創建COM自動化服務器和客戶程序
15.1理解OLE自動化客戶程序和服務器
15.2 建立簡單的COM服務器和客戶程序
15.2.1建造簡單的服務器
15.2.2在服務器上添加方法
15.2.3查看生成的源代碼
15.2.4添加接口屬性
15.2.5建立簡單客戶程序
15.2.6通過TCOMInterface來調用方法
15.2.7通過dispinterface調用方法
15.2.8通過Vaeiant調用方法
15.3IDispatch 雙重接口和dispinterface
15.3.1從Word調用SimpleAutoServer
15.3.2VTable和雙重接口
15.4 類型庫
15.4.1什麼是類型庫
15.4.2創建類型庫
15.4.2有效的自動化類型
15.5用EmptyParam忽略參數
15.6注冊
15.7自動編組數據
15.8從一個CoClass得到兩個或更多的接口
15.9總結
第16章 用De1phi完成Word和Excel自動化
16.1自動化Office應用程序的係統要求
16.2啓動Delphi和Excel
16.2.1啓動Excel
16.2.2使用COMObj
16.2.3瞭解Excel的簡單自動化
16.2.4比較接口和Variant
16.2.5理解CreateOleObject
16.2.6Variant和類型
16.2.7創建Excel自動對象
16.3瞭解Excel自動化對象
16.3.1在APplication對象內訪問各種對象
16.3.2使用自動化
16.4在Excel和Word間共享圖錶
16.4.1創建電子錶格
16.4.2創建圖錶
16.4.3使用SeriesCollection對象
16.5從Excel嚮Word復製數據
16.5.1Word內部的自動化
16.5.2發送文檔
16.6總結
第五部分 Internet編程
第17章 接口和InternetExplorer
17.1Variant與接口的對比
17.1.1 補救接口
17.1.2使用類型庫
17.2本章所需文件
17.3使用Word和Exce1
17.3.1使用Excel和Word接口
17.3.2比較Variant和接口技術
17.4 使用IE和TwebBrowser
17.4.1開始:訪問WebPage中的元素
17.4.2運行時在瀏覽器上處理
HTMI
17.5在瀏覽器內放置ActiveX控件
17.6總結
第18章 WebBroker: CGI和ISAPI
18.1WebModule
18.2WebServerApplicationWizard
18.2.1CGI
18.2.2WinCGI
18.2.3ISAPI/NSAPI
18.2.4CGI與ISAPI
18.3WebBroker組件
18.3.1TWebModule
18.3.2 TWebResponse
18.3.3 TWebRequest
18.4 InreaBob
18.5TPageProducer
18.6TDataSetPageProducer
18.7瀏覽狀態
18.7.1FatURL
18.7.2Cookie
18.7.3 隱含字段
18.8高級網頁的生成
18.9TDaraSetTableProducer
18.10DatabaseWebApplicationWizard
18.11TQueryTableProducer
18.12總結
第19章 WinINet和FTP
19.1理解WinINet FTP和TCP/IP
19.1.1 所需文件
19.1.2確保FTP在係統中運行
19.1.3安裝TCP/IP應該注意的問題
19.2FTP使用WinINet
19.2.1使用InternetOpen
19.2.2使用InternetConnect
19.2.3獲得當前目錄
19.2.4 在目錄中查找文件(一)
19.2.5在目錄中查找文件(二)
19.2.6檢索文件(一)
19.2.7創建迴調
19.2.8檢索文件(二)
19.2.9發送文件到服務器的簡單方法
19.2.10刪除文件
19.2.11創建和刪除目錄
19.3在程序中使用FTP控件
19.3.1連接服務器
19.3.2響應OnNewDir事件
19.3.3改變目錄
19.3.4 跟蹤文件傳送
19.4總結
第六部分 分布式編程
第20章 DCOM
20.1COM和分布式體係結構
20.1.1 什麼是DCOM
20.1.2在Windows95/98和WindowsNT上運行DCOM服務器
20.1.3作為DCOM服務器使用Windows98
20.2 簡單的DCOM客戶程序和服務器
20.2.1建立服務器
20.2.2理解Safecall
20.2.3機器之間編組數據
20.2.4創建DCOM客戶程序
20.2.5使用遠程對象
20.3再訪問SystemInformation程序
20.4輕量遠程數據集
20.4.1理解DataCOMServer程序
20.4.2訪問遠程數據集的DataCOMC1ient
20.4.3理解DataCOMClient
20.4.4編輯數據行
20.5程序數據和自動化數據
20.6測試遠程調試係統
20.7總結
第21章 MIDAS
21.1多層計算概述
21.1.1什麼是MIDAS
21.1.2分布式計算的目的
21.1.3公文包模型概述
21.1.4術語
21.1.5查找調度程序
21.2技術細節:使用分布式數據集
21.2.1建立簡單的MIDAS應用程序
21.2.2創建SimpleMidasServer
21.2.3理解服務器
21.2.4導齣TProvider接口
21.2.5為客戶應用程序準備服務器
21.2.6創建簡單的MIDAS客戶程序
21.2.7理解簡單的MIDAS客戶程序
21.2.8遠程訪問服務器
21.2.9使用套接字代替DCOM
21.3建立一對多應用程序
21.4 建立遠程數據客戶應用程序
21.4.1更新和刷新數據
21.4.2公文包模型
21.4.3PacketRecords
21.5錯誤處理
21.6 服務器端邏輯與客戶端邏輯
21.7所需的DLL
21.8使用OLEnterprise
21.9 總結
第22章 AcriveForm
22.1介紹ActiveForm
22.2建立ActiveForm
22.3配置在InternetExp1orer裏使用的ActiveForm
22.3.1為ActiveForm設置選項
22.3.2連接到ActiveForm上
22.3.3瞭解OCCACHE
22.4 使用CAB文件和包
22.4.1理解INF文件
22.4.2許可證問題
22.5在Word中運行AcriveForm
22.5.1注冊應用程序
22.5.2在Microsoft歲ord裏運行窗體
22.6使用ActiveFOrm模闆
22.7套接字和AcriveForm
22.7.1套接字概述
22.7.2建立套接字支持的MIDASActiveForm
22.7.3創建基於MIDAS的ActiveForm
22.8總結
第23章 MTS
23.1什麼是MTS
23.2如何安裝MTS
23.3創建簡單的MTS服務器
23.4 創建簡單的MTS客戶程序
23.5調用本地對象
23.6用MTS注冊對象
23.7遠程調用對象
23.8創建簡單的MTS數據庫服務器
23.9創建簡單的MTS數據庫客戶程序
23.10處理MTS事務
23.11建立跨越多個服務器的MTS示例
23.12Rocket程序的代碼
23.13總結
第24章 CORBA
24.1理解CORBA
24.1.1什麼是CORBA
24.1.2比較DCOM和CORBA
24.1.3什麼是ORB
24.1.4什麼是SmartAgent
24.1.5什麼是BOA
24.1.6什麼是代理、存根和框架
24.1.7理解Delphi和CORBA
24.2兩個重要的CORBA存儲庫
24.2.1什麼是InterfaceRepository
24.2.2什麼是ImplementationRepository
24.3簡單的CORBA對象
24.3.1服務器
24.3.2客戶程序
24.3.3理解客戶程序
24.3.4理解CORBA存根
14.3.5理解CORBA框架
24.4理解服務器的IDL接口
24.5簡單的CORBA動態項目
24.6簡單的CORBA數據庫對象
24.6.1 創建CORBA數據庫服務器
24.6.2創建客戶程序
24.7利用VisiBrokerManager和OSFind
24.8總結
第25章 Delphi、Java和C++
25.1在Delphi和Java中使用CORBA
25.2從Delphi調用Java服務器
25.3從C++Builder調用DelphiCORBA服務器
25.3.1用C++建立CORBA服務器並從Delphi調用
25.3.2理解BCBCorbaserver
25.4 總結
第七部分 遊戲編程
第26章 VCL圖形類
26.1WindowsGDI與VCLTCanvas
26.1.1理解GDI
26.1.2 VCL使圖形編程更容易
26.2使用TCanvas
26.3研究與使用畫刷
26.3.1TBeush.Color屬性分析
26.3.2TBrush.Style屬性分析
26.3.3TBrush.Assign方法分析
26.4 研究與使用畫筆
26.4.1TPen.Style屬性分析
26.4.2TPen.Width屬性分析
26.4.3TPen.Mode屬性分析
26.5研究與使用字體
26.5.1TFont.Height屬性分析
26.5.2TFont.Size屬性分析
26.5.3TFont.Name屬性分析
26.5.4 TFont.Style屬性分析
26.6 研究與使用TCanvas.PenPos
26.7研究與使用TCanvas.ClipRect
26.8研究與使用TCanvas.CopyMode
26.9研究與使用TCanvas.Pixels
26.10 分析與理解TCanvas方法
26.11 MainBrush範例代碼
26.11.1 OnCreate事件
26.11.2FormShow方法
26.11.3設置畫筆模式
26.11.4使用Fonts
26.11.5在畫布上畫齣形狀
26.11.6使用CopyMode
26.11.7修改ClipRect
26.12其他名稱的綫條
26.13 深入研究VCL
26.13.1深入瞭解TColor
26.l3.2Colors樣本項目
26.13.3OnChange事件處理程序
26.14 調色闆
26.15 深入瞭解Windows的圖形文件格式
26.15.1分析位圖和DIB
26.15.2分析圖標
26.15.3分析元文件
26.16分析TPaintBox和Tlmage
26.17再談位圖
26.18 總結
第27章 DirectDraw
27.1理解DirectDraw
27.1.1什麼是DirectDraw
27.1.2 關於雙緩衝的幾點想法
27.1.3硬件與仿真
27.2 一個簡單的DirwreDraw程序
27.3釋放接口
27.3.1進入獨占模式和改變屏幕分辨率
27.3.2DirectDraw錶麵是什麼
27.3.3嚮屏幕寫文本
27.3.4 交換錶麵
27.3.5釋放內存
27.4平滑動畫
27.5使用位圖
27.6遊戲資源
27.7總結
第28章 更多的DirectX技術
28.1DirectSound
28.1.1 初始化DirectSound
28.1.2枚舉聲音驅動程序
28.1.3使用DirectSOundBuffer
28.1.4 打開WAV文件
28.1.5播放聲音文件
28.1.6播放大文件
28.1.7一次播放兩個WAV文件
28.2創建DirectX遊戲
28.2.1創建DelphiMan程序
28.2.2實現DelphiMan程序的注意事項
28.2.3“機器人物 的控製
28.2.4小結DelphiMan程序
28.3瀏覽Direct3D
28.4關鍵的3D技術
28.5總結
配套光盤內容
· · · · · · (
收起)