2.1.2 標(biāo)識符的說明與使用
標(biāo)識符是Delphi應(yīng)用程序中一些量的名稱,這些量包括變量(var)、常量(const)、類型(type)、過程(procedure)、方法(Method)及其他,Object Pascal 在應(yīng)用標(biāo)識符時,必須首先說明它們。Object Pascal是強類型語言,它的編譯器可以檢查確保賦給變量或?qū)傩缘闹凳钦_的類型,以便于您改正錯誤。因為Object Pascal是編譯語言,所以Delphi的執(zhí)行速度要比使用解釋語言快得多。在使用標(biāo)識符前說明它們,可以減少程序錯誤并增加代碼的效率。
2.1.2.1 變量
變量是程序代碼中代表一個內(nèi)存地址的標(biāo)識符,而此地址的內(nèi)存內(nèi)容在程序代碼執(zhí)行時可以被改變。在使用變量前必須對它進(jìn)行說明,即對它進(jìn)行命名,并說明它的類型。在所有變量說明以前加上保留字var。變量說明左邊是變量的名稱,右邊則是該變量的類型,中間用(:)隔開。
var
Value ,Sum : Integer;
Line : String;
在窗體中加入一個名稱為Edit1的編輯框,再加入一個名稱(屬性Name)為Add的按鈕部件,并建立如下的事件處理過程:
procedure TForm1.addClick(Sender: TObject);
var
X , Y: Integer;
begin
X := 100;
Y := 20;
Edit1.Text := IntToStr(X + Y);
end;
在本例中,當(dāng)按動ADD按鈕時,編輯框中顯示值120。在Object Pascal中,必須確保變量或?qū)傩员毁x予類型相同或兼容的值。您可以嘗試將賦給X的值改為100.0,或去掉IntToStr函數(shù),在編譯時會出現(xiàn)類型不匹配的錯誤,這也說明了Object Pascal強類型語言的特點。
2.1.2.2 預(yù)定義類型
Object Pascal有多個預(yù)定義的數(shù)據(jù)類型,您可以說明任何這些類型的變量:
整形:Integer的范圍是-32768到32767,占2字節(jié)的內(nèi)存;Shortint從-128到127,占1字節(jié)內(nèi)存;Longint從-2147443648到2147483647 占4字節(jié)內(nèi)存;Byte從0到255,占1字節(jié);Word從0到65535,占2字節(jié)內(nèi)存。它們都是沒有小數(shù)部分的數(shù)字。
實型:Single可以包含7到8位有效小數(shù)部分,占用4字節(jié)的內(nèi)存;Double類可以包含15到16位有效小數(shù)部分,占用8字節(jié)的內(nèi)存;Extended類型包含19到20位有效小數(shù)部分,占用10字節(jié)內(nèi)存;Comp可以包含19到20位有效小數(shù)部分,占用8字節(jié)內(nèi)存。以上實數(shù)類型只有在8087/80287選項[N+]打開才可以使用。Real可以包含11到12位有效小數(shù)部分,占用6字節(jié)內(nèi)存。它只有在和以前Borland Pascal兼容的情況下才使用,否則應(yīng)使用Double或Extended。
布爾型:Boolean,只包含true或False兩個值,占用1字節(jié)內(nèi)存。
字符型:Char,一個ASCII字符;字符串類型String一串最長可達(dá)255個ASCII字符。
指針型:Pointer,可以指向任何特定類型。
字符串型:PChar,是一個指向以零結(jié)尾的字符串的指針。
除了預(yù)定義類型外,Delphi還有自行定義的類型。上述例程的TColor就是這種類型。此外,用戶還可以定義自己的數(shù)據(jù)類型,這部分內(nèi)容將在下文中詳細(xì)講述。
整型類別和實型類別都各有五種類型,同一類別中,所有的類型與其他同類別的都相容,您可以將一種類型的值賦給相同類別中不同類型的變量或?qū)傩,而只需要這個值的范圍在被賦值的變量或?qū)傩缘目赡苤捣秶鷥?nèi)。例如,對于一個Shortint型的變量,可以接受在-128到127范圍內(nèi)的任意整數(shù),例如Shortint類型的7;您不能將300賦給它,因為300已經(jīng)超出了Shortint的范圍了。將范圍檢查功能打開(選用Options|Project,并在Compiler Options Page中選擇Range Checking),將會檢查出一個范圍錯誤;如果Range Checking沒有被打開,那么程序代碼將可以執(zhí)行,但被賦值的值將不是您期望的值。
在一些情況下,您可以進(jìn)行不同類型的變量或?qū)傩缘馁x值。一般來說,可以將一個較小范圍的值賦給一個較大范圍的值。例如,您可以將整型值10賦給一個接受實型值的Double屬性而使得值成為10.0,但如果將一個Double類型的值賦給整形變量,則會出現(xiàn)類型錯誤。如果您不清楚類型的兼容性,可以參閱Delphi的在線幫助中“Type Compatibility and Assignment Compatibility”主題。
2.1.2.3 常量
常量在說明時就被賦予了一個值,在程序執(zhí)行過程中是不可改變的。下面的例子說明了三個常量:
const
Pi = 3.14159;
Answer = 342;
ProductName = "Delphi";
象變量一樣,常量也有類型。不同的是,常量假設(shè)其類型就是常量說明中其所代表的值的類型。上文的三個常量的類型分別是real型、整形、字符串型。常量用“= " 表示兩邊的值是相等的。
相關(guān)推薦:2010年9月計算機(jī)等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |