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

如何 取得sub set 中的所有 item

答題得分者是:Justmade
yirunner
一般會員


發表:11
回覆:8
積分:3
註冊:2002-09-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-06-13 09:41:45 IP:211.23.xxx.xxx 未訂閱
各位好: type src=(A,B,C,D); Stype=set of Src; var ss:Stype; ss:=[C,D]; 請問如何實作function GetMyItem 可得到 ss 中的第i 個item? function GetMyItem(i:integer;S1:Stype):Stype s.t GetMyItem(0,ss) ==> [C] GetMyItem(1,ss) ==> [D] 謝謝大家 !!
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-06-13 10:07:32 IP:147.8.xxx.xxx 未訂閱
I don't think there is any index like information in a set. The best you can do is    
if C in SType then begin
end;
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-06-13 10:53:35 IP:218.16.xxx.xxx 未訂閱
function GetMyItem(i:integer;S1:Stype):Stype;
var j : src;
begin
  result := [];
  for j := low(src) to high(src) do
  begin
    if j in S1 then inc(i,-1);
    if i = 0 then
    begin
      include(result,j);
      exit;
    end;
  end;
end;    procedure TForm1.Button1Click(Sender: TObject);
begin
  ss:=[C,D];
  ShowMessage(BoolToStr(GetMyItem(1,ss) = [C],true));
  ShowMessage(BoolToStr(GetMyItem(2,ss) = [D],true));
end;
不過如 william 版主所說, set 內裡沒 index 機制,所以無論你用 ss := [C,D]; 或 ss := [D,C]; 結果都一樣 : GetMyItem(1,ss); // C GetMyItem(2,ss); // D 簡化 funtion 發表人 - Justmade 於 2003/06/13 11:07:10
yirunner
一般會員


發表:11
回覆:8
積分:3
註冊:2002-09-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-06-13 12:55:53 IP:211.23.xxx.xxx 未訂閱
感謝 William 和 Justmade 的回答    謝了 
系統時間:2024-05-05 23:30:21
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!