| 導購 | 订阅 | 在线投稿
分享
 
 
 

Delphiwe編寫規範

2006-12-17 09:48:34  編輯來源:互聯網  简体版  手機版  移動版  評論  字體: ||

Delphiwe編寫規範

Delphiwe編寫規範 程 序 編 寫 規 範

1、 變量聲明d

 所有的變量不 論類型, 均以v開頭, 如:

var vWorkerName:string;

vYear:integer;

vDate:tdate;

 _recordset對象的前綴爲vrs。

 特殊的變量:vSql:基本上所有的SQL語句均先用變量vSql斌值, 如:

var vSql:string;

begin

vsql:=』select a.fdworker 『;

vsql:=vsql+』 from tabworker a 『;

end;

控件命名

類 前綴 示例

TEdit ed edWorkerNo

TDBGrid grd grdWorker

TCombobox cbo cboWorker

TDateTimePicker dp dpDate

TButton c cOk cCancel

TCheckBox chk chkCancel

TSpeedButton sb sbWorker

TClientDataSet cln clnWorker

TDataSource ds dsWorker

TAdoDataSet adods adodsWorker

TPanel pan panTop

TForm frm frmWorker

TDataSetProvider pvd pvdWorker

TTreeview trv trvRawType

TListview lst lstWorker

TPageControl pc pcWorkerInformation

TImage img imgWorker

TMemo ed edMemo

2、 函數及過程的命名3、

 函數的前綴用f

例如:處理數據檢查的函數:function fCheckData:boolean;

 過程的前綴用p

例如:處理工人離職的過程:procedure pWorkerLeave;

命名規則

 所有變量或控件的命名 均采取英文意義命名, 並且盡量不 要用縮寫。

例如: 對輸入工人姓名的TEdit的命名爲:edWorkerName

而不要命名爲:edWN等縮寫形式

 數據表的前綴爲tab, 字段的前綴爲fd。

例如: 工人表的名稱爲:tabworker

工人編號的字段爲:fdworkerno

數據庫操作方法

 操作數據庫(選擇、插入、更新、刪除):基本上用SQL語句來操作數據庫, 避免用Data Aware類的控件來操作數據庫。

例如:插入一條生産記錄:

var vSql:string;

vWorkerID:string;

vProductNum:string;

begin

xxxxxx;

………;

vsql:=』insert into tabproduct (fddate,fdworkerid,fdproductnum) values(『;

vsql:=vsql+vinfo.vdbsqldate(date);

vsql:=vsql+』,』+(vWorkerID);

vsql:=vsql+』,』+(vProductNum);

vsql:=vsql+』)』;

vinfo.execute(vsql);

end;

*注:vinfo代表一個自定義類TInfo的一個實例,裏面封裝了各種函數,具體內容在後面有說明。

 用TDBGrid顯示數據的方法:

1. 使用TDBGrid TDataSource TClientDataSet TDataSetProvider TAdoDataSet控件。

2. 連接方式爲TDBGrid->TDataSource->TClientDataSet->TDataSetProvider->TAdoDataSet

3. 先用_recordset對象來接收數據,4. 然後把_recordset對象斌給TAdoDataSet控件,5. 再調用TClientDataSet的Close方法、Open方法。

 多用戶操作數據的處理:通常把要操作的表進行鎖定, 鎖定方法爲用TInfo類的pLockTable方法。

數據合法性檢查方法

 通常在要保存數據的時候之前進行數據合法性的檢查, 不 要在輸入的時候檢查數據的合法性。

檢查包括:

1. 檢查是否是整數;

用類TInfo的fIsInt函數判斷。

2. 檢查是否是浮點數;

用類TInfo的fIsFloat函數判斷。

3. 檢查是否是日期;

日期用TDateTimePicker來進行輸入,通常不用檢查。

4. 檢查是否沒有輸入;

用類TInfo的flen函數判斷。

5. 數據完整性的檢查(檢查內容會在開發文檔中說明);

6. 數據邏輯性的檢查(檢查內容會在開發文檔中說明);

 對于字符類型的數據, 注意一定要用trim函數清除前後的空格。

類TInfo的說明

Tinfo類封裝了一些基本的函數、過程及常數:

 函數及過程:

6. function fIsFloat(vData:string):boolean;

7. function fIsInt(vData:string):boolean;

8. function fLen(vData:string):boolean;

9. procedure pBeginTrans;//事務開始

10. procedure pCommitTrans;//事務提交

11. procedure pRollBack;//事務回滾

12. procedure execute(const vSql:string;var vRs:_recordset;vAbort:boolean=false);overload;

安全的SQL執行函數1,vSql爲要執行的SQL語句,vrs爲接收返回值的_recordset對象,vAbort表示當發生屬于連接(網絡中斷)的錯誤時,是否中止處理。通常執行包含在一個事務裏的SQL語句時用true,而不在事務裏的SQL語句不用指定。

例如: var vSql:string;

vrsWorker

begin

vsql:=』select a.fdworkerno,a.fdworkername 『;

vsql:=vsql+』 from tabworker a 『;

vinfo.execute(vsql,vrsworker);//這句沒有指定vabort,則缺省爲false

{上面這一句在執行,如果網絡中斷,導致不能連接到數據庫,則會進行提示是否要重試,如果不要重試,則退出整個系統;如果重試,則會重試連接到數據庫,但如果仍然不能連接,則重複進行提示直到連接上或由用戶取消連接以退出系統}

vinfo.execute(vsql,vrsworker,true);//這句指定vabort

{上面這一句在執行,如果網絡中斷,導致不能連接到數據庫,則會進行提示不能連接到數據庫,所以執行中止。並會嘗試連接到數據庫。如果不能連接,則提示是否要重試,如果不要重試,則退出整個系統;如果重試,則會重試連接到數據庫,但如果仍然不能連接,則重複進行提示直到連接上或由用戶取消連接以退出系統}

end;

13. procedure execute(const vSql:string;vAbort:boolean=false);overload;

安全的SQL執行函數2,與1的區別在于1有返回數據集。

 常數:

1. vDateStr:當前計算機的日期格式,2. 如果當前計算機的格式爲2位年份,3. 則轉化爲4位年份。

例如:當前計算機的短日期格式爲』yy-mm-dd』,則vDateStr爲』yyyy-mm-yy』。

4. vCurrentUserNo:當前登錄的操作員的編號。

5. vCurrentUserName:當前登錄的操作員的名6. 稱。

Delphiwe編寫規範 Delphiwe編寫規範 程 序 編 寫 規 範 1、 變量聲明d  所有的變量不 論類型, 均以v開頭, 如: var vWorkerName:string; vYear:integer; vDate:tdate;  _recordset對象的前綴爲vrs。  特殊的變量:vSql:基本上所有的SQL語句均先用變量vSql斌值, 如: var vSql:string; begin vsql:=』select a.fdworker 『; vsql:=vsql+』 from tabworker a 『; end; 控件命名 類 前綴 示例 TEdit ed edWorkerNo TDBGrid grd grdWorker TCombobox cbo cboWorker TDateTimePicker dp dpDate TButton c cOk cCancel TCheckBox chk chkCancel TSpeedButton sb sbWorker TClientDataSet cln clnWorker TDataSource ds dsWorker TAdoDataSet adods adodsWorker TPanel pan panTop TForm frm frmWorker TDataSetProvider pvd pvdWorker TTreeview trv trvRawType TListview lst lstWorker TPageControl pc pcWorkerInformation TImage img imgWorker TMemo ed edMemo 2、 函數及過程的命名3、  函數的前綴用f 例如:處理數據檢查的函數:function fCheckData:boolean;  過程的前綴用p 例如:處理工人離職的過程:procedure pWorkerLeave; 命名規則  所有變量或控件的命名 均采取英文意義命名, 並且盡量不 要用縮寫。 例如: 對輸入工人姓名的TEdit的命名爲:edWorkerName 而不要命名爲:edWN等縮寫形式  數據表的前綴爲tab, 字段的前綴爲fd。 例如: 工人表的名稱爲:tabworker 工人編號的字段爲:fdworkerno 數據庫操作方法  操作數據庫(選擇、插入、更新、刪除):基本上用SQL語句來操作數據庫, 避免用Data Aware類的控件來操作數據庫。 例如:插入一條生産記錄: var vSql:string; vWorkerID:string; vProductNum:string; begin xxxxxx; ………; vsql:=』insert into tabproduct (fddate,fdworkerid,fdproductnum) values(『; vsql:=vsql+vinfo.vdbsqldate(date); vsql:=vsql+』,』+(vWorkerID); vsql:=vsql+』,』+(vProductNum); vsql:=vsql+』)』; vinfo.execute(vsql); end; *注:vinfo代表一個自定義類TInfo的一個實例,裏面封裝了各種函數,具體內容在後面有說明。  用TDBGrid顯示數據的方法: 1. 使用TDBGrid TDataSource TClientDataSet TDataSetProvider TAdoDataSet控件。 2. 連接方式爲TDBGrid->TDataSource->TClientDataSet->TDataSetProvider->TAdoDataSet 3. 先用_recordset對象來接收數據,4. 然後把_recordset對象斌給TAdoDataSet控件,5. 再調用TClientDataSet的Close方法、Open方法。  多用戶操作數據的處理:通常把要操作的表進行鎖定, 鎖定方法爲用TInfo類的pLockTable方法。 數據合法性檢查方法  通常在要保存數據的時候之前進行數據合法性的檢查, 不 要在輸入的時候檢查數據的合法性。 檢查包括: 1. 檢查是否是整數; 用類TInfo的fIsInt函數判斷。 2. 檢查是否是浮點數; 用類TInfo的fIsFloat函數判斷。 3. 檢查是否是日期; 日期用TDateTimePicker來進行輸入,通常不用檢查。 4. 檢查是否沒有輸入; 用類TInfo的flen函數判斷。 5. 數據完整性的檢查(檢查內容會在開發文檔中說明); 6. 數據邏輯性的檢查(檢查內容會在開發文檔中說明);  對于字符類型的數據, 注意一定要用trim函數清除前後的空格。 類TInfo的說明 Tinfo類封裝了一些基本的函數、過程及常數:  函數及過程: 6. function fIsFloat(vData:string):boolean; 7. function fIsInt(vData:string):boolean; 8. function fLen(vData:string):boolean; 9. procedure pBeginTrans;//事務開始 10. procedure pCommitTrans;//事務提交 11. procedure pRollBack;//事務回滾 12. procedure execute(const vSql:string;var vRs:_recordset;vAbort:boolean=false);overload; 安全的SQL執行函數1,vSql爲要執行的SQL語句,vrs爲接收返回值的_recordset對象,vAbort表示當發生屬于連接(網絡中斷)的錯誤時,是否中止處理。通常執行包含在一個事務裏的SQL語句時用true,而不在事務裏的SQL語句不用指定。 例如: var vSql:string; vrsWorker begin vsql:=』select a.fdworkerno,a.fdworkername 『; vsql:=vsql+』 from tabworker a 『; vinfo.execute(vsql,vrsworker);//這句沒有指定vabort,則缺省爲false {上面這一句在執行,如果網絡中斷,導致不能連接到數據庫,則會進行提示是否要重試,如果不要重試,則退出整個系統;如果重試,則會重試連接到數據庫,但如果仍然不能連接,則重複進行提示直到連接上或由用戶取消連接以退出系統} vinfo.execute(vsql,vrsworker,true);//這句指定vabort {上面這一句在執行,如果網絡中斷,導致不能連接到數據庫,則會進行提示不能連接到數據庫,所以執行中止。並會嘗試連接到數據庫。如果不能連接,則提示是否要重試,如果不要重試,則退出整個系統;如果重試,則會重試連接到數據庫,但如果仍然不能連接,則重複進行提示直到連接上或由用戶取消連接以退出系統} end; 13. procedure execute(const vSql:string;vAbort:boolean=false);overload; 安全的SQL執行函數2,與1的區別在于1有返回數據集。  常數: 1. vDateStr:當前計算機的日期格式,2. 如果當前計算機的格式爲2位年份,3. 則轉化爲4位年份。 例如:當前計算機的短日期格式爲』yy-mm-dd』,則vDateStr爲』yyyy-mm-yy』。 4. vCurrentUserNo:當前登錄的操作員的編號。 5. vCurrentUserName:當前登錄的操作員的名6. 稱。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有