語法問題procedure 裡的procedure |
尚未結案
|
jumo
一般會員 發表:33 回覆:65 積分:24 註冊:2002-04-17 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
引言: 最近在看別人源碼的時候, 發現有人是這樣寫的 procedure xxxxxxx(......); var ..... procedure yyyyy(......); var ..... begin ..... end; begin ..... end; 為什麼裡面會放一個 procedure?? 這樣處理有什麼好處?? 如果把它拿到外面的話, 跟原來有什麼不一樣呢??這主要是可見度(Scope)的問題,其實和變數的宣告沒什麼不同,你可以變數之scope來想. 例如: var globalint:integer; procedure globalprocedure; //implementation之上所有變數,procedure,其他unit均可用 implementation var implint:integer; procedure impprocedure; //implementation之下所有變數,procedure,此unit均可用 procedure xxxx; //procedure內部之變數,procedure,僅此procedure內可用 var localvalue:integer; procedure localprocedure begin //此處可直接存取xxxx之localValue end; end;實作此種procedure通常是希望此內部procedure之可見度僅只於此, 且此內部procedure可直接存取原procedure之變數, 不須再以參數方式傳入. |
visli
一般會員 發表:5 回覆:1 積分:1 註冊:2003-02-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |