以下討論均基於Delphi XE8,主要是利用DELPHI新版的功能,如:Unicode,泛型,匿名函數等[XE2 后應該都支持]。
用新特性的好處是少寫代碼,提高效率。本博客不再討論Delphi舊版,舊版資料太多,無需太多重復。
本博客不討論第三方控件,因為Delphi沒落已成事實,第三方控件很難再去支持新版,但Delphi本身作為非程序員的工具,還是非常合適的。
非程序員要用DELPHI生存(生存是指用Delphi熟練正確地解決問題)下來,請參考以下技能:(本文會不斷更內容並加上實例代碼)
要打造一套自己的delphi單元支持鏈,遇到問題,可以快速開工。
一、缺省技能:語法,常用控件的應用,這些都是可查詢知識。
關於類的知識的入門視頻:
1) Delphi XE8 入門教學001(優酷視頻) , 基礎操作
2) Delphi XE8 入門教學002(優酷視頻) , 兩個窗體相互引用的問題。
3) Delphi XE8 入門教學003(優酷視頻) , TForm 可視化繼承。
4) Delphi XE8 入門教學004源碼 , FrmMain 引用 FrmProduct,但 FrmProduct 不准引用 FrmMain,
用事件來傳遞 Product 的值給 FrmMain 。
二、命名法則:用英文單詞給變量(類名,單元名,控件名等)取正確的名字。關於命名
三、必掌握技能:
1.對TThread進行擴展和改進,變成基礎線程類,以后所有需要用線程的地方,都從此類繼承。
如果不能掌握線程,程序就缺少了太多的可能性。稍耗時的地方,將會變得極其糟糕。
線程視頻教學: Delphi XE8 線程001-003(優酷視頻) ,
1).線程001源碼 線程視頻001中源碼
2).線程002源碼 線程視頻002中源碼
3).線程003源碼 線程視頻003中源碼
4).線程004源碼 本例用多個線程計算 N 的累加和。
5).線程005源碼 本例給線程發指令,讓線程做不同的工作。
6).線程006源碼 本例是線程向調用者請求數據。
7).線程007源碼 本例是線程組來解決同一個問題.
8).線程008源碼 本例是在線程中連接數據庫。
請先學004,005,這兩個示例最簡單,然后再從001開始學習實用型的線程用法。
其它線程示例:
A) TSimpleThread,以后都線程應用均從TSimpleThread派生
B) 把多個線程的某種操作,如:訪問數據庫的代碼集中(或者說阻塞)到一個特定線程中。
2.帶泛型的TList類
3.基於1,2的線程池
4.常用的字串操作函數功能
四、實用功能:基於第以上再擴展到具體就用的技能。
1.保存參數
Delphi 實現Ini文件參數與TEdit和TCheckBox綁定(TSimpleParam)
2.定時任務
五、根據情況選擇的技能
1.基礎外掛功能. A. 發消息外掛 B.鍵盤鼠標外掛 C.用DLL下鍵盤Hook.
2.操作網頁,模擬網頁. A.操作IE或TWebBrowse B.用Idhttp讀網頁或模擬登錄
a) 用IdHttpEx讀網頁
b) 操作IE,001
3.DataSnap. A.實現Rest服務供其它程序調用 B.簡單的三層
4.用Delphi操作數據庫。 如:MSSQL,建表,寫SQL,寫存儲過程,理解鎖,在存儲過程中用Applock等。
5.Windows API. Delphi基於windows,但許多windows功能在Delphi中並未實現,這就需要去調用Windos 的API.
如:VPN撥號,Win API 調用起來麻煩,各版本還有差異,要學會看MSDN,並構造那一大串參數
六、重要但又不重要的技能,如:各種高大上算法。我們是非程序員,請奉行拿來主義,請奉行簡單粗暴原則!
七、其它技能
修改Delphi IDE代碼補全的快捷鍵(由Ctrl+Space 改為 Ctrl + alt + Space)
總之:要少寫代碼,提高效率並要寫正確!