?? 006.htm
字號:
<HTML><HEAD><meta http-equiv="Content-Type" content="text/html; charset=GB2312"><TITLE>-->DELPHI基礎教程-->第二章 Delphi面向對象的編程方法(一)</TITLE>
<META NAME="keywords" CONTENT=" DELPHI基礎教程 第二章 Delphi面向對象的編程方法(一)">
<META NAME="description" CONTENT=" - DELPHI基礎教程 - 第二章 Delphi面向對象的編程方法(一)">
<style>
<!--
#page {position:absolute; z-index:0; left:0px; top:0px}
.tt3 {font: 9pt/12pt "宋體"}
.tt2 {font: 12pt/15pt "宋體"}
a {text-decoration:none}
a:hover {color: blue;text-decoration:underline}
-->
</style>
</HEAD>
<body text="#000000" aLink=#9900ff link=#006699 vLink=#006699 background="bg.gif" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3">
<TR>
<TD CLASS="tt3" VALIGN="top" width="8%" background="bg.gif"><strong><A HREF="007.htm" ><FONT style="FONT-SIZE: 9pt">后一頁</font></A><BR>
<A HREF="005.htm" ><FONT style="FONT-SIZE: 9pt">前一頁</font></A><BR>
<A HREF="index.html" ><FONT style="FONT-SIZE: 9pt">回目錄</font></A><BR>
<A HREF="../../../../../index.htm"><FONT style="FONT-SIZE: 9pt">回首頁</font></A><BR>
</strong>
</TD>
<TD class="tt2" background="bg.gif" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="楷體_GB2312">第二章 Delphi面向對象的編程方法(一)</FONT></B></center>
<hr color="#EE9B73" size="1" width="94%">
</font><p> Delphi<font face="宋體"
lang="ZH-CN">的編程語言是以</font>Pascal<font face="宋體" lang="ZH-CN">為基礎的。</font>Pascal<font
face="宋體" lang="ZH-CN">語言具有可讀性好、編寫容易的特點,這使得它很適合作為基礎的開發語言。同時,使用編譯器創建的應用程序只生成單個可執行文件</font>(.EXE)<font
face="宋體" lang="ZH-CN">,正是這種結合,使得</font>Pascal<font face="宋體"
lang="ZH-CN">成為</font>Delphi<font face="宋體" lang="ZH-CN">這種先進開發環境的編程語言。</font></p>
<p><font face="宋體" lang="ZH-CN">
本章中,我們將討論</font>Object Pascal<font
face="宋體" lang="ZH-CN">的主要特點,并講解如何在事件處理過程和其他應用程序中,使用它來編制程序代碼。本章將講解</font>Delphi<font
face="宋體" lang="ZH-CN">應用程序中最常用的</font>Object Pascal<font
face="宋體" lang="ZH-CN">語法,而不是</font>Pascal<font face="宋體" lang="ZH-CN">語言的一切細節。如果您完全不熟悉</font>Pascal<font
face="宋體" lang="ZH-CN">編程,請參閱一些基礎的</font>Pascal<font
face="宋體" lang="ZH-CN">教程。如果您具有編程經驗,并能熟練地使用其他流行程序語言,您將在本章的</font>Object
Pascal<font face="宋體" lang="ZH-CN">中發現一些相同的概念。如果您已經熟悉了</font>Borland
Pascal<font face="宋體" lang="ZH-CN">,就可以快速瀏覽或跳過本章。 </p>
</font><p>2.1 <font face="宋體" lang="ZH-CN">編寫</font>Object Pascal<font
face="宋體" lang="ZH-CN">程序代碼 </p>
</font><p><font face="宋體" lang="ZH-CN">
在前邊的章節中,我們通過例程,已經編寫了幾行簡單的代碼。在本章中,我們將從熟悉</font>Pascal<font
face="宋體" lang="ZH-CN">編程的角度,配合實例,講解</font>Object Pascal<font
face="宋體" lang="ZH-CN">編程的基本方法。</font></p>
<p><font face="宋體" lang="ZH-CN">
在編寫自己的</font>Object Pascal<font
face="宋體" lang="ZH-CN">程序時,要注意程序的可讀性。</font>Pascal<font
face="宋體" lang="ZH-CN">語言是英式結構語言,在程序中選擇合適的縮排、大小寫風格,并在需要時將程序代碼分行,會使得程序代碼能夠很容易地被自己和他人讀懂。一般的程序員都有這樣的體驗:如果不給程序加上適當的注解,一段時間后,自己也難以理清程序的流程。給程序及時地加上注釋是良好的編程習慣。</font>Delphi<font
face="宋體" lang="ZH-CN">的注釋需要加注在{}之間,編輯器會把它們處理成為空白。</font>Delphi<font
face="宋體" lang="ZH-CN">保留了</font>Borland Pascal<font face="宋體" lang="ZH-CN">編輯器的風格,關鍵字采用黑體字,被注釋的部分會變暗,這使得編程風格良好,易讀易寫。 </p>
</font><p>2.1.1 <font face="宋體" lang="ZH-CN">編寫賦值語句 </p>
</font><p><font face="宋體" lang="ZH-CN">
在事件處理過程中,最常用到的工作就是把一個新值賦給一個屬性或變量。在設計用戶界面時,可以使用</font>Object
Inspector(Object Inspector)<font face="宋體" lang="ZH-CN">來改變其屬性;但有時需要在程序執行時改變屬性的值,而且有些屬性只能在執行時改變,這些屬性在</font>Delphi<font
face="宋體" lang="ZH-CN">的在線幫助的“</font>Proprety<font face="宋體"
lang="ZH-CN">”主題中被標為執行期屬性。進行這種改變,就必須使用賦值語句。</font></p>
<p><font face="宋體" lang="ZH-CN">
下文的賦值語句表征一個</font>OnClick<font
face="宋體" lang="ZH-CN">事件。當按鈕按動后,將編輯框部件</font>Edit1<font
face="宋體" lang="ZH-CN">的</font>Color<font face="宋體" lang="ZH-CN">屬性置為</font>clRed:</p>
<p>procedure TForm1.Button1Click(Sender: TObject);</p>
<p>begin</p>
<p>Edit1.Color := clRed;</p>
<p>end; </p>
<p><font face="宋體" lang="ZH-CN">
當按動按鈕后賦值語句被執行,編輯框變成紅色。</font></p>
<p><font face="宋體" lang="ZH-CN">
在語句中,部件的名稱在屬性前,中間用“</font>.<font
face="宋體" lang="ZH-CN">”表示屬性的所屬關系。這樣就準確地指定了要將</font>clRed<font
face="宋體" lang="ZH-CN">值賦給哪一部件的哪一屬性。賦值號為“</font>:=<font
face="宋體" lang="ZH-CN">”,不論給屬性還是給變量賦值,都是將右邊的值賦給左邊的屬性或變量。</font></p>
<p><font face="宋體" lang="ZH-CN">
當將一個屬性值、變量、常量或文本數據賦給屬性或變量時,所賦值的類型和接受此值的屬性或變量的類型應相同或兼容。一個屬性或變量的類型定義了此屬性或變量的可能值集合,也定義了程序代碼可以執行的運算。在前邊的例程中,編輯框部件的</font>Color<font
face="宋體" lang="ZH-CN">屬性和</font>clRed<font face="宋體" lang="ZH-CN">的類型都是</font>TColor<font
face="宋體" lang="ZH-CN">。可以在在線幫助中找到一個屬性的類型;另外一種方法是在</font>Object
Inspector<font face="宋體" lang="ZH-CN">中選定該屬性值段,并按下</font>F1<font
face="宋體" lang="ZH-CN">鍵,則類型將在屬性說明的結尾處列出,例如</font>Color<font
face="宋體" lang="ZH-CN">屬性列出下邊的語句: </p>
</font><p>Property Color : TColor; </p>
<p><font face="宋體" lang="ZH-CN">
有些屬性是只讀</font>(Read Only)<font
face="宋體" lang="ZH-CN">的,它們只能被讀取,不能被改變。請查閱在線幫助,在</font>Delphi<font
face="宋體" lang="ZH-CN">中這些只讀屬性都有注解。 </p>
</font><p>2.1.2 <font face="宋體" lang="ZH-CN">標識符的說明與使用 </p>
</font><p><font face="宋體" lang="ZH-CN">
標識符是</font>Delphi<font
face="宋體" lang="ZH-CN">應用程序中一些量的名稱,這些量包括變量</font>(var)<font
face="宋體" lang="ZH-CN">、常量</font>(const)<font face="宋體" lang="ZH-CN">、類型</font>(type)<font
face="宋體" lang="ZH-CN">、過程</font>(procedure)<font face="宋體" lang="ZH-CN">、方法</font>(Method)<font
face="宋體" lang="ZH-CN">及其他,</font>Object Pascal <font face="宋體"
lang="ZH-CN">在應用標識符時,必須首先說明它們。</font>Object Pascal<font
face="宋體" lang="ZH-CN">是強類型語言,它的編譯器可以檢查確保賦給變量或屬性的值是正確的類型,以便于您改正錯誤。因為</font>Object
Pascal<font face="宋體" lang="ZH-CN">是編譯語言,所以</font>Delphi<font
face="宋體" lang="ZH-CN">的執行速度要比使用解釋語言快得多。在使用標識符前說明它們,可以減少程序錯誤并增加代碼的效率。 </p>
</font><p>2.1.2.1 <font face="宋體" lang="ZH-CN">變量</font></p>
<p><font face="宋體" lang="ZH-CN">
變量是程序代碼中代表一個內存地址的標識符,而此地址的內存內容在程序代碼執行時可以被改變。在使用變量前必須對它進行說明,即對它進行命名,并說明它的類型。在所有變量說明以前加上保留字</font>var<font
face="宋體" lang="ZH-CN">。變量說明左邊是變量的名稱,右邊則是該變量的類型,中間用</font>(:)<font
face="宋體" lang="ZH-CN">隔開。 </p>
</font><p>var</p>
<p>Value ,Sum : Integer;</p>
<p>Line : String; </p>
<p><font face="宋體" lang="ZH-CN">
在窗體中加入一個名稱為</font>Edit1<font
face="宋體" lang="ZH-CN">的編輯框,再加入一個名稱</font>(<font face="宋體"
lang="ZH-CN">屬性</font>Name)<font face="宋體" lang="ZH-CN">為</font>Add<font
face="宋體" lang="ZH-CN">的按鈕部件,并建立如下的事件處理過程:</font></p>
<p>procedure TForm1.addClick(Sender: TObject);</p>
<p>var</p>
<p>X , Y: Integer;</p>
<p>begin</p>
<p>X := 100;</p>
<p>Y := 20;</p>
<p>Edit1.Text := IntToStr(X + Y);</p>
<p>end; </p>
<p><font face="宋體" lang="ZH-CN">
在本例中,當按動</font>ADD<font
face="宋體" lang="ZH-CN">按鈕時,編輯框中顯示值</font>120<font face="宋體"
lang="ZH-CN">。在</font>Object Pascal<font face="宋體" lang="ZH-CN">中,必須確保變量或屬性被賦予類型相同或兼容的值。您可以嘗試將賦給</font>X<font
face="宋體" lang="ZH-CN">的值改為</font>100.0<font face="宋體" lang="ZH-CN">,或去掉</font>IntToStr<font
face="宋體" lang="ZH-CN">函數,在編譯時會出現類型不匹配的錯誤,這也說明了</font>Object
Pascal<font face="宋體" lang="ZH-CN">強類型語言的特點。 </p>
</font><p>2.1.2.2 <font face="宋體" lang="ZH-CN">預定義類型 </p>
</font><p> Object Pascal<font face="宋體"
lang="ZH-CN">有多個預定義的數據類型,您可以說明任何這些類型的變量:</font></p>
<p><font face="宋體" lang="ZH-CN"> 整形:</font>Integer<font
face="宋體" lang="ZH-CN">的范圍是</font>-32768<font face="宋體" lang="ZH-CN">到</font>32767,<font
face="宋體" lang="ZH-CN">占</font>2<font face="宋體" lang="ZH-CN">字節的內存;</font>Shortint<font
face="宋體" lang="ZH-CN">從</font>-128<font face="宋體" lang="ZH-CN">到</font>127<font
face="宋體" lang="ZH-CN">,占</font>1<font face="宋體" lang="ZH-CN">字節內存;</font>Longint<font
face="宋體" lang="ZH-CN">從</font>-2147443648<font face="宋體" lang="ZH-CN">到</font>2147483647
<font face="宋體" lang="ZH-CN">占</font>4<font face="宋體" lang="ZH-CN">字節內存;</font>Byte<font
face="宋體" lang="ZH-CN">從</font>0<font face="宋體" lang="ZH-CN">到</font>255<font
face="宋體" lang="ZH-CN">,占</font>1<font face="宋體" lang="ZH-CN">字節;</font>Word<font
face="宋體" lang="ZH-CN">從</font>0<font face="宋體" lang="ZH-CN">到</font>65535<font
face="宋體" lang="ZH-CN">,占</font>2<font face="宋體" lang="ZH-CN">字節內存。它們都是沒有小數部分的數字。</font></p>
<p><font face="宋體" lang="ZH-CN"> 實型:</font>Single<font
face="宋體" lang="ZH-CN">可以包含</font>7<font face="宋體" lang="ZH-CN">到</font>8<font
face="宋體" lang="ZH-CN">位有效小數部分,占用</font>4<font face="宋體"
lang="ZH-CN">字節的內存;</font>Double<font face="宋體" lang="ZH-CN">類可以包含</font>15<font
face="宋體" lang="ZH-CN">到</font>16<font face="宋體" lang="ZH-CN">位有效小數部分,占用</font>8<font
face="宋體" lang="ZH-CN">字節的內存;</font>Extended<font face="宋體"
lang="ZH-CN">類型包含</font>19<font face="宋體" lang="ZH-CN">到</font>20<font
face="宋體" lang="ZH-CN">位有效小數部分,占用</font>10<font face="宋體"
lang="ZH-CN">字節內存;</font>Comp<font face="宋體" lang="ZH-CN">可以包含</font>19<font
face="宋體" lang="ZH-CN">到</font>20<font face="宋體" lang="ZH-CN">位有效小數部分,占用</font>8<font
face="宋體" lang="ZH-CN">字節內存。以上實數類型只有在</font>8087/80287<font
face="宋體" lang="ZH-CN">選項</font>[N+]<font face="宋體" lang="ZH-CN">打開才可以使用。</font>Real<font
face="宋體" lang="ZH-CN">可以包含</font>11<font face="宋體" lang="ZH-CN">到</font>12<font
face="宋體" lang="ZH-CN">位有效小數部分,占用</font>6<font face="宋體"
lang="ZH-CN">字節內存。它只有在和以前</font>Borland Pascal<font face="宋體"
lang="ZH-CN">兼容的情況下才使用,否則應使用</font>Double<font face="宋體"
lang="ZH-CN">或</font>Extended<font face="宋體" lang="ZH-CN">。</font></p>
<p><font face="宋體" lang="ZH-CN"> 布爾型:</font>Boolean<font
face="宋體" lang="ZH-CN">,只包含</font>true<font face="宋體" lang="ZH-CN">或</font>False<font
face="宋體" lang="ZH-CN">兩個值,占用</font>1<font face="宋體" lang="ZH-CN">字節內存。</font></p>
<p><font face="宋體" lang="ZH-CN"> 字符型:</font>Char<font
face="宋體" lang="ZH-CN">,一個</font>ASCII<font face="宋體" lang="ZH-CN">字符;字符串類型</font>String<font
face="宋體" lang="ZH-CN">一串最長可達</font>255<font face="宋體" lang="ZH-CN">個</font>ASCII<font
face="宋體" lang="ZH-CN">字符。</font></p>
<p><font face="宋體" lang="ZH-CN"> 指針型:</font>Pointer<font
face="宋體" lang="ZH-CN">,可以指向任何特定類型。</font></p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -