参数传递问题 |
尚未結案
|
dragon100
一般會員 發表:20 回覆:11 積分:6 註冊:2004-06-29 發送簡訊給我 |
我想做一个程序,程序中需要两个参数,min,max我想在
procedure 中定义min,max的初值和要比较的输入数input,还有很多函数.这些函数想反复调用min,max的值。有一个函数做更改min,max的值的处理,还有一个函数想利用更改后的min,max值求出middle值。程序大致如下:
function mid(var min,max:integer):integer;
middle:=round((min+max)/2);
result:=middle;
check(min,max,input);
end; function check(var min,max,input):integer;
if middle<input then
begin
min:=middle;
result:=middle;
mid(min,max);
end
else if middle>input then
begin
max:=middle;
result:=middle;
mid(min,max);
end
else
showmessage('find the number'); procedure .....
var
min,max:integer;
begin
min:=1;
max:=100;
mid(min,max)//调用求中间值函数
这是个简单的例子,程序可能有错误,我主要想知道,如果一个数据的值被多个函数调用并更改了值,在各个函数中传递的话,如何设置来使的这个被更改的数据被多个函数体调用,就相当有全局变量的作用,那么min,max应该在那里定义才正确:
public
private
type
uses
我刚入门,还请各位指教!
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
dragon100 你好 請參考下面這個連結
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=52861
而你所說是公用變數,基本上出現位置的意義是一樣的,一般所謂的公用變數是出現在下列所示位置的變數(不過非不得已,僅量少用為妙)。
unit Unit1; interface uses ......... ; Type ..... Const Var ...... implementation Var ...... Procedure ..... Function ...... initialization //設定初值 finalization // 釋放記憶體 End. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |