建议选择重要的,常用的讲解,并同时用实际例子运行,是最好不过的讲课方法;
資料型態
整數型態(Integer Type) 型態 | 範圍 | 格式 |
Shortint | -128~127 | Singed 8-bit |
Smallint | -32768~32767 | Singed 16-bit |
Longint | -2147483648~2147483647 | Singed 32-bit |
Byte | 0~255 | Unsigned 8-bit |
Word | 0~65535 | Unsigned 16-bit |
Integer | -32768~32767 | Singed 16-bit |
型態 | 範圍 | 浮點位元 | 佔用記憶體空間 |
Real | 2.9E-39~1.7E38 | 11-12 | 6Byte |
Single | 1.5E-45~3.4E38 | 7-8 | 4 Byte |
Double | 5.0E-324~1.7E308 | 15-16 | 8 Byte |
Extended | 3.4E-4932~1.1E4932 | 19-20 | 10 Byte |
Comp | -263+1~263-1 | 19-20 | 8 Byte |
Currency | -922337203685477.5808~ -922337203685477.5807 | 19-20 | 8 Byte |
布林型態(Boolean Type)
布林型態的資料只有兩種結果,不是真(True)就是假(False),通常以【0】代表假,【1】代表真
字元及字串(Char & String Type)
字元的表示是以單引號將字元(字串)包起來,例如:'1','a','!','zyx'等,另外字元還有另外一種表示法如:'A'字元等於#65(A的ASCII碼) 字串是字元的集合,Delphi的字串最多能容納255個字元:宣告法如下
Str1:String[10]; 長度為10用中括號[ ]括起來
Str2:String; 長度為255?
陣列型態(Array Type)
Arr1:Array[1..10] of Integer;//10個整數型態元素的陣列
Arr2:Array['A'..'Z'] of Boolean;// 6個Boolean型態元素的陣列,索引值'A'到'F'
Arr1:Array[1..5,1..5] of Real; //25個實數型態元素的二維陣列
? 記錄型態(Record Type)
陣列中的元素必須是同一種資料型態,而記錄型態中的元素可以是不同資料型態的集合
type
Date=Record
Year:word; //年份word型態
Month:1..12; //月份;1~12的整數型態
Day:1..31; //日子:1~31的整數型態
End;
經過上列宣告後Date就變成了一種新的資料型態,我們可用Date來宣告一個變數或陣列,如:Today:Date;me[1..10]:Date;
? 集合型態(Set)
集合資料型態也是一群相同資料型態的元素集合,但其中的元素並無順序之分
? 指標型態(Pointer)
指標是一種特殊的資料型態,它代表的是一個資料在記憶體中的位址,而不是資料本身的內容,指標的表示符號是^及@?
檔案型態
檔案的類型有兩種:一為Typed,另一為Untype。
Typed檔案:由單一類型態的元件所組成;Untype檔案:可由多種型態的元件組成
Type
AAA=record //宣告AAA為記錄型態,宣告其內容後AAA就成為一個新的資料型態
Name:String[10];
ID:Integer;
Pay:Double;
End;
FileAAA=file of AAA //宣告檔案AAA為AAA型態檔案類型
Var
Me:FileAAA;
Me^.Name:='楊宗誌';
Me^.ID:=123;
Me^.Pay:=555;
變數 (Variable)
變數的宣告:宣告變數包含兩個部分,名稱與資料型態
例如:me:Integer me是變數名稱;Integer是變數me的資料型態
原則:
第一個字必須是英文字母
不可是保留字、符號或是識別名稱
長度不可超過127個字元
不可和副程式或函數同名
沒有大小寫之分
宣告變數之前需加上一個保留字【Var】
? 變數的分類
變數得宣告分為全域或區域宣告,全域(Global)變數是任何程式物件都可以使用的包含副程式、函數等,而區域(Local)變數只能用於宣告的副程式中
只要不是在Procedure或Function中宣告的變數就是全域變數
? 運算式(EXpression)
算數運算子 | 邏輯運算子 | ||||
運算子 | 說明 | 運算子 | 說明 | ||
+ | 加法 | not | 反向 | ||
- | 減法 | and | 及 | ||
* | 乘法 | or | 或 | ||
/ | 除法 | xor | 互斥或 | ||
div | 取商除法 | shl | 左移 | ||
mod | 取餘數除法 | shr | 右移 | ||
關係運匴子 | 集合運算子 | ||||
= | 等於 | + | 交集 | ||
<> | 不等於 | - | 差集 | ||
< | 小於 | * | 包含 | ||
> | 大於 | ||||
<= | 小於等於 | 字串運算字 | |||
>= | 大於等於 | + | 連結字串 | ||
<= | 子集合(集合型態) | ||||
>= | 非子集合(集合型態) | ||||
in | 包含(集合型態) |
敘述
直接敘述:直接指定運算式,如:a:=100;b:=c+d
goto 敘述:即跳躍敘述
程序敘述:用來呼叫程序式的敘述稱之,也就是副程式啦!
流程控制敘述
判斷類:If,Case
迴圈類:For、While、Repeat
If Then敘述
格式:
If 條件式 Then
Begin
??????? 敘述區塊;
End;?
If Then Else敘述
格式:
If 條件式 Then
敘述區塊 //整個if架構算是一個敘述不可加;結尾
Else
敘述區塊; //到此if序算才算完成 ?
多重選擇的 case of敘述
格式:
Case 評估值 of
值1:
??????? 敘述區塊;
值2:
??????? 敘述區塊;
值3:
?????? 敘述區塊;
End;
評估值必須是Integer、Char、列舉型態 ?
For Do敘述
格式:
For 計次變數:=初值 To 終值 do
Begin
??????? 敘述區塊;
End; 格式:
For 計次變數:=初值 DownTo 終值 do
Begin
??????? 敘述區塊;
End;
To是遞增迴圈(小到大);DownTo是遞減迴圈(大到小)
? While do 敘述 只要條件式成立就繼續執行敘述迴圈
格式:
While 條件式 Do
Begin
??????? 敘述區塊;
End;
? Repeat Until 敘述 執行敘述迴圈直到條件式成立
格式:
Repeat
敘述區塊;
敘述區塊;
Until 條件式;?
Try敘述
Try Except | Try Finally |
Try? Statement a; 當Statement a有誤時則執行Statement b Except? Statement b; ?End; | Try Statement a;? 不管Statement a是否有誤都要執行Statement b Except? Statement b;? End; |
副程式
宣告格式: ?
procedure 副程式名(參數1:資料型態, 參數2:資料型態,….)
? {在此加入宣告或定義}?
begib
{副程式的內容}?
end; 呼叫副程式並不須像VB一般要使用Call
函數
宣告格式: Function 函數名(參數1:資料型態, ….):傳回值的資料型態 ?
{在此加入宣告或定義}
? begib
{函數內容}
? 函數名:=運算式;
?end;
? 呼叫: 變數名:=函數名(實際參數串列);