?? 007.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" bgcolor="#FFFFFF" leftmargin="3" topmargin="3" marginheight="3" marginwidth="3"><TABLE WIDTH="100%" CELLPADDING=10 CELLSPACING=0 BORDER=0><TR><TD CLASS="tt3" VALIGN="top" width="8%" ><strong><A HREF="008.htm"><FONT style="FONT-SIZE: 9pt">后一頁</font></A><BR><A HREF="006.htm"><FONT style="FONT-SIZE: 9pt">前一頁</font></A><BR><A HREF="index.html"><FONT style="FONT-SIZE: 9pt">回目錄</font></A><BR></strong></TD><TD class="tt2" width="84%"><center><B><FONT style="FONT-SIZE: 16.5pt" COLOR="#FF6666" FACE="隸書">第二章 Delphi面向對象的編程方法(二)</FONT></B></center><hr width="94%"><p>2.1.4 <font face="宋體" lang="ZH-CN">跳轉語句 </p></font><p>Object Pascal<font face="宋體" lang="ZH-CN">的跳轉語句有</font>if<fontface="宋體" lang="ZH-CN">和</font>case<font face="宋體" lang="ZH-CN">兩個。 </p></font><p>2.1.4.1 if<font face="宋體" lang="ZH-CN">語句 </p></font><p> if<font face="宋體" lang="ZH-CN">語句會計算一個表達式,并根據計算結果決定程序流程。在上文的例程中,根據</font>ColorDialog.Execute<fontface="宋體" lang="ZH-CN">的返回值,決定窗體的背景顏色。</font>if<fontface="宋體" lang="ZH-CN">保留字后跟隨一個生成</font>Boolean<font face="宋體"lang="ZH-CN">值</font>True<font face="宋體" lang="ZH-CN">或</font>False<fontface="宋體" lang="ZH-CN">的表達式。一般用“</font>=<font face="宋體"lang="ZH-CN">”作為關系運算符,比較產生一個布爾型值。當表達式為</font>True<fontface="宋體" lang="ZH-CN">時,執行</font>then<font face="宋體" lang="ZH-CN">后的語句。否則執行</font>else<fontface="宋體" lang="ZH-CN">后的代碼,</font>if<font face="宋體" lang="ZH-CN">語句也可以不含</font>else<fontface="宋體" lang="ZH-CN">部分,表達式為</font>False<font face="宋體"lang="ZH-CN">時自動跳到下一行程序。</font></p><p> if<font face="宋體" lang="ZH-CN">語句可以嵌套,當使用復合語句表達時,復合語句前后需加上</font>begin<fontface="宋體" lang="ZH-CN">…</font>end<font face="宋體" lang="ZH-CN">。</font>else<fontface="宋體" lang="ZH-CN">保留字前不能加“;”,而且,編譯器會將</font>else<fontface="宋體" lang="ZH-CN">語句視為屬于最靠近的</font>if<font face="宋體"lang="ZH-CN">語句。必要時,須使用</font>begin<font face="宋體" lang="ZH-CN">…</font>end<fontface="宋體" lang="ZH-CN">保留字來強迫</font>else<font face="宋體" lang="ZH-CN">部分屬于某一級的</font>if<fontface="宋體" lang="ZH-CN">語句。 </p></font><p>2.1.4.2 case<font face="宋體" lang="ZH-CN">語句 </p></font><p> case<font face="宋體"lang="ZH-CN">語句適用于被判斷的變量或屬性是整形、字符型、枚舉型或子界型時</font>(LongInt<fontface="宋體" lang="ZH-CN">除外</font>)<font face="宋體" lang="ZH-CN">。用</font>case<fontface="宋體" lang="ZH-CN">語句進行邏輯跳轉比編寫復雜的</font>if<fontface="宋體" lang="ZH-CN">語句容易閱讀,而且程序代碼整形較快。</font></p><p><font face="宋體" lang="ZH-CN">下面的例程顯示一個使用</font>case<fontface="宋體" lang="ZH-CN">語句的窗體:</font></p><p><font face="宋體" lang="ZH-CN">建立如下的事件處理過程: </p></font><p>procedure TForm1.Button1Click(Sender: TObject);</p><p>var</p><p>Number : Integer;</p><p>begin</p><p>Number := StrToInt(Edit1.Text);</p><p>case Number of</p><p>1,3,5,7,9: Label2.Caption := '<font face="宋體" lang="ZH-CN">奇數</font>';</p><p>0,2,4,6,8: Label2.Caption := '<font face="宋體" lang="ZH-CN">偶數</font>';</p><p>10..100: </p><p>begin </p><p>Label2.Caption := '<font face="宋體" lang="ZH-CN">在</font>10<font face="宋體"lang="ZH-CN">到</font>100<font face="宋體" lang="ZH-CN">之間</font>';</p><p>Form1.Color := clBlue;</p><p>end;</p><p>else</p><p>Label2.Caption := '<font face="宋體" lang="ZH-CN">大于</font>100<font face="宋體"lang="ZH-CN">或為負數</font>';</p><p>end; </p><p>end; </p><p><font face="宋體" lang="ZH-CN"> 執行程序,當</font>Edit1<fontface="宋體" lang="ZH-CN">部件接受到一個值,并按動“</font>OK<fontface="宋體" lang="ZH-CN">”按鈕觸發程序后,</font>Number<font face="宋體"lang="ZH-CN">便被賦值為用戶輸入的數值。</font>case<font face="宋體"lang="ZH-CN">語句根據</font>Number<font face="宋體" lang="ZH-CN">的值判斷該執行哪一條語句。象</font>if<fontface="宋體" lang="ZH-CN">語句一樣。</font>case<font face="宋體" lang="ZH-CN">語句也有可選擇的</font>else<fontface="宋體" lang="ZH-CN">部分。</font>case<font face="宋體" lang="ZH-CN">語句以</font>end<fontface="宋體" lang="ZH-CN">結尾。 </p></font><p>2.1.5 <font face="宋體" lang="ZH-CN">循環語句 </p></font><p> Object Pascal<font face="宋體"lang="ZH-CN">的循環語句有三種:</font>repeat<font face="宋體" lang="ZH-CN">、</font>while<fontface="宋體" lang="ZH-CN">和</font>for<font face="宋體" lang="ZH-CN">語句。 </p></font><p>2.1.5.1 repeat<font face="宋體" lang="ZH-CN">語句 </p></font><p> repeat<font face="宋體"lang="ZH-CN">語句會重復執行一行或一段語句直到某一狀態為真。語句以</font>repeat<fontface="宋體" lang="ZH-CN">開始,以</font>until<font face="宋體" lang="ZH-CN">結束,其后跟隨被判斷的布爾表達式。參閱以下的例程: </p></font><p>i := 0;</p><p>repeat</p><p>i := i+1;</p><p>Writen(i);</p><p>until i=10; </p><p><font face="宋體" lang="ZH-CN"> 當此語句被執行時,窗體的下方會出現</font>1<fontface="宋體" lang="ZH-CN">到</font>10<font face="宋體" lang="ZH-CN">的數字。布爾表達式</font>i=10 (<font face="宋體" lang="ZH-CN">注意,與其他語言不同的是,“</font>=<fontface="宋體" lang="ZH-CN">”是關系運算符,而不能進行賦值操作</font>)<fontface="宋體" lang="ZH-CN">直到</font>repeat..until<font face="宋體" lang="ZH-CN">程序段的結尾才會被計算,這意味著</font>repeat<fontface="宋體" lang="ZH-CN">語句至少會被執行一次。 </p></font><p>2.1.5.2 while<font face="宋體" lang="ZH-CN">語句 </p></font><p> while<font face="宋體"lang="ZH-CN">語句和</font>repeat<font face="宋體" lang="ZH-CN">語句的不同之處是,它的布爾表達式在循環的開頭進行判斷。</font>while<fontface="宋體" lang="ZH-CN">保留字后面必須跟一個布爾表達式。如果該表達式的結果為真,循環被執行,否則會退出循環,執行</font>while<fontface="宋體" lang="ZH-CN">語句后面的程序。</font></p><p><font face="宋體" lang="ZH-CN"> 下面的例程達到和上面的</font>repeat<fontface="宋體" lang="ZH-CN">例程達到同樣的效果: </p></font><p>i := 0; </p><p>while i<10 do</p><p>begin</p><p>i := i+1;</p><p>writeln(i);</p><p>end; </p><p>2.1.5.3 for<font face="宋體" lang="ZH-CN">語句 </p></font><p> for<font face="宋體"lang="ZH-CN">語句的程序代碼會執行一定的次數。它需要一個循環變量來控制循環次數。您需要說明一個變量,它的類型可以是整形、布爾型、字符型、枚舉型或子界型。</font></p><p><font face="宋體" lang="ZH-CN">下面的程序段會顯示</font>1<font face="宋體"lang="ZH-CN">到</font>5<font face="宋體" lang="ZH-CN">的數字,</font>i<fontface="宋體" lang="ZH-CN">為控制變量: </p></font><p>var </p><p>i : integer;</p><p>for i := 1 to 5 do</p><p>writeln(i); </p><p><font face="宋體" lang="ZH-CN"> 以上介紹了三種循環語句。如果您知道循環要執行多少次的話,可以使用</font>for<fontface="宋體" lang="ZH-CN">語句。</font>for<font face="宋體" lang="ZH-CN">循環執行速度快,效率比較高。如果您不知道循環要執行多少次,但至少會執行一次的話,選用</font>repeat..until<fontface="宋體" lang="ZH-CN">語句比較合適;當您認為程序可能一次都不執行的話,最好選用</font>while..do<fontface="宋體" lang="ZH-CN">語句。 </p></font><p>2.1.6 <font face="宋體" lang="ZH-CN">程序模塊</font></p><p><font face="宋體" lang="ZH-CN"> 程序模塊在</font>Object Pascal<fontface="宋體" lang="ZH-CN">中是很重要的概念。它們提供了應用程序的結構,決定了變量、屬性值的范圍及程序執行的過程。它由兩個部分組成:可選擇的說明部分和語句部分。如果有說明部分,則必在語句部分之前。說明部分包括變量說明、常量說明、類型說明、標號說明、程序,函數,方法的說明等。語句部分敘述了可執行的邏輯行動。</font></p><p><font face="宋體" lang="ZH-CN"> 在</font>Delphi<fontface="宋體" lang="ZH-CN">中,最常見的程序模塊便是事件處理過程中的程序模塊。下面的事件處理過程是含有變量說明部分的程序模塊: </p></font><p>procedure TForm.Button1Click(Sender Tobject);</p><p>var {<font face="宋體" lang="ZH-CN">程序模塊的說明部分}</font></p><p>Name : string;</p><p>begin {<font face="宋體" lang="ZH-CN">程序模塊的語句部分}</font></p><p>Name := Edit1.Text;</p><p>Edit2.Text := 'Welcome to Delphi'+Name;</p><p>end; {<font face="宋體" lang="ZH-CN">程序模塊結束} </p></font><p><font face="宋體" lang="ZH-CN"> 庫單元也是程序模塊。庫單元的</font>interface<font
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -