線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:834
推到 Plurk!
推到 Facebook!

delphi有没有这个函数?

答題得分者是:deity
xxiaowang
中階會員


發表:51
回覆:75
積分:55
註冊:2005-01-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-03 09:57:01 IP:218.17.xxx.xxx 未訂閱
我想判断一个整数是否存在于一个整数数组中,delphi有没有这个函数? 好像in的功能一样
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-03 11:06:12 IP:218.15.xxx.xxx 未訂閱
xxiaowang您好: in不能达到您的要求吗? 如:  
procedure TForm1.Button1Click(Sender: TObject);
begin
if 1 in [1..9] then
  begin
    ……
    do something
    ……
  end; 
end;     
~~~静心养德~~~
xxiaowang
中階會員


發表:51
回覆:75
積分:55
註冊:2005-01-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-03 11:16:27 IP:218.17.xxx.xxx 未訂閱
Hi,deity 可是我用的是动态数组: var i:integer; pagearray:array of integer; begin setlength(pagearray,maxpage); .... if i in pagearray then do something //可是这样会出错 .... end;
ddy
站務副站長


發表:262
回覆:2105
積分:1169
註冊:2002-07-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-03 11:27:20 IP:202.145.xxx.xxx 未訂閱
需注意 set 有限制範圍 0~255    所以,您的需求,最好是另寫function 處理會有較大的彈性(能處理的範圍就不會被限制在 0~255了)    

function setfun(tmp: array of integer; value: integer): Boolean;
var
    i: integer;
begin
    result := False;
    for i := 0 to length(tmp) - 1 do
    begin
        if tmp[i] = value then
        begin
            result := True;
            exit;
        end;        end;
end;    procedure TForm1.FormCreate(Sender: TObject);
var
    i: integer;
    pagearray: array of integer;
begin
    setlength(pagearray, 5);
    pagearray[1] := 1;
    if setfun(pagearray, 2) then
        ShowMessage('YES')
    else
        ShowMessage('NO');
end;
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-03 11:38:07 IP:218.15.xxx.xxx 未訂閱
您好: 试试这样
 
var
  i:integer;
  pagearray:array of integer;
begin
  setlength(pagearray,maxpage);
....
  if i in [pagearray[low(pagearray)]..pagearray[high(pagearray)]] then do something //更正此方法对于连续的整数才有效,建议采用下面的方法
....
end;
或直接写
for j:=low(pagearray) to high(pagearray) do
  if i=pagearray[j] then do something 
逐一对比
试试看 > <>~~~静心养德~~~ 發表人 -
系統時間:2024-05-21 22:42:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!