全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1390
推到 Plurk!
推到 Facebook!

请教数组传递及IN运算符的问题

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


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

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-31 16:31:01 IP:219.133.xxx.xxx 未訂閱
请看程式,并请教,谢谢!
procedure TForm1.TBnewClick(Sender: TObject);
begin
  DM.ADOQInvoice.Append; 
  Btvi([19,21]);
end;    Procedure Tform1.Btvi(ar:array of integer);
var
 i:integer;
begin
 for i:=0 to Toolbar1.ButtonCount-1 do
   if not(i in ar) then    //这里会出错
     Toolbar1.Buttons[i].Enabled:=false
   else
     Toolbar1.Buttons[i].Enabled:=true;
end; 
唵嘛呢呗咪吽
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-01 09:53:21 IP:210.65.xxx.xxx 未訂閱
Hi xxiaowang,    更改如下試試:
Procedure Tform1.Btvi(AR : Array of Integer);
var
  I : Integer;
begin
  for I := 0 to Toolbar1.ButtonCount - 1 do
    Toolbar1.Buttons[I].Enabled := True;
  for i := Low(AR) to High(AR) do
    begin
      if ((AR[I] >= 0) and (ar[I] <= Toolbar1.ButtonCount -1)) then
        Toolbar1.Buttons[AR[I]].Enabled := False;
    end
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-04-26 6:07:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!