程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> Pascal精要筆記

Pascal精要筆記

編輯:Delphi

Pascal精要筆記

Pascal語言的大小寫不敏感特性有一個例外:控件包中的Register 過程必須以大寫字母R開始,因為需要與C++Builder 兼容。

,編譯器不編譯代碼中的空格、空行和Tab鍵空格,這些元素通稱為空白,它們只用來提高代碼的可讀性,不影響編譯過程。(也就是說: = 這樣的寫法沒有問題,我原來還以為由問題那!)

記住要用代碼模板(方便開發)快捷鍵:Ctrl+J

Absolute 關鍵字是共享變量地址有些象C++的共用體
   var
    Str: string[32];
    StrLen: Byte absolute Str;

與大多數編程語言相反,Pascal語言中and和or運算符的優先級比關系運算符高。因此,如果你的代碼為a < b and c < d,編譯器首先會編譯and運算符,由此導致編譯出錯。為此你應該把每個 < 表達式用小括號括起來: (a < b) and (c < d)。 

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

集合,集合除了 並(+)差(-) 交(*) 等可以用INCLUDE和EXCLUDE效率更高

Include (Style, fsBold);

當時間和日期轉換成字符串時,其轉換格式取決於Windows 的系統設置。

Round轉換一個實型值為四捨五入後的整型值

注意:在最近版本的Delphi Pascal 編譯器中,Round 函數是以 CPU 的 FPU (浮點部件) 處理器為基礎的。這種處理器采用了所謂的 "銀行家捨入法",即對中間值 (如 5.5、6.5) 實施Round函數時,處理器根據小數點前數字的奇、偶性來確定捨入與否,如 5.5 Round 結果為 6,而 6.5 Round 結果也為6, 因為 6 是偶數。並不只是DELPHI這樣(VB也這樣 )

注意:一般來說,你應該避免使用上述不命名類型,因為你不能把它們作為參數傳給例程,也不能用於聲名同一類型的其他變量。實際上,Pascal的類型兼容規則是基於類型名的,而不是基於實際的類型定義。兩個類型相同的變量仍有可能是不兼容的,除非他們的類型有完全相同的名字。對於不命名類型,需要編譯器給它分配一個內部名字,因此對於數據結構復雜的變量,要習慣於定義命名數據類型,你一定不會為此白費工夫的。

Delphi 編譯會通過,但在運行時,如果你開啟了范圍檢查編譯選項(在工程選項對話框的編譯器頁設置),你將得到 Range check error (范圍檢測錯誤)信息。

注意:建議你在開發程序時開啟上述編譯選項,以使程序更健壯並易於調試。這樣即使遇上錯誤,你也會得到一個明確的信息而不是難以琢磨的行為。最終完成程序時你可以去掉這個選項,使程序運行得快一些,不過影響很小。因此我建議你開啟所有運行時的檢測選項,如溢出檢查和堆棧檢查,甚至提交程序時仍然保留它們

Delphi 長字符串的情況略有不同,長字符串看起來象引用,但是如果你改變了該字符串的串變量,那麼這個串在更新前將被拷貝下來。作為值參被傳遞的長字符串只在內存使用和操作速度方面才象引用,但是如果你改變了字符串的值,初始值將不受影響。相反,如果通過引用傳遞長字符串,那麼串的初始值就可以改變。

實質上字符串的值傳遞類似引用,只不過系統在幕後進行了操作,這樣效率會低。

在Delphi中不常使用指針,但是你經常會用一個極為相似的結構--引用(references)。每個對象實例實際上是一個隱含的指針,或說是對其實際數據的引用,利用引用,你能象用其他數據類型一樣使用對象變量。

當通過引用傳遞參數時,引用參數用關鍵字var 標示

procedure DoubleTheValue (var Value: Integer);

Delphi 3增加了一種新的參數:out。out參數沒有初始值,只是用來返回一個值。out參數應只用於COM過程和函數,一般情況下最好使用更有效的var參數。除了沒有初始值這一點之外,out參數與var參數相同。

常量參數,不能夠在過程或函數中改變傳遞過來的值。只可使用。

果你只傳遞數組的一部分,可使用Slice 函數,

明一個過程或函數,而且只給出它的名字和參數,不列出其實現代碼,需要在句尾加forward 關鍵字:

 

 

 

 

 

 

 

 

關鍵字表

關鍵字

作用

absolute

指令 (變量)

abstract

指令 (方法)

and

運算符 (布爾)

array

類型

as

運算符 (RTTI)

asm

語句

assembler

向後兼容 (匯編)

at

語句 (異常處理)

automated

訪問類別符 (類)

begin

塊標記

case

語句

cdecl

函數調用協定

class

類型

const

聲明或指令(參數)

constructor

特殊方法

contains

運算符 (集合)

default

指令 (屬性)

destructor

特殊方法

dispid

dispinterface 界面類別符

dispinterface

類型

div

運算符

do

語句

downto

語句 (for)

dynamic

指令 (方法)

else

語句 (if 或 case)

end

塊標記

except

語句 (異常處理)

export

向後兼容 (類)

exports

聲明

external

指令 (函數)

far

向後兼容 (類)

file

類型

finalization

單元結構

finally

語句 (異常處理)

for

語句

forward

函數指令

function

聲明

goto

語句

if

語句

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved