日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Delphi程序员代码编写标准指南

發布時間:2025/3/15 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Delphi程序员代码编写标准指南 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Delphi 6 程 序 員 代 碼 編 寫 標 準 指 南

一、序言

二、通用源代碼格式規則

2.1 縮格

2.2 頁邊空格

2.3 Begin…End 配對

2.4 代碼文件中通用符號含義

三、Object Pascal

3.1 括號

3.2 保留字和關鍵字

3.3 過程和函數(例程)

3.3.1 命名/格式化

3.3.2 形式參數

3.3.2.1 格式化

3.3.2.2 命名

3.3.2.3 參數的排序

3.3.2.4 常量參數

3.3.2.5 名稱的沖突

3.4 變量

3.4.1 變量的命名和格式

3.4.2 局部變量

3.4.3 全局變量的使用

3.5 類型

3.5.1 大寫約定

3.5.1.1 浮點指針類型

3.5.1.2 枚舉類型

3.5.1.3 變數和ole變數類型

3.5.2 結構類型

3.5.2.1 數組類型

3.5.2.2 記錄類型

3.6 語句

3.6.1 if 語句

3.6.2 case 語句

3.6.2.1 一般性話題

3.6.2.2 格式

3.6.3 while 語句

3.6.4 for 語句

3.6.5 repeat 語句

3.6.6 with 語句

3.6.6.1 一般話題

3.6.6.2 格式

3.7 結構異常處理

3.7.1 一般話題

3.7.2 try…finally的使用

3.7.3 try…except的使用

3.7.4 try…except…else的使用

3.8 類類型

3.8.1 命名和格式

3.8.2 域

3.8.2.1 命名/格式

3.8.2.2 可視化

3.8.3 方法

3.8.3.1 命名/格式

3.8.3.2 使用靜態的方法

3.8.3.3 使用虛擬/動態的方法

3.8.3.4 使用抽象的方法

3.8.3.5 屬性存取方法

3.8.4 屬性

3.8.4.1 命名/格式

3.8.4.2 使用存取的方法

四、文件

4.1 工程文件

4.1.1 命名

4.2 窗體文件

4.2.1 命名

4.3 數據模板文件

4.3.1 命名

4.4 遠端數據模板文件

4.4.1 命名

4.5 Unit文件

4.5.1 通用Unit結構

4.5.1.1 unit的名字

4.5.1.2 uses子句

4.5.1.3 interface部分

4.5.1.4 implementation部分

4.5.1.5 initialization部分

4.5.1.6 finalization部分

4.5.2 窗體單元

4.5.2.1 命名

4.5.3 數據模板單元

4.5.3.1 命名

4.5.4 一般目的單元

4.5.4.1 命名

4.5.5 構件單元

4.5.5.1 命名

4.6 文件頭

五、窗體和數據模板

5.1 窗體

5.1.1 窗體類型命名標準

5.1.2 窗體實例命名標準

5.1.3 自動創建窗體

5.1.4 模式窗體實例化函數

5.2 數據模板

5.2.1 數據模板命名標準

5.2.2 數據模板實例命名標準

六、包

6.1 使用運行包和設計包的比較

6.2 文件命名標準

七、構件

7.1 用戶自定義構件

7.2 構件單元

7.3 使用注冊單元

7.4 構件實例命名約定

7.5 構件的前綴

7.6 Standard 頁

7.7 Additional 頁

7.8 Win32 頁

7.9 System 頁

7.10 Internet 頁

7.11 Data Access 頁

7.12 Data Controls 頁

7.13 Decision Cube 頁

7.14 Qreport 頁

7.15 Dialogs 頁

7.16 Win3.1 頁

7.17 Samples 頁

7.18 ActiveX 頁

7.19 Midas 頁

7.20 ADO 頁

7.21 InterBase 頁

7.22 InternetExpress 頁

7.23 FastNet 頁

一、序言

本文檔詳述了使用Delphi 6進行編程的代碼編寫標準。本文檔的目的在于闡述一種方法,通過該方法,開發小組可以在他們所編寫的代碼中保持一貫的風格。這樣做的目的是使在開發小組中的每一個程序員都可以明白其他程序員的代碼。這有助于提高代碼編寫的可讀性和使用的一貫性。

本文檔并不意味著包含了所有存在于代碼中的標準。但是,它的內容已足夠幫你起個好頭。你可以自由的增加修改這些標準來滿足你的需要。我們不贊成你偏離這些由Borland開發人員所使用的標準太遠。我們推薦這么做是因為一旦有新的程序員加入到你的開發小組中,而他們最喜歡和最熟悉的是Borland的標準。象大多數代碼標準文檔,本文檔也會根據需要進行改動。本文檔不包括用戶接口標準。本文檔是獨立的但也是同樣重要的。本文檔由楊千棟改編和維護,如果你有好的建議請聯系user22@laneasy

二、通用源代碼格式規則

2.1 縮格

縮格是指在每一級有兩個空格。不要在源代碼中保留tab字符,這是因為tab字符會隨著不同用戶的不同設置和不同的資源管理工具(打印、文檔、版本控制等)而代表不同的寬度。

你可以通過關閉Environment選項對話框中Editor頁上的“Use tab character”和“Optimal fill”檢查框(通過Tools|Environment)來禁止保存tab字符;通常這是默認的配置,可以不用去管它。

2.2 頁邊空格

頁邊空格會被設置成80字符寬。通常,源碼不會超出這個邊界,但這個方針會有一些彈性。不管是否有可能,那些超出到另一行的語句會在一個逗號或其他操作符之后與前面的語句相連。當一個語句被打斷相連時,它應比原來的那一行語句縮進兩個字符。

2.3 Begin…End 配對

Begin 子句應寫在獨立的一行。例如,下面第一行是錯誤的寫法而第二行是正確的。

for I := 0 to 10 do begin //錯誤,begin同for在同一行

for I := 0 to 10 do //正確,begin出現在獨立的一行

begin

這個規則的例外是當begin子句的出現是作為一個else子句的一部分-參考例子:

if some statement then

begin

end

else begin

someOtherStatement;

end;

end 語句永遠出現在獨立的一行。

當begin語句不是一個else子句的一部分時,相應的end語句永遠縮進到與begin部分相對應的位置。

2.3代碼文件中通用符號含義

四個斜杠代表當前有未實現的內容,相當于占位符

三、Object Pascal

3.1 括號

永遠不要在括號與括號之間的字符中間留下空格。下面的例子示范了錯誤的與正確地使用括號中的空格:

CallProc( Aparameter ); //錯誤

CallProc(Aparameter); //正確

永遠不要在一個語句中使用不必要的括號。括號只應在源代碼中需要的地方使用。以下的例子示范了錯誤和正確的使用:

if (I = 42) then //錯誤 - 多余的括號

if (I = 42) or (J = 42) then //正確 - 需要括號

3.2 保留字和關鍵字

Object Pascal 保留字和關鍵字永遠是全部小寫。

3.3 過程和函數(例程)

3.3.1 命名/格式化

例程的名字永遠應該以大寫的字母開頭并且中間錯落分明以便于可讀性。下面是一個不正確格式的過程名稱:

procedure thisisapoorlyformattedroutinename;

下面是一個合適的大小寫例程名稱的例子:

procedure ThisIsMuchMoreReadableRoutineName;

例程的名稱應該同它的內容相符。一個會導致某個行為的例程應以動詞開頭。例如:

procedure FormatHardDrive;

一個用于設置輸入參數的例程應以單詞set作為前綴,例如:

procedure SetUserName;

一個用來接收某個值的例程應以單詞get作為前綴,例如:

procedure GetUserName : string;

3.3.2 形式參數

3.3.2.1 格式化

如果有的話,相同類型的形參應合并在一個語句中:

procedure Foo(Param1, Param2, Param3 : Integer; Param4 : string);

3.3.2.2 命名

所有形參的名字應是十分符合它們所代表的意義,特別是應該以傳送到例程中的標志符的名稱為基礎。一個好的參數名稱應以字符a為前綴 - 例如:

procedure SomeProc(aUserName : string; aUserAge : integer);

“a”前綴按約定表示該參數的名稱是與類類型中的一個屬性或域的名稱相對應的。

3.3.2.3 參數的排序

下面的形參的順序重點說明了注冊者調用約定調用的好處。

- 最常用的參數應放在第一位,其它的參數應按從左到右的順序排列。

- 輸入參數列表應放在輸出參數列表的左邊。

