精華區beta PLT 關於我們 聯絡資訊
要我推薦書的話, 我會推薦Delphi包裝裡頭內附的說明書。 不為什麼, 只因為那些是最基本該看的東西, 一些很基本的問題 都在說明書的解答範圍內。 李維先生的著作基本上也是有一定的入門磚作用, 不過我並不清楚 他老人家(:P)到底寫了哪些書, 只在書店裡頭瀏覽過而已。 我的感想只有一個: 萬流歸宗, Windows上的程式要寫得巧, 你不能光靠別人幫你把SDK的知識翠取出來, 而得自己在SDK 裡頭用心了解。 當你自己都懂得從SDK裡頭去挖出自己想要用的功能呼叫來 組合出自己想要的效果時, 你也不需要再靠一個像李維先生 這樣的人來幫你開路了。SDK的基本文件可以在Delphi online help 中找到, MSDN內附的Platform SDK (也可以從Microsoft的網站 download, see http://msdn.microsoft.com/developer/default.htm ), Internet Client SDK等來自Microsoft的文件都是尋找完成 自己要求功能的寶藏(雖然對不懂門路的人可以說跟大海撈針一樣)。 剩下的, 我過去在書店裡頭翻閱找得到的Delphi中英文書的感想 就是: 還是回家把Delphi盒子裡頭那幾本書看熟一點, 看融會貫通 一點吧。 我想剩下的就是語文問題了。語文問題有兩個層面, 一個是 中英文的問題, 另一個是C/C++跟Pascal的問題。 英文不好的人, 只好等看看李維先生能不能繼續出些Win32 API 入門應用之類的書給Delphi使用者看, 不然就自己想辦法把英文 練好了。 最近Inprise也注意到C/C++跟Pascal的問題了, 開始支持一個 本來是非官方的JEDI計劃, 有系統的把各種Win32 API的函式宣告 轉成Delphi unit. 這算是個好消息, 畢竟不是每個Delphi使用者 都會C/C++或看得懂Win32 API那麼拉哩拉雜的宣告方式。不過就 現階段而言, 要等JEDI把Microsoft最近幾個月搞出來的API通通 轉成Delphi的宣告, 那真的是有得等了。當然比較熱門的會近乎 立刻轉好, 像DirectX API header. JEDI project的網址在 http://www.delphi-jedi.org/ 剩下的, 盡信書不如無書, 畢竟書出得很慢, 對象也多半侷限 在初學程度而已。如果要深入探討, 挖網路上找得到原始碼的 元件來自我學習一番, 既不用錢, 又可以經由模仿得到成效。 除此之外, Delphi內附的RTL/VCL source code也是很好的研究 目標; 不過前提是你已經要能夠看懂那麼盤根錯節的一大攤程式 碼了。 我從Turbo Pascal 5.5用到現在, 家裡跟Turbo Pascal/Borland Pascal/Delhi相關的書只有Borland原版盒子裡頭內附的說明書 跟兩本李維先生的著作。因為我覺得即使是Delphi unleashed 系列的內容, 都是可以從Delphi附的說明手冊中發揮出來的東西, 而不是說明手冊裡頭真的沒有的東西。 當然我不是真的沒看到過值得建議別人去看的Delphi書, 有一本 DirectX in Delphi跟一本network programming in Delphi對於 在這兩方面想入門的人多少還是有很大的幫助。不過對於已經有 socket programming基礎的人, 以及有一堆免費的DirectX VCL component source code可看(如DelphiX與DGC)的人, 這些要錢 的書就顯得乏善可陳了(書更新的速度永遠趕不上這些component source code更新的速度)。 我想現在Delphi中英文書中比較缺少的就是COM/CORBA深入探討 類型的吧。現今市面上Delphi談COM/CORBA的書多半就是拿Delphi Developer's Guide上頭的內容在發揮而已, 即使李維先生的書 也沒跳脫這個範圍。如果是Delphi Developer's Guide上頭就已經 有的東西, 又何必再花錢去買主題重複卻沒深入探討書來看呢? 實際上目前這方面也只能從Delphi RTL/VCL source code去研究, 再佐證以Microsoft出的各類COM架構技術探討的書籍來了解了; 不過這對於看不懂C/C++跟Microsoft的C++ interface寫法的人 無疑是一面很厚重的牆壁。 就以Win95從最原始的版本中就有的shell namespace跟shell object 來說, 這些都是需要有COM為基礎來支援的。Delphi的demo中 提供了簡單的shell extension寫法, 對於如何作出自行定義的 shell folder跟shell view/object/band, 就完全使不上力了。 這方面有興趣的人可以自己參考一下Delphi Power Information page: http://members.tripod.com/~delphipower/ 有些人說RAD的工具終究只能作作表面功夫, 其實這是不正確的。 一個功能完整的工具如果只能做出表面功夫, 那是使用者的功力 不夠, 而不是開發工具的錯。 -- ※ 發信站: 批踢踢實業坊(ptt.twbbs.org) ◆ From: as1po47.tc.ficn