程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 第二章-Delphi面向對象的編程方法(一)(2)

第二章-Delphi面向對象的編程方法(一)(2)

編輯:Delphi

2.1.2.3 常量 

常量在說明時就被賦予了一個值,在程序執行過程中是不可改變的。下面的例子說明了三個常量: 

const

Pi = 3.14159;

Answer = 342;

ProductName = "Delphi"; 

象變量一樣,常量也有類型。不同的是,常量假設其類型就是常量說明中其所代表的值的類型。上文的三個常量的類型分別是real型、整形、字符串型。常量用“= " 表示兩邊的值是相等的。 

2.1.3 過程與函數 

過程與函數是程序中執行特定工作的模塊化部分。Delphi的運行庫包含許多過程與函數以供您的應用程序調用。您不必了解過程與函數的邏輯,但要知道過程與函數的用途。在對象中說明的過程和函數稱為方法(Method)。所有的事件處理過程都是過程,以保留字procedure開頭。每一個事件處理過程只包含了當這一事件發生時需要執行的程序代碼。在事件處理過程中使用Delphi已經存在的過程與函數,只需在程序代碼中調用它們即可。 

2.1.3.1 一個調用Delphi方法的簡單例程 

下文將通過對一個Memo部件的文本進行剪切、拷貝、粘貼、清除等編輯的應用程序編制,介紹使用Delphi過程和函數的調用方法。

Memo(備注)部件有一個CutToClipboard方法,實現將用戶在memo中選擇的文本移到剪貼板上去。由於這個功能已經被建立在此方法中了,所以您只需知道這個方法做什麼以及如何使用它即可。

下面的語句表明如何調用一個名為Memo1的memo部件的CutToClipboard方法: 

Memo1.CutToClipboard; 

通過指定Memo1的名稱,說明調用哪一個部件的CutToClipboard方法。如果不指明對象名稱,Delphi會顯示Unknown identifier錯誤。當該事件處理過程被觸發,程序會執行CutToclipboard中的語句,將Memo1中的文本剪貼到剪貼板上去。

下文的例程展示了如何調用Delphi的方法,實現將備注部件的文本信息剪切、拷貝到剪貼板上;將剪貼板上的標記文本粘貼到備注中,清除備注部件中的全部文本等四個功能。

打開一個新的空窗體,加入一個memo部件和四個按鈕,並排列整齊。改變按鈕部件的Name屬性,分別命名為Cut,Copy,Paste,Clear。您會發現,當Name屬性發生改變時,Caption屬性將發生相應的變化。在Caption屬性前加標“&”號設立加速鍵

將memo部件的ScrollBars屬性設為ScVertical,以便加上滾行條。將WordWrap屬性設置為True,這樣當用戶輸入文本到達Memo部件的右邊緣時會自動回行。將Line屬性第一行的Memo1文本刪除,使得memo部件在初始顯示時為空的。

為每一個按鈕建立如下的事件處理過程: 

procedure TForm1.CutClick(Sender: TObject);

begin

Memo1.CutToClipboard;

end; 

procedure TForm1.CopyClick(Sender: TObject);

begin

Memo1.CopyToClipboard;

end; 

procedure TForm1.PasteClick(Sender: TObject);

begin

Memo1.PasteFromClipboard;

end; 

procedure TForm1.ClearClick(Sender: TObject);

begin

Memo1.clear;

end; 

執行此程序。您可以在備注部件中輸入文本,在進行了文本的標記後,可以任意地進行剪切、拷貝、粘貼和清除。當按鈕被按動時,就調用相應的過程進行處理。用戶可以通過查閱在線幫助進行Memo部件的Topic Search,在Memo Component項中查閱Method,會得到以上過程的詳細說明。 

2.1.3.2 調用Delphi的含參過程 

有些過程要求用戶指明參數。被調用的過程會在執行時使用傳入的參數值,這些值在過程中被認為是已經被說明的變量。例如,LoadFromFile方法在TString對象中被說明為: 

Procedure LoadFromFile(const FileName: String); 

在調用這一過程時,應指明FileName參數是要裝入的文件名稱。下面的程序將先打開Open對話框,當您選擇了一個文件後,Delphi將把該文件讀入一個Memo部件: 

begin

OpenDialog.Execute;

Memo1.lines.LoadFromFile(OpenDialog.FileName);

end; 

2.1.3.3 使用Delphi函數 

與過程一樣,函數的程序代碼也執行特定的工作。它和過程的差別為:函數執行時會返回一個值,而過程則沒有返回值。函數可以用來賦給一個屬性或變量;也可以使用返回值來決定程序的流程。

前文中我們實際上已經接觸過了函數。在講述變量時,曾用到過下面的程序段: Edit1.Text := IntToStr(X + Y);其中,IntToStr(Value)把一個LongInt類型的數值轉化為字符串的值,Value是IntToStr唯一的參數,它可以是一個整形的值、變量、屬性或產生整形值的表達式。調用函數,必須把返回值賦給和此返回值類型兼容的變量或屬性。

有些函數返回一個True或False的布爾量,用戶的程序可以根據返回值來決定跳轉。下文的例程講述了函數返回值為Boolean的判斷用法:

在窗體中加入一個ColorDialog對象和一個Name屬性為ChangeColor的按鈕。為按鈕的OnClick事件建立事件處理過程如下: 

procedure TForm1.ChangeColorClick(Sender: TObject);

begin

if ColorDialog1.Execute then

Form1.Color := ColorDialog1.Color

else

Form1.Color := clRed;

end; 

此事件處理過程使用一個返回Boolean值的Execute方法。按動按鈕,並在顏色對話框中選擇一個顏色。如果按動OK按鈕,ColorDialog.Execute方法將返回True,則Form1.Color將被賦值為ColorDialog1.Color,窗體顯現您選用的顏色;如果按動顏色對話框的Cancel按鈕,方法將返回False值,窗體將變為紅色。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved