国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Delphi > 正文

一名Delphi程序員的開發習慣(非技術問題)

2019-11-18 18:46:24
字體:
來源:轉載
供稿:網友

有關開發習慣的一些想法,如鯁在喉,不吐不快。究其發貼動機,當然不排除有騙取參與分的可能,但另一方面,也希望能給同行(念Xing)者提供一些建議,或者參考(希望不是誤人子弟)。同時,也希望各位能夠就我的這些陋習,發表一點看法,給出批評和指正的意見。謝謝。

 

一.建立工程目錄

       首先,第一步要做的,當然是給新項目建一個單獨的目錄(別笑)。目錄名稱與項目名稱同名,或者另取一個也可,只要清楚、簡練。然后,在此目錄中創建以下各個目錄:

       <Doc>:用來存放該項目相關的開發文檔(需求說明,概要設計,詳細設計等等等等);

       <Source>:用來存放Delphi源程序中的”.DPR”,”.Pas”,”.Dfm”等文件;

       <Dcu>:該目錄中存放”.Dcu”文件,將’.Pas’’.Dcu’文件分開存放只是為了讓Source目錄的內容更加清楚一些;

<Bin>:存放工程的輸出文件,比如”.Exe”,”.Dll”或者”.Ocx”等等;

<Log>:用來存放日志文件;通常在這個目錄中我會放一個”<項目名稱>程序員日志.Txt”文件。

<Images>:當然是存放工程中用到的圖片的目錄了。一般情況下,這個目錄是少不了的。假如還用到其他資源,那么也一樣建立各自的目錄,比如Wav,比如Avi等等。

 

二.設置工程選項

Delphi中創建一個新的工程,將此工程保存到Source目錄中,同時:

a.       選一個耐看的,與項目有些聯系的圖標作為這個工程的圖標。當然,這個圖標可能只是臨時用用的,但是總要比Delphi默認的那個難看的要好才行,要不然,怎么對得起自己?

b.       Project Options -> Directories/Conditionals頁面中的Output Directory設置為Bin目錄;

c.       Unit output Directory設置為Dcu目錄。

 

三.添加常量單元

       添加一個新的Unit,另存為“unt<工程名> Consts.Pas”,用來保存工程中用到的常量。

 

四.有關窗體(Form)及單元(Unit)

按照匈牙利命名法則給Form命名,則一個用來登錄的窗體可以命名為’FrmLogin’,而其單元名可以為’untLogin’。通常,兩個對應的FormUnit的名稱在除去’Frm’’unt’的縮寫后應當保持一致。

Unit的頭部添加本單元的注釋,注釋的格式可以參照Delphi源碼,但是至少應當包含以下幾項:功能描述;作者;版權;創建時間;最后修改時間;修改歷史等等。

將新創建好的FormCaption設置為該Form類的名稱,而不是使用Delphi默認的。比如,將Form1更名為FrmLogin后,此時我們獲得了TFrmLogin這個新的窗體類,并且Delphi自動將窗體的Caption更新為’FrmLogin’。依我看,該Caption應當為’TFrmLogin’才是,因為我們在設計的是一個窗體類TFrmLogin,而不是僅僅對FrmLogin進行操作。

TFrmLogin這樣功能明確的窗體類,許多人都有在設計期就將其Caption設置為諸如“操作員登錄”這種名稱的習慣。我的習慣是,象“操作員登錄”這樣的常量,通常存放在unt<工程名>Consts.Pas中,用ResourceString來定義,或者用Const來定義。至于窗體的Caption的命名,應當屬于運行期的工作。所以,我往往在TForm.OnCreate事件觸發之時才對Caption進行操作,比如:

procedure TFrmLogin.FormCreate(Sender: TObject);

begin

       Caption := csLoginTitle;

       ....

end;

 

五.關于Format函數的使用

       iYeariMonthiDay三個數據,要顯示諸如“生日:1976/3/18”這樣的信息,你通常怎么做?使用s := ‘生日:’+IntToStr(iYear)+’.’+IntToStr(iMonth)+’.’+IntToStr(iDay); 嗎?這樣實在是太累了。我的習慣是,在unt<工程名>Consts.Pas中增加一個常量csBirthDayFormat = ‘生日:%d/%d/%d’來保存顯示格式,然后使用s := Format(csBirthDayFormat, [iYear, iMonth, iDay]);這樣的語句完成數據的拼裝。這么做的好處顯而易見,那就是你只需在一個地方維護數據的顯示格式。

       Format函數功能強大,我對它很是推崇,你呢?

 

六.關于注冊表或者Ini文件的存儲

原先訪問注冊表我通常使用TRegistry,而訪問Ini文件通常使用TIniFile。這兩個類的使用方法各不相同,因此想要使用相同的代碼既能訪問注冊表又能訪問Ini文件幾乎是不可能的。真頭疼啊!

終于我發現了救星!那就是TRegistryIniFile類。查看Registry單元,我們發現,TRegistryIniFile繼承自TCusomIniFile。而TIniFile也是繼承于TCusomIniFile。因此,使用抽象類TCusomIniFile來實現對注冊表或者Ini文件的訪問便是一舉兩得了。比如:

var

  csmIniFile: TCusomIniFile;

begin

  if blUseIniFile then//如果使用Ini文件

    csmIniFile:= TIniFile.Create(csRootKey)

  else

    csmIniFile:= TRegistryIniFile.Create(csRootKey);

  //接著就可以使用csmIniFileIni文件進行訪問,

//或者用類似訪問Ini文件的方式訪問注冊表。

 

七.關于TStream流以及TFileStreamTMemoryStream等等

       TFileStreamTMemoryStream都繼承自抽象類TStream,這意味著我們可以使用一套代碼完成對文件和內存的存取操作。因此,定義一些接口的時候,我往往傾向于將參數的類型定義為抽象類,而不是具體類。比如,要完成保存功能的一個函數,定義成

function Save(AStream: TStream): Boolean

就比定義成

function Save(AStream: TFileStream): Boolean

要靈活的多。

前一個定義是具有前瞻性的,因為它可以適用于以后可能出現的新型態的流。而后一個定義只適用于TFileStream這種流(當然包括TFileStream的子類),呆板多了。

我的習慣:如果存在抽象類,那么盡量將參數定義為抽象類的類型,畢竟,我們無法預見未來。

 

八.多使用TAction

       Delphi 4以后引入了Action的概念,并且在Standard組件欄中增加TActionList組件。使用Action的好處是,控件狀態同步的煩惱從此一掃而空!

        更多文章

 

Musicwind®@HangZhou.Zj.China


上一篇:在Delphi中編寫控件的基本方法

