新聞中心
定義在函數(shù)和過程內(nèi)部的函數(shù)和過程稱為局部函數(shù)和過程(子程序),子程序只在母過程內(nèi)部有效。

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供大興安嶺企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、做網(wǎng)站、HTML5建站、小程序制作等業(yè)務(wù)。10年已為大興安嶺眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進行中。
下面我們來看看如何實現(xiàn)一個局部函數(shù)和過程的定義和使用。
1、新建一個Application。
2、在Form1窗體上放置一個Memo組件(Memo1)和兩個Button組件(Button1和Button2)。
3、雙擊Button1按鈕,在Button1Click事件中輸入以下代碼:
procedure TForm1.Button1Click(Sender: TObject);
- var
- X: Integer;
- {a local procedure}
- procedure Test;
- begin
- Memo1.Lines.Add('Local Function, X = ' + IntToStr(X));
- end;
- begin
- X := 100;
- Memo1.Lines.Clear;
- Memo1.Lines.Add('Main Function, X = ' + IntToStr(X));
- Test;
- end;
4、雙擊Button2按鈕,在Button2Click事件中輸入以下代碼:
- procedure TForm1.Button2Click(Sender: TObject);
- begin
- Test; { 因為Test是在Button1Click中定義的,因此會報錯}
- end;
5、按Ctrl + F9編譯該項目,會發(fā)現(xiàn)報出以下錯誤:Undeclared identifier: 'Test’(未定義的標識符)
6、注釋掉Button2Click中的Test過程的調(diào)用,然后重新編譯運行,并點擊Button1按鈕后,結(jié)果如下:
分析
Test過程包含在Button1Click過程的var段中,用這種方法聲明的過程就是局部過程,它只局限于包含它的函數(shù)和過程。局部子程序只能被包含它的例程所調(diào)用,而在程序的其他地方時不能調(diào)用的。所以在Button2Click過程中無法實現(xiàn)Test的調(diào)用。
局部過程和函數(shù)的一個重要性質(zhì)就是過程和函數(shù)中所包含的變量在局部子程序中也有效,如上面的范例Memo1中顯示的兩次X變量的值都是100,說明X變量不但在Button1Click中可用,也可以再它的子過程Test中使用。
以上程序均在Delphi7中編譯通過。
原文:http://www.cnblogs.com/pchmonster/archive/2011/12/22/2298705.html
網(wǎng)頁標題:如何實現(xiàn)一個局部函數(shù)與過程
標題鏈接:http://www.5511xx.com/article/djpidoc.html


咨詢
建站咨詢
