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