自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何實(shí)現(xiàn)一個局部函數(shù)與過程

開發(fā) 開發(fā)工具
我們今天要談到的是如何實(shí)現(xiàn)一個局部函數(shù)與過程,局部過程和函數(shù)的一個重要性質(zhì)就是過程和函數(shù)中所包含的變量在局部子程序中也有效。

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

  下面我們來看看如何實(shí)現(xiàn)一個局部函數(shù)和過程的定義和使用。

  1、新建一個Application。

  2、Form1窗體上放置一個Memo組件(Memo1)和兩個Button組件(Button1Button2)。

  3、雙擊Button1按鈕,在Button1Click事件中輸入以下代碼:

  procedure TForm1.Button1Click(Sender: TObject);

 

  1.   var  
  2.   X: Integer;  
  3.   {a local procedure}  
  4.   procedure Test;  
  5.   begin  
  6.   Memo1.Lines.Add('Local Function, X = ' + IntToStr(X));  
  7.   end;  
  8.   begin  
  9.   X := 100;  
  10.   Memo1.Lines.Clear;  
  11.   Memo1.Lines.Add('Main Function, X = ' + IntToStr(X));  
  12.   Test;  
  13.   end; 

 

  4、雙擊Button2按鈕,在Button2Click事件中輸入以下代碼:

 

  1.   procedure TForm1.Button2Click(Sender: TObject);  
  2.   begin  
  3.   Test; { 因?yàn)門est是在Button1Click中定義的,因此會報(bào)錯}  
  4.   end; 

 

  5、Ctrl + F9編譯該項(xiàng)目,會發(fā)現(xiàn)報(bào)出以下錯誤:Undeclared identifier: 'Test’(未定義的標(biāo)識符)

  6、注釋掉Button2Click中的Test過程的調(diào)用,然后重新編譯運(yùn)行,并點(diǎn)擊Button1按鈕后,結(jié)果如下:

分析

  Test過程包含在Button1Click過程的var段中,用這種方法聲明的過程就是局部過程,它只局限于包含它的函數(shù)和過程。局部子程序只能被包含它的例程所調(diào)用,而在程序的其他地方時不能調(diào)用的。所以在Button2Click過程中無法實(shí)現(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

【編輯推薦】

  1. 什么時候?qū)W習(xí)編程都不晚
  2. 函數(shù)式編程很難,這正是你要學(xué)習(xí)它的原因
  3. 編程技術(shù)面試的五大要點(diǎn)
  4. 論編程語言的可讀性:老語言更通俗易懂
  5. 敲擊最多的鍵和編程語言語法

 

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2011-03-28 09:56:03

存儲增刪操作

2017-12-12 15:24:32

Web Server單線程實(shí)現(xiàn)

2023-02-26 01:37:57

goORM代碼

2023-03-01 09:39:40

調(diào)度系統(tǒng)

2010-04-15 17:45:26

Oracle存儲過程

2020-08-17 08:20:16

iOSAOP框架

2018-07-30 16:31:00

javascriptaxioshttp

2022-03-14 10:02:03

散列表鏈表哈希表

2022-10-20 11:00:52

SQL解析器

2020-05-19 10:45:31

沙箱前端原生對象

2009-06-09 21:50:55

Javascript函數(shù)getStyle

2016-09-28 17:34:27

JavaScriptvueWeb

2022-03-24 14:58:02

Java散列表編程語言

2016-09-06 19:45:18

javascriptVue前端

2021-05-27 09:50:03

連接池FTP服務(wù)器

2021-01-26 10:33:45

前端開發(fā)技術(shù)

2021-04-30 08:22:36

異步求和函數(shù)

2021-01-04 09:12:31

集合變量

2011-05-17 15:13:59

oracle分頁存儲

2024-05-07 09:02:47

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號