1. 程式人生 > >教程:ObjectPascal快速上手筆記01.

教程:ObjectPascal快速上手筆記01.

ObjectPascal快速入門筆記01

註釋:

{ 花括號註釋 };

( 圓括號+星號註釋(塊註釋) ); // 雙斜槓註釋(行註釋); 不同形式註釋可巢狀使用。

物件命名:

對大小寫不敏感;

不能帶有空格; 第一個字母儘量不要帶T(類)F(類中私有成員)I(介面);

識別符號:

ASCII碼字符集;

任意長不帶空格的字串; 第一字元必須是字母或下劃線;

變數宣告:

Var variablename:integer;

全域性變數:

一般在implementation後面宣告;

Var variablename:type=constantExpression; 沒有初始化的情況下所有全域性變數會自動初始化0,區域性則根據變數型別的不同而不同;

常量:

Const Pi = 3.141592653589793;

預定義型別:

1.整形(Integer):-32768~32767,2byte;

Shortint:-128~127,1byte; Longint:-2147443648~2147483647,4byte; Byte:0~255,1byte; Word:0~65535,2Byte。

2.實型(Single): 可包含7-8位有效小數部分,4byte; Double類可包含15-16位有效小數部分,8byte; Extended類包含19-20位有效小數部分,10byte; Comp類包含19-20位有效小數部分,8byte; 3.布林型(Boolean):True/False,1byte; 4.字元型(Char):一個ASCII字元:String一串最長255個; 5.指標型(Pointer):可指向任何特定型別; 6.字串型(Pchar):指向以零結尾的字串的指標; 保留字和指令字: 65個ReservedWords; 39個Directives;

資料型別:

1.簡單資料型別(Simple)

包括有序資料型別(ordinal)和實數資料型別(real)。 (1)整數型別 Integer /signed32bit/ -2147483648~21473647 Cardinal /unsigned32bit/ 0~4294967295 Shortint /signed8bit/ -128~127 Smallint /signed16bit/ -32768~32767 Longint /signed32bit/ -2147483648~2147483647 Int64 /signed64bit/ -2的63次方~2的63次方-1 Byte /unsigned8bit/ 0~255 Word /unsigned16bit/ 0~65535 Longword /unsigned32bit/ 0~4294967295

(2)字元型別 AnsiChar:標準的一個ANSI字元,能夠儲存256個不同的字元,其對應的整數範圍為0~255。 WideChar:2位元組的Unicode字元,Unicode字符集前256個字符集與ANSI相同。 Char:相當於WideChar。

(3)布林型別 Boolean:通用型別,單位元組。 ByteBool:單位元組。 WordBool:雙位元組。 LongBool:四位元組,0為false其它true。 0(false)1(true);

(4)列舉型別(Enumerated) 由一組有序識別符號組成。型別中的每一個值都有一個說明它的位置決定的整型值。

(5)子界型別(Subrange) 是下列這些型別中某範圍的值:整型,布林型,字元型或列舉型。限定了變數的可能取值範圍。

(6)浮點資料 是全體帶符號的實數的總稱,用來表示不同格式的實數資料。 Real48,Single,Double,Extended,Comp,Currency.

2.3.2 字串型別(String)

代表一組字元的變數型別。 AnsiString:Pascal預設字串型別,由AnsiChar組成,無長度限制,同時與null結束的字串相相容。 shortstring:常見於舊版delphi,長度限制在255個字元內。 Widestring:功能類似AnsiString,由WideChar組成。 可以通過運算子,過程和函式進行字串型別的變數運算。

2.3.3 結構型別(Struct)

(1)集合型別(Set) 是一群相同型別元素的組合,型別必須是有限型別。Set of BaseType,支援運算子運算。

(2)陣列型別Array 某種資料型別的有序組合,每一個元素值由其相對位置決定。可在陣列的某個位置上放資料。

(3)記錄型別(Record) 記錄是程式可以成組訪問的一群陣列的集合。 記錄包含可以儲存資料的域,每一個域有一個數據型別。

(4)指標型別(Pointer) 指標型別的變數指向記憶體空間的地址。 將@運算子放在變數前面將獲取變數的地址,並可把地址賦值為同樣型別的指標。 把^運算子放在一個數據型別的前面,可定義該型別的一個指標型別,如放在一個指標後面,可獲取該指標指向的地址記憶體空間的內容。

(5)變體型別(Variant) 主要為惹支援OLE自動化操作。 可支援所有簡單資料型別,可表達不均勻陣列。

(6)強制型別轉換和型別約定 通過它能使編譯器把一種型別的變數當作另一種型別。 只有當兩個變數的資料長度一樣時才能對變數進行強制轉換。

2.4 賦值語句

用於需要在程式設計時改變屬性的值,而有的屬性只能在執行時改變。 Edit1.color :=clRed;

2.5 過程與函式

(1)函式的宣告和使用 Function <函式名> (<形式引數表>):<型別>; //函式頭 Begin //函式體 <語句>; End; 返回值可由函式名返回和Result傳回。

(2)過程的宣告和使用 Procedure<過程名> (<形式引數表>) //過程頭 Begin //過程體 <語句>; End 在函式宣告中必須指明函式的返回型別,而過程不需要返回任何型別的值,所以無需宣告返回型別。 在函式體中必須將函式的型別返回給函式名,而在過程中則不存在此語句。

2.6 控制語句

(1)判斷語句 if計算一個表示式,並根據計算結果決定程式流程。if保留字隨後跟隨一個生成boolean值真假表示式(一般用=)。當表示式為True執行then,否則執行else後的語句或自動跳到下一程式。 if可以巢狀,複合語句前後需加上begin/end。 case語句適用於被判斷的變數或屬性是整型,字元型,列舉型或子界型時(Longht除外)。

(2)迴圈語句 repeat語句會重複執行一行或一段語句直到某一狀態為真。語句以repeat開始,以until結束,其後跟隨被判斷的布林表示式。 while的布林值表示式在迴圈的開頭進行判斷。結果為真迴圈被執行否則退出迴圈,do結束。 for語句會執行一定的次數。它需要一個迴圈變數來控制迴圈次數。 如知道迴圈迴圈要執行的次數建議用for迴圈; 如不知道迴圈次數但至少要執行一次選用repeat,可能一次不執行用while; 在迴圈中呼叫break()使得執行的程式在滿足某條件時立即跳出迴圈。 如想跳過迴圈部分程式碼重新開始下一次迴圈,就呼叫continue()。 使用記錄型別變數時,可通過with語句指定一些語句都是針對某個變數來說的,這樣可簡化程式碼的輸入量。 With obj do statement

@本地磁碟姬

ohayou.aimo.moe

2018年08月22日