17.過程調(diào)用中的參數(shù)傳遞
過程可以有零個或多個參數(shù),多個參數(shù)由逗號隔開帶參程調(diào)用命令在主程序中的調(diào)用格式:
(1).有參過程中的形式參數(shù)定義
有參過程中的形式參數(shù)定義語句為:
【格式】PARAMETERS <參數(shù)表>
該語句必需是過程中第一條語句。<參數(shù)表>中的參數(shù)可以是任意合法的內(nèi)存變量名。
(2).程序與被調(diào)用過程間的參數(shù)傳遞
程序與被調(diào)用過程間的參數(shù)傳遞是通過過程調(diào)用語句DO <過程名>WITH <參數(shù)表>中WITH <參數(shù)表>子句來實現(xiàn)的。
【說明】
(1)DO 命令<參數(shù)表>中參數(shù)稱為實際參數(shù),PARAMATERS 命令<參數(shù)表>中的參數(shù)稱為形式參數(shù)。兩個<參數(shù)表>中的參數(shù)必須相容,即個數(shù)相同,類型和位置一一對應(yīng);
(2)實際參數(shù)可以是任意合法表達式,形式參數(shù)是過程中的局部變量,用來接收對應(yīng)實際參數(shù)的值;
(3)Visual FoxPro 的參數(shù)傳遞規(guī)則為:如果實際參數(shù)是常數(shù)或表達式則傳值,如果實際參數(shù)是變量則傳址,即傳遞的不是實參變量的值而是實參變量的地址,這樣,過程中對形參變量值的改變也將使實參變量值改變。如果實參是內(nèi)存變量而又希望進行值傳遞,可以用圓括號將該內(nèi)存變量括起來,強制該變量以值方式傳遞數(shù)據(jù)。
【例】用參數(shù)傳遞編程,計算圓的面積。
* 主程序名PA13
SET TALK OFF
CLEAR
S=0
INPUT "請輸入圓的半徑:" TO R
DO AREA WITH R,S
? "圓的面積為:",S
SET TALK ON
?
PROCEDURE AREA && 計算面積的過程
PARA X,Y && 形參說明
Y=3.1416*X**2
RETURN
SET TALK ON
18.變量的作用域
程序設(shè)計離不開變量,如果以變量的作用來分,內(nèi)存變量分為公共變量、私有變量和局部變量。
(1).公共變量
公共變量是指在所有程序模塊中都可以使用的內(nèi)存變量。公共變量要先建立后使用。
【格式】PUBLIC <內(nèi)存變量表>
該命令的功能是建立公共的內(nèi)存變量,并為它們賦初值邏輯假.F.
【說明】
1)當定義多個變量時,各變量名之間用逗號隔開;
2)用PUBLIC 語句定義過的內(nèi)存變量,在程序執(zhí)行期間可以在任何層次的程序模塊中使用;
3)變量定義語句要放在使用此變量的語句之前,否則會出錯;
4)任何已經(jīng)定義為公共變量的變量,可以用PUBLIC 語句再定義,但不允許重新定義為局部變量;
5)使用公共變量可以增強模塊間的通用性,但會降低模塊間的獨立性。
(2).局部變量
局部變量是指在建立它的程序以及被此程序調(diào)用的程序中有效的內(nèi)存變量。
【格式】LOCAL <內(nèi)存變量表>
【功能】該命令的功能是建立指定的內(nèi)存變量,并為它們賦初值邏輯假.F.
【說明】
1)由于該命令LOCAL 與LOCATE 的前4 各字母相同,所以這條命令的動詞不能縮寫。
2)在程序中沒有被說明為公共變量的內(nèi)存變量都被看作是局部變量。
![]() | ![]() .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |
![]() | ![]() .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |