2009-07-21 49 views
6

有許多舊版德爾福書可以廉價購買。作爲一名自學成才的(高級)初學者,我很難知道哪些想法仍然相關並且是最新的,哪些已經過時。我希望有一點指導。例如,瞭解由BDE驅動的數據庫會不會過時? COM不再是常用的模型嗎? (注意:我可能會關閉我如何使用這些術語......我對他們的瞭解不多。)舊版德爾福教學資料

感謝您的想法!

+4

請勿使用BDE。請參閱布魯斯關於COM和吸菸的評論。同樣的規則適用於BDE,只有更多。 – 2009-07-22 02:45:57

+0

對於數據庫,請使用dbExpress,ADO(僅適用於SQL Server)或DevArt組件。無論如何,遠離BDE,Paradox和DBase。 – 2009-07-24 13:20:31

回答

4

大多數德爾福的書籍中仍然有大量相關的東西。大部分仍然不錯的東西是低級別的東西,比如編寫代碼,使用dll & bpls。即使編寫組件也幾乎相同。我有一天回到Delphi 3的書中,發現我想要的東西。

作爲一個建議,我會得到一個新舊書籍的組合。在新的方面,我會得到Marco Cantu's德爾福2007 & 2009手冊,他的Mastering Delphi 2005(忽略.net的東西)或掌握Delphi 7,這將給你很好的覆蓋面,都是優秀的書籍。 Bob Swart也有一些有用的書籍。

你可能不想回到Delphi 3之前的任何東西,但是一些pascal編程書籍可能會有所幫助。

你可能不應該對閱讀過時的東西有偏見,要知道如果你必須使用遺留代碼,這是非常有用的,只要你刷一些更現代的書你應該沒問題。

我也推薦閱讀Code Complete 2或Pragmatic Programmer。您可能還想閱讀關於設計模式和重構的書籍 - 這些書籍沒有專門針對Delphi編寫的書籍。

+1

+1爲語用程序員。優秀的書。我目前正在閱讀代碼完成2. – Pauk 2009-07-22 08:22:24

6

BDE已經死了,但它可能被用在某個地方,你可能會發現BDE愛好者。 BDE很難安裝,並且還有一些法律問題。 COM也死了,但它仍然可用,並在傳統應用程序中被廣泛使用。大多數人使用免費的圖書館,如JEDI或Zeos--或商業的DevExpress或TMS。我認爲學習基本的VCL和一些免費的圖書館將是很好的開始。同時也確切知道Delphi中的對象和類是如何工作的,這將對你的職業發展有很大的幫助。

7

很多Delphi概念(和代碼),即使是舊版本,也適用於較新的版本。某些組件不在附近(NetMaster等),有些組件被凍結,不應該用於新開發(BDE),並且有一個HUGE number of new features可以跟上。

至於COM。在利諾Tadros的不朽的話(這傢伙用於獲取COM支持進入德爾福的主要原因):

COM是喜歡吸菸:如果你還沒有 開始,你不應該從現在開始,如果 你已經在做它,時間是 停止。

+3

+1是的 - 喜歡吸菸壞鍋,這是! :-) – 2009-07-22 05:16:23

6

編碼習慣的死亡是一個非常相對的事情。我仍然知道仍在運行的COBOL應用程序......主要是因爲它們仍然可以工作,並且不處理日期,所以讓它們運行還不止。有時候它可能不是最好的「新辦法」,但如果它沒有任何改變,那麼它爲什麼會變得混亂。

COM的概念並沒有真正死亡......它的發展和知道如何使用它可以幫助你理解和應用最新的進化。你需要知道程序集是一個很好的Delphi程序員嗎?絕對不是,但它是有助於理解如何更好地優化例程的知識。

在Delphi中,COM不只是關於對象模型。它也關於接口。接口仍然是一個非常有用的工具,如果你知道Delphi中的COM開發,你就會知道接口是如何工作的。

至於遺留的書......我說他們在書架上隨​​時瀏覽它們。有時回頭看看可能會幫助你跳躍。爲什麼我在我的書架上有Algorithms + Data Structures = Programs的副本。有趣的是,本書中的大部分代碼仍然編寫了一些小的更改。當然代碼不是面向對象,但概念仍然是我今天使用的。您可能會驚訝二叉樹沒有改變多少,以及如何優化它的最佳方式仍然是相同的。如何有時使用簡單的舊主 - 主 - 主 - 主程序比將數據加載到SQL表中然後執行更新的速度更快。

它並不總是關於酷的因素......有時它關於什麼有效。

0

Calvert's Delphi unleashed對Delphi和COM來說也是一個不錯的開始。

0

對於數據庫訪問,舊書籍會推薦使用BDE,但BDE已被棄用,不應在新應用程序中使用。

BDE表示Borland數據庫引擎。任何使用TTable,TQuery,TSession和TDatabase組件的應用程序都使用BDE。

您應該使用的數據庫訪問方法是dbExpress/client數據集斷開連接的數據訪問模型。這聽起來有點複雜,是的,與舊的BDE相比,它有點困難。

在一個典型的BDE應用程序從GUI到數據庫中的成分迷上了這樣的

TDBEdit到的TDataSource來的TTable到TDatabase的

在dbExpress的客戶數據集中式的應用程序的組件都迷上了這樣的

TDBEdit到的TDataSource到的TClientdataSet到的TDataSetProvider到將TSQLDataSet到TSQLDatabase

前兩個部分在該鏈(TDBEdit,的TDataSource)完全加工對象物S就像你可以找到的任何Delphi書一樣。

接下來的兩部分,ClientDataSet和TDataSetProvider最初稱爲MIDAS,但現在稱爲DataSnap。他們已經有相當一段時間了,但只有在最後幾個版本中,他們才成爲正式推薦的數據庫訪問解決方案。

TSQLDataSet和TSQLDatabase是該鏈的最新部分,被稱爲DBExpress。

0

德爾福3以來的任何Delphi書都應該在很大程度上與很大程度上相關。 Delphi 3做了重大更改,所以之前的任何內容都可能已過時。

我會同意其他人認爲BDE已經失效。即使它應該是Delphi的主要選項,我也從來不喜歡它。這也許可以解釋爲什麼Borland需要這麼長時間才能提供一個體面的內置ADODB組件(你必須在Delphi 5中購買它們作爲可選附加組件)。

如果您有任何必要進行進程間通信(我不確定對於所有說COM已死的人都有什麼替代方法),COM仍然非常相關。事實上,COM +(託管對象以提供可伸縮性的Windows服務器上的服務)仍然是微軟策略的一個組成部分。 COM並不是完美的,但它還沒有被Microsoft作爲一個概念取代(沒有.NET不能取代它)。