- 將通用的參數放在特殊參數的左邊,例如:

procedure SomeProc(aPlanet, aContinent, aCountry, aState, aCity)

- 排序有可能有些例外,比如事件的處理。類型為TObject的Sender參數經常放在第一位。

3.3.2.4 常量參數

當一個參數為記錄型、數組類型、ShortString、或接口類型并且在例程中不被改變時,這些參數應做上常量標記。這樣做會讓編譯器更加有效率的產生有關這些不改變的參數的代碼。

而例程中另外一些非變參數也可常量來傳送。盡管這樣做沒有產生任何效果和提高效率,這將會給調用例程的使用者提供更多的信息。

3.3.2.5 名稱的沖突

當使用擁有兩個名稱相同的例程的兩個單元時,如果你調用該例程時,在uses子句中排在后面的單元中的例程將會被調用。為了解決這種“在uses子句上的模糊”沖突,要在調用該例程時寫上相關的單元的前綴,例如:

SysUtils.FindClose(SR);

Windows.FindClose(Handle);

3.4 變量

3.4.1 變量的命名和格式

變量的命名應以使用它們的目的相符

循環控制變量應采用一個單獨的字符作為名字,比如 I,J,或K,也可以采用更加有意義的名字,比如 UserIndex。

邏輯變量的名字應能充分表達準確的真或假的意思。

3.4.2 局部變量

一個過程中的局部變量應遵循所有其它變量的使用和命名約定。臨時變量的取名應合理。局部變量應加上前綴tmp,如tmpUserName。

如果必須的話,在一進入例程就應初始化局部變量。局部的AnsiString變量會自動初始化為一個空的字符串。

局部接口和派分接口類型變量將會自動初始化為nil,并且局部變數和ole變數類型變量會自動初始化為Unassigned

3.4.3 全局變量的使用

使用全局變量是不推薦的。但是,在某些時候還是必須使用,而且它們也只應在必須使用的時候才使用。在這種時候,你應努力只在一段上下文范圍內使用全局變量。例如,一個全局變量只應在一個單元的implemntation部分內是全局的。如果打算在多個單元類使用全局數據,你應將它們移到一個公共的單元中然后被其它所有單元使用。

全局變量可以在var子句中直接初始化為一個值。記住,所有的全局數據會自動初始化為0,因此不要將全局變量初始化為一個“空”值比如 0、nil、’’、Unassigned、等等。這樣做的一個理由是因為零-初始化的全局數據在exe文件中不會占據任何空間。零-初始化數據被存儲在一個虛擬的數據段,它在應用程序啟動后被分配在一段內存中。非零-初始化的全局數據在硬盤的exe文件占用空間。

全局變量命名應加上前綴glb,如glbUserName。

3.5 類型

3.5.1 大寫約定

如果類型的名字是保留字,那么它應全部小寫。Win32 API類型通常全部大寫,并且你必須遵循在Windows.pas或其他API單元中的詳細類型名稱的約定。對于其他變量名字,第一個字母應為大寫,而其他字母應錯落有致。下面是一些例子:

var

MyString : string; //保留字

WindowHandle : HWND; //Win32 API 類型

I : Integer; //在System單元中引進的類型標識符

3.5.1.1 浮點指針類型

不推薦使用Real類型,因為它的存在只是為了向前兼容早期的Pascal代碼。在通常情況下用Double來實現浮點指針的需要。并且,Double對處理器和總線而言是做了最優化處理的,它也是IEEE中定義的標準數據格式。只有當需要的范圍超出Double所定義的范圍時才使用Extended。Extended是intel定義的類型且在Java中不支持。只有當浮點指針變量的實際字節大小有其意義時才使用Single。(比如當使用另一種語言的DLLs時)。

3.5.1.2 枚舉類型

枚舉類型的名字需符合使用該類型的目的。該類型的名字需以字符T為前綴,以表明這是一個類型。枚舉類型中的標識符列表必須包含兩個或三個字符的前綴來對應于該枚舉類型的名字 -例如:

TSongType = (stRock, stClassical, stCountry, stAlternative, stHeavyMetal, stRB);

一個枚舉類型的實例的名字應與不要前綴的枚舉類型(SongType)相同,除非有更好的原因來賦予該變量更特殊的名字,比如:FavoriteSongType1,FavoriteSongType2 等等。

3.5.1.3 變數和ole變數類型

通常不建議使用變數和Ole變數類型。但在只有運行時刻才能知道數據類型的程序中必須使用該類型,這種情形多出現在COM和數據庫開發中。Ole變數使用在以COM為基礎的編程中例如自動化和ActiveX控制,而變數使用在非COM的編程中,這是因為變數可以十分有效地存儲本地Delphi字符串(同一個字符串變量一樣),但Ole變數會將所有的字符串轉換為Ole字符串(WideChar 字符串)并且并不實例運算 - 它們永遠拷貝。

3.5.2 結構類型

3.5.2.1 數組類型

數組類型的名字需符合它們使用的目的。該類型的名字必須加以前綴T。如果須聲明該數組類型的指針,那么該指針需加以前綴P而且應立即聲明在該數組聲明的前面。例如:

type

PCycleArray = ^TCycleArray;

TCycleArray = array[1…100] of integer;

在實際應用中,數組的變量實例的名稱應是其類型的名字去掉前綴T。

3.5.2.2 記錄類型

記錄類型的名字應符合使用它們的目的。其類型的聲明應加以前綴T。如果要聲明該記錄類型的指針,就應加以前綴P并且應緊靠在類型聲明的前面聲明。例如:

type

PEmployee = ^TEmployee;

TEmployee = record

EmployeeName : string;

EmployeeRate : Double;

end;

3.6 語句

3.6.1 if 語句

在if/then/else語句中最常發生的行為應放在then子句中,而其它發生可能性較小的行為應放在else子句中。

盡量避免使用嵌套的if語句,在這種情形下應用多個if語句來判斷各種可能。

不要使用if嵌套超過五級深度。應使代碼編寫得更加清晰、明了。

不要在if語句中使用不必要的圓括號。

如果在if語句中有多個條件需測試,這些條件應按計算強度由少到多的順序從左到右排列。這樣做能使編譯器在編譯代碼時獲得布爾估算邏輯的捷徑,從而使你的代碼獲得最佳的優化。舉例來說,如果條件1快過條件2,而條件2快過條件3,那么在if語句中的排列應是:

if 條件1 and 條件2 and 條件3 then

3.6.2 case 語句

3.6.2.1 一般性話題

在一個case語句中的各個獨立的單元應以數字或字母順序排列。

每一個case單元的動作行為應保持簡單而不應該超過四到五行代碼。如果所要執行的動作過于復雜應采用獨立的過程或函數。

Case語句中的else子句只有當需要缺省行為或處理錯誤時才使用。

3.6.2.2 格式

case語句應遵循其它結構的縮格和命名約定。

3.6.3 while 語句

在一個while語句中不建議使用Exit過程來跳出循環,盡量僅使用循環條件來跳出循環。

在一個while循環中所用的初始化代碼應緊靠在進入while循環前面出現而不要被其它不相關的語句隔開。

任何結束后的處理應在循環之后立即進行。

3.6.4 for 語句

for語句只有當循環次數已知的情況下才能取代while語句使用。

3.6.5 repeat 語句

repeat語句的使用同while語句一樣,并且遵循同樣的通用方針。

3.6.6 with 語句

3.6.6.1 一般話題

with語句應節省使用,并且帶有大量的警告。避免過度使用with語句并且在with語句中小心使用多個對象、記錄等等。例如:

with Record1, Record2 do

這些事情會使程序員感到困惑并難以發現問題所在。

3.6.6.2 格式

with 語句遵循本文檔所說明的命名約定和縮格的格式規則。

3.7 結構異常處理

3.7.1 一般話題

異常的處理大量地使用在錯誤糾正和資源保護方面。這就是說一旦資源被分配,一個try…finally必需加以使用來保證該資源被正確的釋放。這種異常的保護也是指在一個單元的initializition/finalization或一個對象的constructor/destructor中進行資源的分配和釋放。

設計過程中應盡量減少通過返回值判斷結果,應通過觸發異常模式處理錯誤。

3.7.2 try…finally的使用

任何情形下,每一次的分配都應跟隨一個try…finally。舉例來說,下面的代碼會造成可能的錯誤:

SomeClass1 := TSomeClass.Create;

SomeClass2 := TSomeClass.Create;

try

{ do some code }

finally

SomeClass1.Free;

SomeClass2.Free;

end;

一個更安全更合適的分配過程應是:

SomeClass1 := TSomeClass.Create;

try

SomeClass2 := TsomeClass.Create;

try

{ do some code }

finally

SomeClass2.Free;

end;

finally

SomeClass1.Free;

end;

3.7.3 try…except的使用

只有當在異常被觸發而你想執行一些任務時才使用try…except。通常,你沒有必要為了只是簡單地在屏幕上顯示一個錯誤信息而使用try…except語句,因為這會被Application對象自動執行。如果你想在except子句中執行完一些任務之后調用缺省的異常處理,使用raise來重新觸發異常到下一個句柄。

3.7.4 try…except…else的使用

try…except中的else子句不建議使用,因為它會打斷所有的異常包括那些你沒有準備的異常。

3.8 類類型

3.8.1 命名和格式

類類型的名稱應符合使用它們的目的。類型名字應加以前綴T以表明這是一個類型的定義 - 例如:

type

TCustomer = class(TObject)

類型的實例通常是沒有前綴T的類型的名字 - 例如:

var

Customer :TCustomer;

注意:查閱“構件類型的命名標準”來獲得更多有關構件命名的信息。

3.8.2 域

3.8.2.1 命名/格式

類的域名遵循與變量標識符同樣的約定除了它們應以F為前綴,來表明這是一個域的名稱。

3.8.2.2 可視化

所有的域都必需是私有的。想在類的范圍之外存取域得通過屬性來使用。

3.8.3 方法

3.8.3.1 命名/格式

方法的命名應遵循本文檔中有關過程和函數的約定敘述。

3.8.3.2 使用靜態的方法

如果使用一個靜態的方法,那么該方法就不能被該類的后代類所繼承。

3.8.3.3 使用虛擬/動態的方法

如果你打算該類的方法能被后代的類所繼承就得使用虛擬的方法。只有在該方法有多個繼承時(直接的或間接的)才使用動態的方法。例如,一個類類型包含一個可繼承的方法,而100個后代類要繼承這種方法,那么這個方法就會動態地產生為100個后代類使用的內存。

3.8.3.4 使用抽象的方法

如果在一個類中使用抽象的方法,該類就不能被創建。只有在那些永遠不會被創建的類中使用抽象的方法。

3.8.3.5 屬性存取方法

所有存取類的方法都只能出現在類的private或protected部分。屬性存取方法的命名應遵循過程和函數的約定規則。讀取存取方法(方法讀取器)必需以單詞Get為前綴。寫入存取方法(方法寫入器)必需以單詞Set為前綴。方法寫入器的參數的名字應為Value,并且它的類型應是它所操作的屬性的類型。例如:

TSomeClass = class(TObject)

private

FsomeField: Integer;

protected

function GetSomeField: Integer;

procedure SetSomeField(Value : Integer);

public

property SomeField : Integer read GetSomeField write SetSomeField;

end;

3.8.4 屬性

3.8.4.1 命名/格式

屬性如果是表示為一個私有域的存取器的話,那么它的名字應是它們所操作的域的名字除去解釋符F。

屬性的名字應是名詞,不是動詞。屬性表示的是數據,而方法表示的是行為。

數組類型的名稱應為復數。一般情況下屬性的名稱應為單數。

3.8.4.2 使用存取的方法

盡管沒有要求,但還是建議盡量少地為一個表示私有域的屬性而使用寫入存取方法。

四、文件

4.1 工程文件

4.1.1 命名

工程文件應取個描述性的名字。例如,錯誤管理器 的工程名字是:Bugs.dpr。一個有關系統信息的程序的名字就應象 SysInfo.dpr。

4.2 窗體文件

4.2.1 命名

一個窗體文件的取名應可以描述使用該窗體的目的,并加以后綴Frm。例如,一個“關于”的窗體的文件名應是AboutFrm.dpr。主窗體的文件名應是MainFrm.dpr。如果一個工程中除了窗體文件和單元文件外沒有其它類型文件,后面的Frm后綴也可以不用,下文所述其它文件類型依然。

4.3 數據模板文件

4.3.1 命名

數據模板的取名應能表示使用該數據模板的目的,它的名稱應加以兩個字符的后綴DM。例如,自定義數據模板的文件名字應為CustomersDM.dfm。

4.4 遠端數據模板文件

4.4.1 命名

遠端數據模板的取名應能表示使用該遠端數據模板的目的,它的名稱應加以三個字符的后綴RDM。例如,自定義遠端數據模板的文件名字應為CustomersRDM.dfm。

4.5 Unit文件

4.5.1 通用Unit結構

4.5.1.1 unit的名字

Unit文件應取一個可描述性的名字。例如,包含應用程序主窗體的單元應叫做MainFrm.pas。

4.5.1.2 uses子句

在interface部分的uses子句應包含在interface部分中的代碼所需要的單元。去掉那些Delphi可以自動加入到程序中的單元。

在implementation部分的uses子句應只包含在implementation部分中的代碼所需要的單元的名字。去掉不必要的單元。

4.5.1.3 interface部分

interface部分應只包含那些其它單元所需要存取類型的定義、變量、過程/函數的預定義等等。否則,就應放在implementation部分定義。

4.5.1.4 implementation部分

implementation部分應包含那些只在本單元中私用的類型定義、變量、過程/函數定義等等。

4.5.1.5 initialization部分

不要在initialization 部分放入耗時長的代碼,這將使程序的第一個界面出現

得比較緩慢。

4.5.1.6 finalization部分

在這里要保證釋放你在Initialization部分所分配的任何資源。

4.5.2 窗體單元

4.5.2.1 命名

一個窗體的單元文件應擁有與它所對應的窗體文件同樣的名稱。例如,“關于”窗體的單元名稱應為 FrmAbout.pas,而主窗體的單元名稱應為FrmMain.pas。

4.5.3 數據模板單元

4.5.3.1 命名

一個數據模板的單元文件應擁有與它所對應的數據模板文件同樣的名稱。例如,一個自定義數據模板單元的名稱應為DMCustomers.pas。

4.5.4 一般目的單元

4.5.4.1 命名

一般目的單元的取名應符合使用該單元的目的。例如,一個實用程序單元取名為BugUtilities.pas。一個包含全局變量的單元取名為CustomerGlobals.pas。

注意,該單元的名字不能與它的工程中所使用的所有包中的單元的名字相同。不贊成使用一般的或通用的單元名字。

4.5.5 構件單元

4.5.5.1 命名

構件單元應放在獨立的目錄,以將它們同定義構件組或構件集合的單元區分開來。它們要永遠同工程在不同的目錄。單元名字應同它們的內容相符。

注意:查閱“用戶定義的構件”部分來獲得更多有關構件命名標準的信息。

4.6 文件頭

建議在所有源文件、工程文件、單元等等中使用信息化文件頭。一個良好的文件頭應包含以下信息:

版權… 著作的年、月、日…

作者

用途

}

五、窗體和數據模板

5.1 窗體

5.1.1 窗體類型命名標準

窗體類型的取名應能表達使用該窗體的目的。類型定義應加以前綴T。前綴后面跟隨著描述性的名字。最后,應加以Form后綴來描述名字。例如,一個“關于”的窗體的類型的名字應為:

TAboutForm = class(TForm);

主窗體的定義為:

TMainForm = class(TForm);

一個用戶接入窗體的名字應象:

TCustomerEntryForm = class(TForm);

5.1.2 窗體實例命名標準

窗體實例應是沒有帶前綴T的相應類的名字。例如,對應于前面窗體類型而言,其實例的名字應為:

類型名稱 實例名稱

TAboutForm AboutForm

TMainForm MainForm

TCustomerEntryForm CustomerEntryForm

5.1.3 自動創建窗體

只有主窗體可以是自動創建的除非有其它更好的理由不這樣做。所有其它的窗體必需從工程選項對話框中的自動創建列表中移走。查閱以下部分來獲得更多的信息。

5.1.4 模式窗體實例化函數

所有的窗體單元都應包含一個窗體實例化函數,該函數用來創建、設置、模式地顯示窗體,并釋放窗體。該函數應返回窗體的模式結果。該函數要傳遞的參數應遵循本文檔指定的“參數傳遞”標準。通過這種方式封裝的函數性有助于代碼的再利用和維護。

該窗體的變量要從單元中移走,并再窗體實例的函數中進行本地式地定義。注意,這就意味著該窗體必需從工程/選項對話框中的自動創建列表中剔除。參考本文檔后面的“自動創建窗體”。

例如,下面的單元展示了再GetUserData窗體中的一個函數。

{*******************************************************}

{* 用戶登錄窗口 *}

{*******************************************************}

{* *}

{* Designer : 作者名 Original Place : *}

{* Create Date : 2000/4/4 Now Version : 1.2 *}

{* Modification Time : 2000/4/11 *}

{* *}

{*=====================================================*}

{*******************************************************}

unit UserData;

interface

uses

windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

{ TUserDataForm }

{ 這個窗體對象用于獲取用戶信息輸入,進而檢查用戶權限

edtUserName – 接受用戶名稱,能自動切換至中文輸入法(輸入法從系統配置獲取)……}

TUserDataForm = class(TForm)

edtUserName : TEdit;

edtUserID : TEdit;

private

{ Private declarations }

public

{ Public declarations }

end;

function GetUserData(var aUserName : String; var aUserID : Integer) :

Word;

implementation

{$R *.DFM }

{

function GetUserData

輸入

aUserName – 用戶名稱

aUserID - 用戶標識號

返回值

0 - 成功

1 - 無此用戶名

2 - 其他錯誤

邊界條件

aUserID范圍 1-10000

異常

exceptionNoUser

exceptionNoUserID

}

function GetUserData(var aUserName : String; var aUserID : Integer) :

word;

var

UserDataForm : TUserDataForm;

begin

UserDataForm := TUserDataForm.Create(Application);

try

UserDataForm.Caption := ‘Getting User Data’;

Result := UserDataForm.ShowModal;

if (Result = mrOK) then

begin

aUserName := UserDataForm.edtUserName.Text;

aUserID := StrToInt(UserDataForm.edtUserID.Text);

end;

finally

UserDataForm.Free;

end;

end;

end.

5.2 數據模板

5.2.1 數據模板命名標準

數據模板的取名要符合使用該數據模板的目的。類型的定義應加以前綴T,后面緊接著描述性的名字,最后要加以后綴單詞“DataModule”。例如,一個自定義的數據模板有時候應該象:

TCustomerDataModule = class(TDataModule)

一個命令式的數據模板的名字應象:

TOrdersDataModule = class(TDataModule)

5.2.2 數據模板實例命名標準

數據模板實例的名稱應是對應不帶前綴T的類型的名稱。例如,對于前面的窗體類型而言,其實例的名稱應為:

類型名稱 實例名稱

TCustomerDataModule CustomerDataModule

TOrdersDataModule OrdersDataModule

六、包

6.1 使用運行包和設計包的比較

運行時刻的包應只包含其它構件包所要求的單元或構件。另外,包含屬性/構件編輯器和其它只為設計的代碼應放入到設計時刻包中。注冊單元應放在設計包中。

6.2 文件命名標準

包的名稱應依照下面的例子:

iiilibvv.pkg” - 設計時刻包

iiistdvv.pkg” - 運行時刻包

字符“iii”表示一個3字符標識前綴。這個前綴用來表明公司、個人或其它有標識意義的實體。如jm0

字符“vv”表示為該包想要對應Delphi某個版本的包的版本號。

注意,包的名字中包含“lib”或“std”的意思是表明這是一個設計時刻包還是一個運行時刻包。

如果既是設計時刻包又是運行時刻包,該文件的命名是同上面一樣的,例如,名稱應為:

jm0Lib40.pkg – 設計時刻包

jm0Std40.pkg – 運行時刻包

七、構件

7.1 用戶自定義構件

在標準構件中命名出來的構件的名稱同在“類類型”部分定義中的一樣定義成一個類類型,不同的是它們有一個3字符的指示前綴,這個前綴可以表示公司、個人或其它實體。例如,一個時鐘構件的名稱定義為:

Tjm0Clock = class(TComponent)

注意,那三個前綴字符是小寫的。

7.2 構件單元

構件單元應只包含一個主要的構件,一個主要的構件是指出現在構件欄中的構件。主要構件的輔助構件/對象應放入到同一個單元中。

7.3 使用注冊單元

構件的注冊過程應從構件本身的單元中剔除,并放入到一個獨立的單元中。這個注冊單元可以用來注冊任何構件、屬性編輯器、構件編輯器、專家器等。

構件的注冊只應在設計時刻包中進行,注冊單元應包含在設計時刻包中而不應放在運行時刻包中。

推薦使用的注冊單元的名稱是:

XxxReg.pas

上面的3個前綴字符“Xxx”用來表示一個公司、個人或任何其它的實體。例如,注冊單元的名稱應為 jm0Reg.pas。

7.4 構件實例命名約定

所有的構件都應取個描述性的名稱。由Delphi創建的缺省名的構件不會被遺棄。在設計構件類型時應設計一個小寫的前綴。使用前綴而不使用后綴的原因是在搜尋時,在對象檢查器和代碼探索器中搜尋構件的名字比搜尋構件的類型更容易實現。

7.5 構件的前綴

以下構件的前綴可以用來設計Delphi 6中的標準構件。在此列表中加入了第三方構件的前綴。由于這些前綴不好記,所以也可采用比較長的構件命名方法,而忽略一下內容,如OkButton、CancelButton、StartDateTimePicker,即后面是構件的類型,前面是構件的名稱,這種命名方法也是Borland的標準命名方法;對于同一類型的構件,如TButton、TSpeedButton、TBitBtn可以用同樣的后綴Button;除了在代碼中不會設計的界面構面,如Label、Panel等,永遠不要用一大堆的Button1、Button2等Delphi默認的名稱。

7.6 Standard頁

前綴 構件

fm TFrame

mm TMainMenu

pm TPopupMenu

mmi TMainMenuItem

pmi TPopupMenuItem

lbl TLabel

edt TEdit

mem TMemo

btn TButton

cb TCheckBox

rb TRadioBox

lb TListBox

cb TComboBox

scb TScrollBar

gb TGroupBox

rg TRadioGroup

pnl TPanel

al TActionList

7.7 Additional頁

bbtn TBitBtn

sb TSpeedButton

me TMaskEdit

sg TStringGrid

dg TDrawGrid

img TImage

shp TShape

bvl TBevel

sbx TScrollBox

clb TCheckListbox

spl TSplitter

stx TstaticText

cb TcontrolBar

ae TApplicationEvents

cht TChart

7.8 Win32頁

tbc TTabControl

pgc TPageControl

il TImageList

bm TBatchMove

usql TUpdateSQL

ntbl TNestedTable

7.12 Data Controls頁

dbg TDBGrid

dbn TDBNavigator

dbt TDBText

dbe TDBEdit

dbm TDBMemo

dbi TDBImage

dblb TDBListBox

dbcb TDBComboBox

dbch TDBCheckBox

dbrg TDBRadioGroup

dbll TDBLookupListBox

dblc TDBLookupComboBox

dbre TDBRichEdit

dbcg TDBCtrlGrid

dbch TDBChart

7.13 Decision Cube頁

dcb TDecisionCube

dcq TDecisionQuery

dcs TDecisionSource

dcp TDecisionPivot

dcg TDecisionGrid

dcgr TDecisionGraph

7.14 QReport頁

注:建議不要使用。報表用reportbuilder

qr TQuickReport

qrsd TQRSubDetail

qrb TQRBand

qrcb TQRChildBand

qrg TQRGroup

qrl TQRLabel

qrt TQRText

qre TQRExpr

qrs TQRSysData

qrm TQRMemo

qrrt TQRRichText

qrdr TQRDBRichText

qrsh TQRShape

qri TQRImage

qrdi TQRDBMImage

qrcr TQRCompositeReport

qrp TQRPreview

qrtf TQRTextFilter

qrcsvf TQRCSVFilter

qrhtmlf TQRHTMLFilter

qrch TQRChart

7.15 Dialogs頁

對話框構件是由構件封裝的真正的窗體,因此,它們應遵循窗體的命名約定。類型已由構件的名稱定義。它的實例的名稱是Delphi自動生成的類型實例名字去掉數字后綴。舉例如下:

類型 實例名字

TOpenDialog OpenDialog

TSaveDialog SaveDialog

TOpenPictureDialog OpenPictureDialog

TSavePictureDialog SavePictureDialog

TFontDialog FontDialog

TColorDialog ColorDialog

TPrintSetupDialog PrintSetupDialog

TFindDialog FindDialog

TReplaceDialog ReplaceDialog

7.16 Win3.1頁

ts TTabSet

npop TNMPop3

smtp TNMSMTP

ntm TNMTime

nudp TNMUdp

re TRichEdit

thr TTrackBar

prb TProgressBar

ud TUpDown

hk THotKey

ani TAnimate

dtp TDateTimePicker

tv TTreeView

lv TListView

hdr TheaderControl

stb TStatusBar

tlb TToolBar

clb TcoolBar

ps TPageScroller

7.9 System頁

tm TTimer

pb TPaintBox

mp TMediaPlayer

olec TOleContainer

ddcc TDDEClientItem

ddci TDDEClientItem

ddsc TDDEServerConv

ddsi TDDEServerItem

7.10 Internet頁

csk TClientSocket

ssk TServerSocket

wbd TWebDispatcher

pp TPageProducer

tp TQueryTableProducer

dstp TDataSetTableProducer

dspp TDataSetPageProducer

wb TWebBrowser

7.11 Data Access頁

前綴 構件

ds TDataSource

tbl TTable

qry TQuery

sp TStoredProc

db TDataBase

ssn TSession

ol TOutline

tnb TTabbedNoteBook

nb TNoteBook

hdr THeader

flb TFileListBox

dlb TDirectoryListBox

dcb TDriveComboBox

fcb TfliterComboBox

dbll TDBLookupList

dblc TDBLookupCombo

7.17 Samples頁

gg TGauge

cg TColorGrid

spb TSpinButton

spe TSpinEdit

dol TDirectoryOutline

cal TCalendar

ibea TIBEventAlerter

7.18 ActiveX頁

cfx TChartFX

vsp TVSSpell

f1b TF1Book

vtc TVTChart

7.19 Midas頁

cds TClientDataSet

dcom TDCOMConnection

sck TSocketConnection

dsp TdataSetProvider

sob TsimpleObjectBroker

wc TwebConnection

cc TcorbaConnection

7.20 ADO頁

注:不建議使用

adoc TADOConnection

adocd TADOCommand

adods TADODataSet

adot TADOTable

adoq TADOQuery

adosp TADOStoredProc

rdsc TRDSConnection

7.21 InterBase頁

ibt TIBTable

ibq TIBQuery

ibsp TIBStoredProc

ibd TIBDatabase

ibtc TIBTransaction

ibus TIBUpdateSql

ibds TIBDataset

ibs TIBSql

ibdi TIBDatabaseInfo

ibsm TIBSqlMonitor

ibe TIBEvents

7.22 InternetExpress頁

xmlb TXMLBroker

mpp TMidasPageProducer

7.23 FastNet頁

nmdt TNMDayTime

nMsg TNMMsg

nmsg TNMMSGServ

nec TNMEcho

nftp TNMFtp

nhttp TNMHttp

nntp TNMNNTP

nst TNMStrm

nsts TNMStrmServ

url TNMUrl

nuup TNMUUProcessor

psk TPowerSock

ngs TNMGeneralServer

nf TNMFinger

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的Delphi程序员代码编写标准指南的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

激情在线免费视频 | 久久香蕉电影 | 国产成人中文字幕 | 在线你懂 | 日韩在线视频网站 | 日本性动态图 | www色综合| 欧美久久九九 | 九九九热精品免费视频观看网站 | 亚洲国产无| 美女久久久久久 | 欧美一区三区四区 | 日本在线观看视频一区 | 亚洲精品久久久久久中文传媒 | 81国产精品久久久久久久久久 | 国产视频精品免费 | 国产成人一区二区三区在线观看 | 狠狠操影视 | 黄色一级在线观看 | 操久| 黄色免费网站大全 | 久久久久国产一区二区三区 | 麻花天美星空视频 | 中文字幕亚洲综合久久五月天色无吗'' | 亚洲综合一区二区精品导航 | 国产精品一区二区白浆 | 韩国精品视频在线观看 | 日韩一区精品 | 久久久久免费精品视频 | 亚洲永久精品在线 | 狠狠干夜夜操 | 狠狠干激情 | 黄污在线观看 | 天天想夜夜操 | 精品久久久久久久久久久久久久久久久久 | 久章操 | 久久久久激情视频 | 欧美成人影音 | 天天操天天干天天爱 | 久久久久久久久久网站 | 96在线 | 国产精品自产拍在线观看网站 | 久久综合给合久久狠狠色 | 亚洲 欧洲 国产 日本 综合 | 午夜精品福利一区二区 | 四虎国产精品成人免费影视 | 亚洲一区精品人人爽人人躁 | 精品国产乱码久久 | 国产在线观看黄 | 69久久夜色精品国产69 | 操操操av | 亚洲女同ⅹxx女同tv | 国产视频精品视频 | av久久在线 | 99人成在线观看视频 | 91成人免费在线 | 黄色片网站av | 国产最新视频在线观看 | 国产黄a三级三级三级三级三级 | 天堂在线成人 | 欧美亚洲免费在线一区 | 三级在线视频观看 | 99r在线播放 | 在线观看黄网 | 在线看片中文字幕 | av软件在线观看 | 亚洲成人动漫在线观看 | 五月婷婷视频在线 | 日批视频在线 | 亚洲mv大片欧洲mv大片免费 | 亚洲精品美女久久久久网站 | 人人爽人人插 | 亚洲日本在线视频观看 | 免费黄在线看 | 在线观看岛国片 | 国产精品白虎 | 免费在线观看不卡av | 在线91色 | 婷婷色社区 | a级国产乱理论片在线观看 特级毛片在线观看 | 久久久久久久久福利 | 日韩美在线观看 | 91亚洲狠狠婷婷综合久久久 | 亚洲人在线视频 | 午夜视频久久久 | 欧美日韩视频网站 | 黄色片免费看 | 色综合中文字幕 | 狠狠躁日日躁狂躁夜夜躁av | 天天草天天草 | www.夜夜草| 色网站中文字幕 | 久久国产精品99久久久久久丝袜 | 二区三区中文字幕 | 91麻豆精品国产91久久久更新时间 | 日韩三级视频在线观看 | 亚洲国产97在线精品一区 | 男女视频国产 | 国产精品一区二区久久国产 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 国产精品理论片在线播放 | 国产专区一 | 超级碰99 | 国产精品成人一区二区三区吃奶 | 一区二区三区不卡在线 | 综合色影院| 国产护士在线 | 日韩素人在线观看 | 色av婷婷| 国产麻豆精品免费视频 | 中文字幕乱码亚洲精品一区 | 黄a网站 | 亚洲精品综合一二三区在线观看 | 亚洲久草网 | 99久久久久久国产精品 | 国产不卡精品 | 福利视频第一页 | 日韩电影中文字幕在线 | 亚洲极色| 成人黄大片视频在线观看 | 欧美亚洲免费在线一区 | 五月婷婷,六月丁香 | 久久涩视频 | 欧美精品中文字幕亚洲专区 | 国产视频一区二区在线观看 | 免费观看的黄色片 | 五月婷婷丁香网 | 国产中文字幕免费 | 99久久精品免费看国产麻豆 | www.黄色小说.com | 成人一级在线观看 | 国产69熟| 国产在线观看91 | 999久久久久久久久6666 | av天天色 | 久色网| 精品一区二区三区久久 | 免费一区在线 | 久久99日韩 | 天天天天天天干 | 久久久久久亚洲精品 | 手机av在线免费观看 | 亚洲专区在线播放 | 日日躁夜夜躁aaaaxxxx | 手机看片 | 精品国产乱码久久久久久浪潮 | 久久av中文字幕片 | 九草视频在线观看 | 一区二区三区免费播放 | 亚洲理论在线观看电影 | 婷婷丁香激情网 | 天天综合网入口 | 欧美日韩国产一区二区三区 | 成人av片免费观看app下载 | 欧美动漫一区二区三区 | av永久网址 | 五月天av在线 | 日韩免费网址 | 久久久久久国产精品999 | 精品一区二区在线免费观看 | 九九热国产| 麻豆影视网站 | 波多野结依在线观看 | 999成人国产 | 亚洲专区视频在线观看 | av性网站 | 日韩天堂在线观看 | 青草视频在线播放 | 99久久精品国产毛片 | 日韩伦理片一区二区三区 | 欧美亚洲精品在线观看 | 国产一级在线免费观看 | 国产精品久久久久久久久久久久久久 | 久草a视频| 不卡的av电影在线观看 | 国产手机在线观看视频 | 久久久精品欧美一区二区免费 | 午夜免费在线观看 | 日日日天天天 | 日韩在线不卡视频 | 中文字幕免费播放 | 亚洲精品中文字幕在线观看 | 国产高清日韩 | 九九综合在线 | 一区二区激情 | 狠狠伊人| 久久久久一区二区三区 | 黄色的视频 | 亚洲国产av精品毛片鲁大师 | 97精品国产91久久久久久 | 夜夜狠狠 | 天天夜夜操 | 成人免费在线播放视频 | 91免费版在线观看 | 国产视频一区在线 | 亚洲精品国产自产拍在线观看 | 国产裸体视频网站 | 中文字幕av在线不卡 | 天天干视频在线 | 久久成人综合 | 99999精品视频 | 亚洲aⅴ久久精品 | 日韩在线观看网站 | 国产精品久久久久久久久婷婷 | 久久精品视频播放 | 久久99热精品这里久久精品 | 青青草国产精品 | 久久成| av在线播放中文字幕 | 国产亚洲精品中文字幕 | 免费黄在线观看 | 国产精品久久久久永久免费观看 | 亚洲视频1 | 五月婷婷丁香激情 | 特黄特黄的视频 | 三三级黄色片之日韩 | 欧美国产精品一区二区 | 国产无遮挡又黄又爽馒头漫画 | 久久尤物电影视频在线观看 | 国产精品白浆 | 少妇bbb搡bbbb搡bbbb′ | 欧美精品在线一区二区 | 综合网伊人 | 国产精品一区二区麻豆 | 九九久久影院 | 91网站免费观看 | 日韩中文字幕在线观看 | 国产你懂的在线 | 久久国产精品二国产精品中国洋人 | 亚洲动漫在线观看 | 伊人天天干 | 福利视频网站 | 中文在线字幕免费观看 | www黄色大片 | 欧美午夜一区二区福利视频 | 日韩av电影网站在线观看 | 国产精品久久一卡二卡 | 亚洲黄色高清 | 毛片一区二区 | 一区二区中文字幕在线观看 | 精品久久美女 | 久草资源在线 | 亚洲一区二区精品视频 | 欧美激精品 | 久草视频中文 | 天天综合天天做天天综合 | 国产精品久久婷婷六月丁香 | 免费观看十分钟 | 欧美专区国产专区 | 国产99久久久国产 | www黄| 五月婷婷导航 | 日韩毛片在线免费观看 | 国产黄a三级三级 | 国产69精品久久久久99 | 国产伦精品一区二区三区… | 亚洲精品88欧美一区二区 | 天天干天天摸天天操 | 91视频免费看 | 久久精品99国产精品酒店日本 | 国产精品久久久久一区二区三区 | 精品免费在线视频 | 操操综合网 | 免费精品| 在线亚洲小视频 | 亚洲成av人片在线观看香蕉 | 国产精品18久久久久久久网站 | aav在线| 91人人爽人人爽人人精88v | 国产一区二区三区视频在线 | 六月婷操 | 国产精品女同一区二区三区久久夜 | 九九热视频在线 | 午夜av一区| av在线激情| 超碰97免费在线 | 97国产超碰 | 日韩精品一区二区不卡 | 久久久久久片 | 欧美日韩三级在线观看 | 欧美日韩视频在线观看一区二区 | 国产成人av片 | 91综合色 | 中文字幕在线视频网站 | 美女激情影院 | a√资源在线 | 国产精品粉嫩 | 国产99久久久精品 | 久久草在线精品 | 国模一二三区 | 欧美性生活小视频 | 免费精品视频 | 8x成人免费视频 | 九九热精品在线 | a视频免费看 | 国产精品自在线拍国产 | 最近2019中文免费高清视频观看www99 | 蜜臀久久99精品久久久久久网站 | 亚洲va欧美| 天天操天天摸天天爽 | 亚洲精品在线观看av | 久久国内精品视频 | 久久综合婷婷国产二区高清 | 美女在线免费观看视频 | 久久综合9988久久爱 | 六月激情网| 久久国内精品视频 | 日本黄色大片免费 | 日本中文字幕影院 | 久久久精品国产免费观看一区二区 | 欧美成人日韩 | 欧美日韩裸体免费视频 | 亚洲精品自在在线观看 | 中文av资源站 | 国产在线综合视频 | 黄色免费网战 | 欧美激情精品一区 | 亚洲国产精品电影在线观看 | 日韩在线观看一区二区 | 天堂视频中文在线 | 在线免费成人 | 黄色小网站在线观看 | 亚洲精品免费在线观看 | 国产亚洲成人精品 | 国产在线不卡一区 | 亚洲国产日韩精品 | 久久久国产精华液 | 婷婷丁香在线 | 夜夜夜夜猛噜噜噜噜噜初音未来 | 懂色av懂色av粉嫩av分享吧 | 亚洲精品男人的天堂 | 久草在线手机观看 | 97日日 | 色网站黄 | 国产麻豆精品传媒av国产下载 | 欧美另类调教 | 一区 在线观看 | 69精品在线观看 | 国产手机视频在线播放 | av电影av在线| 丝袜制服综合网 | 欧美午夜精品久久久久久孕妇 | 中文字幕免费国产精品 | 成人高清av在线 | av在线小说| 亚洲欧美国产精品久久久久 | 手机在线欧美 | 特级西西444www大精品视频免费看 | 亚洲专区欧美专区 | 国产高清精品在线观看 | 成人在线视频免费观看 | 日韩av五月天| 亚洲视频h | 亚州av成人 | 日韩免费一级a毛片在线播放一级 | 黄色91在线 | 五月婷婷综合色拍 | 久久99在线视频 | 91av小视频 | 久草综合在线观看 | 国产精品2020| 天天摸夜夜添 | 在线日韩视频 | 亚洲精品久久在线 | 国产日产精品一区二区三区四区的观看方式 | 国产精品成人a免费观看 | www.五月婷婷.com | 亚洲最大成人免费网站 | 日产乱码一二三区别免费 | 91在线视频播放 | 在线之家免费在线观看电影 | 久久中国精品 | 日本精品va在线观看 | 日韩城人在线 | 国产特级毛片aaaaaaa高清 | 色婷婷在线播放 | 一区二区三区高清在线观看 | 亚洲高清在线精品 | 国产精品青草综合久久久久99 | 天天曰天天曰 | 日韩专区在线 | 精品96久久久久久中文字幕无 | 国产视频色| 免费看国产精品 | 911香蕉| av色综合| 久久免费在线观看视频 | 天天摸天天操天天爽 | 五月激情丁香图片 | 日韩精品久久久久久久电影竹菊 | 国产一级二级在线播放 | 97精品国产97久久久久久免费 | 亚洲国产久 | 96视频免费在线观看 | 成人教育av | 亚洲激情六月 | 日韩精品中文字幕在线 | av电影一区 | 成人午夜影院在线观看 | 激情综合亚洲精品 | 91成人免费电影 | 亚洲天天看 | av资源网在线播放 | 久久热亚洲 | 九九免费视频 | 亚洲精品自在在线观看 | 欧美精品v国产精品v日韩精品 | 三级av免费| 91九色免费视频 | 精品国产1区2区3区 国产欧美精品在线观看 | 天天插伊人 | 国产精品99免视看9 国产精品毛片一区视频 | 久久久久久久久久久久久久电影 | 欧美最猛性xxxxx免费 | 久久精品一区二 | 亚洲最新av网址 | 亚洲国产视频直播 | 国产在线一线 | 在线观看免费高清视频大全追剧 | 成人久久国产 | 国产精品免费大片视频 | 成人免费观看视频网站 | 久久99国产综合精品免费 | 国产麻豆精品一区 | 日韩在线首页 | 国产一区二区电影在线观看 | 日韩欧美在线第一页 | 国产美女视频一区 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 午夜电影中文字幕 | 黄色毛片视频免费观看中文 | 国产成人一区二区三区 | 国产99精品| 热久精品 | 国产精品亚洲精品 | 成人午夜性影院 | 91麻豆精品国产91久久久久久久久 | 日韩在线观看中文 | 国产视频在线一区二区 | 天天干天天干天天射 | 成人久久久久 | 免费看片亚洲 | 久久久久久影视 | 国产高清在线免费观看 | 国产成人久久77777精品 | 月下香电影 | 午夜精品久久久久久久久久久久久久 | 国产成人精品午夜在线播放 | 中文不卡视频在线 | 99热在线精品观看 | 欧美男同视频网站 | 日韩美女免费线视频 | 18网站在线观看 | 国产免费影院 | 成人久久综合 | 日本激情视频中文字幕 | 日本特黄特色aaa大片免费 | 国产精品久久久影视 | 久久久国产一区二区三区四区小说 | 91影视成人 | 亚洲永久国产精品 | 在线亚洲欧美日韩 | 四虎在线免费观看 | 天天射天天舔天天干 | 日韩最新在线视频 | 中文字幕黄网 | 日韩在线观看一区 | 91在线观看视频网站 | 久久av高清 | 国产在线视频一区 | 久久九九视频 | 久久午夜色播影院免费高清 | 一区二区视频在线免费观看 | 欧美日韩一区二区三区在线观看视频 | 激情久久久久久久久久久久久久久久 | 亚洲视频观看 | 在线国产高清 | www.天天干 | 国产高清视频色在线www | 天天舔天天射天天操 | 中文在线天堂资源 | 中文字幕日本在线 | 欧美日本啪啪无遮挡网站 | www.超碰97.com | 免费观看91 | 2019中文最近的2019中文在线 | 在线成人小视频 | 国产一级高清视频 | 久热av在线 | 午夜电影久久久 | 久久中国精品 | 天天艹天天操 | 欧美一区免费观看 | 中文字幕精品一区二区精品 | 欧美在线视频一区二区三区 | 亚洲视频一级 | 国产一级一片免费播放放 | 国产中文a| 伊人狠狠色丁香婷婷综合 | 国产午夜在线观看视频 | 中文字幕免费国产精品 | 丁香国产视频 | 在线欧美日韩 | 亚洲一区 影院 | 国产精品嫩草69影院 | 特级西西444www高清大视频 | 欧美日韩性生活 | 国产小视频你懂的在线 | 视频一区在线免费观看 | 中文字幕乱在线伦视频中文字幕乱码在线 | 国产在线一线 | 日韩中文在线字幕 | 国产一线二线三线性视频 | 一区三区在线欧 | 国产又粗又猛又爽又黄的视频先 | 国产成人一区二区三区在线观看 | 国产精品 日韩 欧美 | 国产理论片在线观看 | 欧美久久久久久久久 | 天天天天天天干 | 国产一区免费看 | 日韩欧美在线免费观看 | 99re亚洲国产精品 | 中文综合在线 | 日韩女同av| aaa黄色毛片 | 在线 欧美 日韩 | 欧美精品久久久久久久久老牛影院 | 欧美色综合天天久久综合精品 | 久久九九久久精品 | 国产精品69av | 中文字幕在线观看播放 | 久久久久久国产精品久久 | 一二区av | 2022国产精品视频 | 五月在线视频 | 国产又粗又猛又爽又黄的视频先 | 九月婷婷人人澡人人添人人爽 | 亚洲欧美日本国产 | 国产午夜小视频 | 亚洲精品456在线播放 | 国产精品乱码一区二三区 | 日本久久久久久久久久久 | 97精品国产97久久久久久春色 | 伊人色综合久久天天 | 国产精品成人av电影 | 日日夜av| 久久久视频在线 | 波多野结衣在线中文字幕 | 97在线观看视频免费 | 射射射综合网 | 国产专区在线播放 | 国产在线播放一区二区 | 国产xvideos免费视频播放 | 天天干.com | 夜夜躁狠狠躁日日躁 | 色视频一区 | 欧美另类交人妖 | 热久久免费视频精品 | 亚洲 成人 一区 | 国产精品一区在线观看你懂的 | 99久久综合狠狠综合久久 | 91成人欧美 | 超碰97国产在线 | 尤物九九久久国产精品的分类 | 久草综合在线 | 国产一级性生活 | 亚洲另类久久 | 美女网站在线看 | 日本深夜福利视频 | 亚洲激情av| 欧美一进一出抽搐大尺度视频 | 亚洲综合视频在线观看 | 97超级碰碰碰碰久久久久 | 美女视频久久久 | 亚洲精品久久久久中文字幕二区 | 日韩中文三级 | 久久久999精品视频 国产美女免费观看 | 亚洲精品黄色片 | 精品国产一区二区三区久久 | 久久爱导航 | 日本特黄特色aaa大片免费 | 精品免费 | 欧美老人xxxx18 | 蜜臀91丨九色丨蝌蚪老版 | 国产小视频精品 | 久久天天操 | 久草在线资源网 | 日韩三级一区 | 天天插日日插 | 成人app在线免费观看 | 日韩欧美精品在线 | 欧美一区二区日韩一区二区 | 免费观看日韩av | 黄色精品在线看 | 中文字幕在线中文 | 欧美日韩国产精品爽爽 | 中文字幕第一 | 国产91免费在线观看 | 欧洲精品视频一区二区 | 国产精品1区2区3区在线观看 | 不卡电影免费在线播放一区 | 日本三级在线观看中文字 | 日本久久综合视频 | 日韩在线视频在线观看 | 国产一级免费av | 青青河边草免费观看 | 国产精品视频不卡 | 97免费在线观看视频 | 一区二区丝袜 | 免费在线观看av不卡 | 国产特级毛片aaaaaa高清 | 97精品国自产拍在线观看 | 午夜精品福利一区二区 | 玖玖在线视频观看 | 99在线观看精品 | 久久免费视频这里只有精品 | 国产精品久久久久久久婷婷 | 亚洲国产精久久久久久久 | 久草免费色站 | 九九爱免费视频 | 一区二区三区韩国免费中文网站 | 久久99热国产 | 伊人婷婷久久 | 精品亚洲欧美一区 | 国产伦精品一区二区三区无广告 | 欧美一区二区精美视频 | 亚洲日本色 | 国产亚洲综合精品 | 日本精品视频免费 | 国产精品一区二区62 | 国产午夜精品av一区二区 | 99久久精品国产网站 | 日韩欧美视频在线 | 日韩专区一区二区 | 久久久香蕉视频 | 免费av免费观看 | 97精品伊人 | 国产日韩精品在线 | 精品久久久999 | 欧美色图p | 国内精品久久久精品电影院 | 韩国精品视频在线观看 | 久久久精品久久 | 中文字幕在线观看视频一区二区三区 | 日本黄色免费在线观看 | 午夜少妇 | 午夜色大片在线观看 | www亚洲国产| 久久午夜电影 | 色偷偷888欧美精品久久久 | 久久综合九色综合97_ 久久久 | 成片视频在线观看 | 五月婷婷中文网 | 欧美性极品xxxx娇小 | 婷婷激情欧美 | 丁香花在线观看免费完整版视频 | 日韩高清在线一区二区三区 | 久久国产午夜精品理论片最新版本 | 久久久穴| 三级小视频在线观看 | 黄免费在线观看 | 999在线视频| 韩日av一区二区 | 国产一区私人高清影院 | 天堂av一区二区 | 久久免费视频7 | www在线观看国产 | 伊人久操 | 国产精品久久久久久久午夜片 | 四虎在线永久免费观看 | 波多野结衣久久精品 | 日韩有码在线观看视频 | 97涩涩视频 | 99超碰在线观看 | 国产精品免费视频观看 | 一区二区三区四区久久 | 蜜臀av夜夜澡人人爽人人 | 亚洲精品国内 | 国产精品永久久久久久久久久 | 国产福利网站 | 中字幕视频在线永久在线观看免费 | 国产精品大片免费观看 | 西西444www大胆无视频 | 国产精品99久久免费黑人 | 免费在线观看av电影 | 在线精品视频免费观看 | 日本免费一二三区 | 国产成人精品免高潮在线观看 | 欧美日韩国产综合一区二区 | 国产午夜精品久久久久久久久久 | 成人小电影在线看 | 人人爽人人爽人人爽人人爽 | 麻豆视频网址 | 亚洲一级片免费观看 | 午夜精品久久久久久久99 | 中国美女一级看片 | 黄色在线视频网址 | 中文字幕麻豆 | 欧美日在线 | 欧美在线视频一区二区三区 | 欧美91视频 | 久久久电影 | 日日夜日日干 | 久久精品一二区 | 亚洲视频第一页 | 久久一区二 | 深爱综合网 | 久久久久免费精品视频 | 日韩精品一区二区三区在线播放 | 99热精品在线 | 少妇激情久久 | 免费观看国产精品视频 | 密桃av在线 | 香蕉影院在线观看 | www.久久久| 国产麻豆剧传媒免费观看 | 久草免费在线视频 | 99久久精品无免国产免费 | 麻豆精品视频在线观看免费 | 国产精品免费大片视频 | 亚洲乱亚洲乱亚洲 | 色婷婷九月| 99久久国产免费看 | 色www免费视频 | 中文字幕在线精品 | 四季av综合网站 | 日本在线观看一区二区三区 | 欧美一级黄色片 | 激情视频免费在线观看 | 欧美国产精品久久久久久免费 | 国产一区播放 | 国产精品成人国产乱 | 国产成人精品综合久久久久99 | 免费看黄色小说的网站 | 亚洲精品中文字幕在线 | 亚洲色五月| 亚洲 欧美 变态 国产 另类 | 久久男人中文字幕资源站 | 日韩中文字幕免费看 | 久久草草热国产精品直播 | 麻豆传媒一区二区 | 亚洲色图22p | 免费日韩视 | 综合网天天色 | 久久一区二区三区国产精品 | 久久视频免费在线 | 一级黄色视屏 | 色欧美88888久久久久久影院 | av成年人电影 | 国产精品视频永久免费播放 | 婷婷丁香五 | 亚洲黄色精品 | 亚洲精品久久久久中文字幕m男 | 91丨九色丨国产女 | 日日精品 | 婷婷五天天在线视频 | 亚洲精品高清视频 | 日韩视频免费在线 | 中文字幕在线看片 | 91精品视屏| 水蜜桃亚洲一二三四在线 | 亚洲成人精品在线观看 | 国产在线91精品 | 西西人体4444www高清视频 | 狠狠操电影网 | 欧美日韩激情视频8区 | 日本久久中文字幕 | 免费在线观看中文字幕 | 欧美精品资源 | 久久欧美视频 | 嫩嫩影院理论片 | 婷婷午夜天 | 欧美日韩国产欧美 | www.久久精品视频 | 99久久精品费精品 | 91成年人在线观看 | 国产一级片免费播放 | 日本中文一区二区 | 天天射天天射天天射 | 国产视频在 | 最近中文字幕大全 | 西西4444www大胆艺术 | 黄色www在线观看 | 亚洲精品小视频 | 99久久精品午夜一区二区小说 | 在线免费精品视频 | 最新超碰| 精品久久一区二区三区 | 日韩电影中文字幕在线观看 | 成人免费在线观看av | 亚洲国产97在线精品一区 | 日韩精品视频网站 | 国产精品99久久久久久武松影视 | 亚洲jizzjizz日本少妇 | 911亚洲精品第一 | bbw av| www.成人精品| 亚洲午夜精品久久久久久久久 | 成人黄色在线视频 | 欧美一级裸体视频 | 中文国产在线观看 | 天天性天天草 | 国产精品久久久久久久久久 | 免费观看一级特黄欧美大片 | 天天操天天爱天天爽 | 草在线视频| 国产午夜精品一区二区三区四区 | 中文字幕一区二 | 六月激情久久 | 欧美日韩国产综合网 | 久久在线精品视频 | 免费av视屏| 亚洲国产精品小视频 | 日韩一区二区在线免费观看 | 国产精品毛片一区二区在线 | 成人三级av | 免费97视频 | 久草视频首页 | 天天狠狠 | 久久久久久国产精品免费 | 国产一级二级视频 | 91精品对白一区国产伦 | 色婷婷在线视频 | 亚洲日本va午夜在线影院 | 丁香六月久久综合狠狠色 | 91精品国产99久久久久久红楼 | 国产精品日韩久久久久 | 成年人国产精品 | 国产一区 在线播放 | www.日本色 | 一区二区 精品 | 中文字幕成人 | 一区电影 | 欧美亚洲成人xxx | 国产国语在线 | 黄色aa久久| 999日韩| 久久免费大片 | 日韩欧美在线播放 | 在线观看免费视频你懂的 | 91在线操 | a久久久久 | 欧美淫aaa免费观看 日韩激情免费视频 | 国产精品3区| 成人在线视频你懂的 | 夜夜操狠狠干 | 日韩影视精品 | 国产视频久久 | 婷婷久久一区二区三区 | 激情综合网婷婷 | 二区三区在线 | 日本精品视频网站 | 91探花在线视频 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 国产日韩欧美在线观看视频 | 久久久久激情视频 | 久久网站av| 国产视频一区二区在线观看 | 日韩免费在线 | 亚洲理论影院 | 网站在线观看日韩 | 久久久久免费精品国产 | 99综合电影在线视频 | 97视频在线观看成人 | 深夜免费小视频 | 97麻豆视频 | 久久天天综合网 | 色婷婷成人网 | 尤物97国产精品久久精品国产 | 免费视频91蜜桃 | 欧美成人69av| 国产一级黄色片免费看 | 亚洲成人精品久久久 | 国产精品专区在线观看 | 中文字幕免 | 91女神的呻吟细腰翘臀美女 | 最近中文国产在线视频 | 99 精品 在线 | 国产福利资源 | 久久伊99综合婷婷久久伊 | 国产又粗又猛又黄 | 国产精品毛片一区二区在线看 | 精品亚洲成a人在线观看 | 亚洲视频在线观看网站 | 亚州性色| 亚洲免费公开视频 | 黄色小说视频网站 | 97电院网手机版 | 日韩精品 在线视频 | 亚洲国产网站 | 在线观看国产成人av片 | 日韩 国产 | 亚洲国产精品一区二区尤物区 | 国产99re| 亚洲综合色av| 国产99久久久国产 | 最新日韩在线观看视频 | 日日干天夜夜 | 久久精彩视频 | 又色又爽又激情的59视频 | av女优中文字幕在线观看 | 久久99最新地址 | 99色国产 | 91超级碰| 国产精品麻豆免费版 | 91成人欧美 | 激情久久婷婷 | 久久国产视频网站 | 在线国产激情视频 | 久久人人爽人人片 | 婷婷丁香色综合狠狠色 | 亚洲一区免费在线 | 99av在线视频| www.亚洲精品视频 | 夜夜骑日日 | 中文av网 | 国产123av| 香蕉网站在线观看 | 99re国产视频 | 免费观看日韩 | 五月天婷婷综合 | 91麻豆免费版 | 丁香在线视频 | 色婷婷五| 在线观看免费视频 | av色综合网 | 超碰人人草 | 午夜国产一区 | av高清网站在线观看 | 国产黄色片免费在线观看 | 日本女人的性生活视频 | 91在线资源| 午夜精品麻豆 | 久久高清国产视频 | 久久久久久免费毛片精品 | 在线免费观看羞羞视频 | 天天做日日做天天爽视频免费 | www.人人干| 久久久久久久99精品免费观看 | 精品毛片一区二区免费看 | 亚洲国产无 | 国产一级片播放 | 国产精品96久久久久久吹潮 | 国产在线a视频 | 国产亚洲一区二区在线观看 | 能在线看的av | 免费看成人片 | 久久久午夜精品理论片中文字幕 | 人人爽人人爽人人爽 | 免费视频色 | 亚洲欧美日韩精品一区二区 | 国产视频不卡一区 | 玖草在线观看 | 在线观看激情av | 久久精品久久99精品久久 | 狠狠色丁香婷婷综合久久片 | 久久精品国产v日韩v亚洲 | 久久久免费播放 | 97偷拍视频 | 久久超级碰视频 | 色永久免费视频 | 麻豆 videos | 在线激情av电影 | 国产美女免费视频 | 日产中文字幕 | 国产精品美女久久久久久久久 | 国产精品美女视频网站 | 一区三区视频 | 最近中文字幕在线播放 | 91片黄在线观看 | 有没有在线观看av | 中文字幕美女免费在线 | 在线电影日韩 | 九九一级片 | 成人一级黄色片 | 日韩国产精品久久久久久亚洲 | 国产色视频网站2 | 久久久精选 | 欧美国产不卡 | 91免费日韩 | 久热爱 | 韩国av一区二区三区 | 国产精品免费观看久久 | 99精品欧美一区二区三区 | 亚洲中字幕 | 婷婷成人综合 | 国产成人久 | 97精品国产97久久久久久 | 毛片一区二区 | 久久亚洲免费 | 中文字幕视频三区 | 国产高清永久免费 | 日韩中文字幕一区 | 麻豆久久一区二区 | 国产a级精品 | 又黄又爽又湿又无遮挡的在线视频 | 欧美地下肉体性派对 |