Delphi基本文法格式

來源:互聯網
上載者:User

1.常量:固定值,不可變數。

1) const

    常量名 = 常量值(運算式);

2) resourcestring

    常量名 = 字串(常量);

 

2.變數

1)定義

 Var 名字1,名字2,…名字n:類型;

2)命名原則(參考)

變數名字 = 類型(縮寫) + 範圍(簡稱) + 確切含義名稱

3)三種賦值格式

變數名:= 值;

變數名1: = 變數2;

變數名:= 過程或函數的調用;

 

3.類型常量

1)類型常量是全域變數並不是一個常量,它進行了預初始化值。

2)定義

Const

  名字:類型 = 值;

3)種類

 簡單的類型常量

 數群組類型常量

 記錄類型常量

 集合類型常量

 指標類型常量

 過程類型常量

 

4.資料類型

簡單類型(Simple)

 

 

 

有序類型(Ordinal)

 

 

 

整數(Integer)

 

 

字元(Character)

 

 

布爾(Boolean)

 

 

枚舉(Enumerated)

 

 

子域(SubRange)

 

實數(Real)

 

結構類型(Structured)

 

 

 

集合(Set)

 

 

數組(Array)

 

 

記錄(Record)

 

 

檔案(File)

 

 

類(Class)

 

 

類指標(ClassReference)

 

 

介面(Interface)

 

字串類型(String)

 

 

指標類型(Pointer)

 

 

過程類型(Procedural)

 

 

可變類型(Variant)

 

 

 

5.使用者自訂類型

  子域類型

      Type 名稱 = 初值…終值;

  枚舉類型

      Type 名稱 = (值1,值2,值3…值N);

  數群組類型

      Type 名稱 = Array[下標定義]of類型名

      Type 名稱 = [下標定義1,下標定義2…下標定義N] of元素類型

      或名稱 = [下標定義1of…Array [下標定義N] of元素類型

  集合類型

      Type 名稱 = set of 元素類型

  指標類型

Type 名稱 = ^結點類型

  記錄類型

      Type 名稱 = Record

網域名稱1:類型;

網域名稱1:類型;

……

網域名稱N:類型;

      end;

  檔案類型

      Type 名稱 = file of 元素類型

 

6.語句

簡單語句

X := Y + Z;  // assignment

Randomize;// procedure call

複合陳述式

begin

  A := B;

  C := A * 2;

end;

end之前的最後一條語句末尾分號不是必需的,你可以寫成:

begin

  A := B;

  C := A * 2

end;

指派陳述式

在Pascal 語言中指派陳述式用冒號-等號操作符“:=”,

       條件陳述式

If語句

對if-then型語句,僅當條件滿足時,語句才執行;

if CheckBox1.Checked then

 ShowMessage ('CheckBox1 is checked')

 

對if-then-else型,if語句在兩條語句中選擇一條執行

if CheckBox2.Checked then

 ShowMessage ('CheckBox2 is checked')

  else

 ShowMessage ('CheckBox2 is NOT checked');

要注意的是,不能在第一句之後、else 關鍵詞之前加分號,否則編譯器將告知語法錯誤。實際上,if-then-else 語句是單純的一條語句,因此不能在語句中間加分號。if 語句可以很複雜,句子中的條件部分可以是一系列條件(用and、 or 、 not等布爾操作符聯結起來),if語句又可以嵌套另一個if語句

begin

  // compound if statement

  if CheckBox1.Checked then

 if CheckBox2.Checked then

ShowMessage ('CheckBox1 and 2 are checked')

 else

ShowMessage ('Only CheckBox1 is checked')

  else

 ShowMessage (

'Checkbox1 is not checked, who cares for Checkbox2?')

end;

 

Case語句

case語句包括用來選值的運算式、可能值序列或一個取值範圍。這些值應該是常量,並且它們必須唯一,而且應屬於有序類型。

Case語句最後可以帶一個else 語句,當沒有一個標籤與選取器的值一致時,執行else語句。下面是兩個簡單的例子:

case Number of

  1: Text := 'One';

  2: Text := 'Two';

  3: Text := 'Three';

end;

case MyChar of

  '+' : Text := 'Plus sign';

  '-' : Text := 'Minus sign';

  '*', '/': Text := 'Multiplication or division';

  '0'..'9': Text := 'Number';

  'a'..'z': Text := 'Lowercase character';

  'A'..'Z': Text := 'Uppercase character';

else

  Text := 'Unknown character';

end;

 

For迴圈

for迴圈嚴格地建立在計數器基礎上,迴圈每執行一次,計數器不是增加一個值就是減小一個值。下面是一個for語句的

簡例,用來將前十個數加起來:

var

  K, I: Integer;

begin

  K := 0;

  for I := 1 to 10 do

 K := K + I;

同樣的for語句可以用正好相反的計數器來寫:

var

  K, I: Integer;

begin

  K := 0;

  for I := 10 downto 1 do

 K := K + I;

 

for迴圈語句其靈活性比其他語言小(它不能指定1之外的步長),不過簡單也容易理解。如果需判斷的條件比較複雜,

或想自訂計數器,你可以用while語句或 repeat 語句,而不是for迴圈語句。

注意:for迴圈計數器不必非是數字,它可以是任何有序類型的值,例如一個字元或一個枚舉類型值。

 

while語句和repeat語句

while-do 迴圈語句和 repeat-until 語句的不同點在於repeat 迴圈語句的代碼至少要執行一次。從下面的簡例很容易理解這一點

while (I <= 100) and (J <= 100) do

begin

  // use I and J to compute something...

  I := I + 1;

  J := J + 1;

end;

repeat

  // use I and J to compute something...

  I := I + 1;

  J := J + 1;

until (I > 100) or (J > 100);

從上可見即使 I 或 J 的初始值大於100,repeat-until迴圈中的代碼也仍會執行一次。

注意:兩種迴圈另一個關鍵的不同點是,repeat-until 迴圈的條件是反向的條件,只要不滿足這個條件,迴圈就執行;當條件滿足

時,迴圈終止。這正好與while-do 迴圈相反,while-do 迴圈當條件是真值時才執行。為此,我不得不在上面代碼中用反向條件來

獲得相同的結果。

 

注意:用 Break 和 Continue 系統過程可以改變迴圈執行的標準流程。Break 中斷迴圈;Continue直接跳至迴圈測試句,或使計數

器增加一個步長,然後繼續迴圈(除非條件為空白或計數器達到最大值)。還有兩個系統過程 Exit 和 Halt,讓你立即從函數或過程

中返回,或者終止程式。

With語句

with BirthDay do

begin

Year := 1995;

Month := 2;

Day := 14;

end;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.