下一篇:delphi里播放flash

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产视频在线播放| 国产乱视频在线观看| 天天av天天爽| 最近中文字幕在线中文视频 | 精品女厕厕露p撒尿| 国产超碰在线| jizz亚洲| 国产色视频网站| 91精品专区| 狠狠干天天爱| 国产寡妇树林野战在线播放| 亚洲精品自拍区在线观看| 日本亚洲精品| 国产精品美女一区二区视频| 在线一区二区三区精品| 人人干人人插| 国产高清在线观看| 欧美专区日韩| 国产精品久久久久白浆| 97一区二区三区| 狠狠操视频网| 日本不卡视频一区二区| 国产激情视频网址| 黄色毛片在线| 日本视频在线观看一区二区三区| 国产系列电影在线播放网址| 本道综合精品| 伊人av免费在线观看| 日本中文字幕在线观看| eeuss在线观看| 精品网站www| 国产精品久久麻豆| 午夜视频在线看| www.91在线播放| 在线观看国产福利视频| 国产三区四区在线观看| 免费国产在线视频| eeuss影院在线播放| 亚洲精品影院在线| 亚洲欧美日韩综合精品网| 99re热视频在线| 精品无吗乱吗av国产爱色| 国产精品bbw一区二区三区| 国产乱人视频免费播放| 国产免费黄视频在线观看| 尤物视频免费在线观看| 最近中文字幕mv2018在线高清 | 国产粉嫩一区二区三区在线观看| 国产精品作爱| 国产小黄视频| 精品视频二区| 天天插天天射| 国产在线日本| 中文字幕在线第一页| 国产不卡精品一区二区三区| 国产视频1区| 在线视频1区2区| 开心婷婷激情五月| 最近免费中文字幕在线第一页 | 国产精品入口麻豆免费观看| 日本综合一区二区三区| 夜夜爽夜夜操| 免费a级人成a大片在线观看| 美女国产在线| 国产一级大片| 在线观看的网站你懂的| 在线免费观看黄色片| 欧美亚洲系列| 精品网站www| 午夜视频在线观看网站午夜视频在线| 国产三级免费观看| 在线观看视频污| 天堂在线看视频| 一本久久精品| 国产精品入口免费麻豆| 黄网址在线播放免费| 精品一区二区在线欧美| www.成人.com| 国产福利av网站| 国产尤物视频| 日本调教视频在线观看| 国产天堂素人系列在线视频| 夜色资源网av在先锋网站观看| √天堂中文在线| 日本成人网址| av中文网站| 精品视频三区| 国产成人夜间影院在线观看| 成年午夜在线| 国内外激情在线| 免费网站看黄yyy222| 先锋av资源网| www在线播放| 亚洲精品国自产拍在线观看| 国产区av在线| 国产一级黄色电影| 青青久在线视频免费观看| 精精国产xxxx视频在线动漫| 国产三区在线观看| 最新中文字幕av专区| 成人午夜无人区一区二区| 久久久久久国产视频| 欧美日韩一区二区三区在线播放| h视频在线网站| 免费a在线观看| 国产麻豆视频网站| 国产蜜臀在线| 天堂在线中文资源| 国产乱人视频免费播放| 国产一二三区在线观看| 国产羞羞视频在线播放| 国产精品合集一区二区| 国产福利免费观看| 亚洲欧美综合乱码精品成人网| a中文在线播放| 国产一级黄色大片| 国产精品粉嫩av| 国产porny蝌蚪视频| 在线色视频网| 国产精选在线观看| 中文字幕av在线播放| 日本视频在线| 天天操天天是| 亚洲欧美中文字幕在线观看| 欧美日韩在线资源| 国产三级视频| 午夜性爽视频男人的天堂| 久久久久久久久免费视频| 国产午夜精品一区理论片| 在线观看av中文| 99视频免费| av在线官网| 国产精品久久久精品a级小说| 亚洲成人电视网| 国产色在线 com| 免费观看v片在线观看| 国产aa视频| 丁香花高清视频完整版在线观看| 国产精美视频| 超碰国产在线| 精品成人免费自拍视频| 人日人天天爽| 国产成+人+亚洲+欧美+综合| 欧美人成在线观看网站高清| 国产极品视频| 五月伊人六月| av在线电影观看| 免费观看v片在线观看| 国产小视频在线高清播放| 好吊日视频在线观看| ·天天天天操| 九九热视频在线| 992tv在线观看在线播放| 久久99精品久久久久久野外| 国产人成精品| 国产美女在线观看| 国产视频中文字幕| 免费看黄视频网站| 影音av资源站| 一级二级三级在线观看| 国产福利在线视频| 国产美女福利在线| 青青草原国产在线| 四虎久久影院| 不卡av免费观看| 亚洲精品乱码电影在线观看| 亚洲综合激情六月婷婷在线观看 | 国产理论在线观看| 亚洲男人网站| 97最新国自产拍视频在线完整在线看| 伊人资源视频在线| 99视频免费| 国产精品美女一区二区三区四区| 国产九九九九| 国产网友自拍电影在线| 国产色在线 com| 中文字幕2020第一页| 精品一区二区三区在线成人| 国产不卡在线| 操人视频91| 丁香花视频在线观看| 中文字幕视频在线观看| 国产精品178页| 国产精品麻豆一区二区三区| 在线中文字幕第一页| 免费av在线| 国产超碰97| 日本啊v在线| 国产福利在线免费观看| eeuss影院网站免费观看| 国产在线观看av| 国产特黄在线| eeuss影院在线播放| 激情六月婷婷| 亚洲综合色视频在线观看| 国产在线www| 天天草天天干| 国产高清在线| eeuss影院在线播放| 国产免费av在线|