请教数组传递及IN运算符的问题 |
答題得分者是:Fishman
|
xxiaowang
中階會員 發表:51 回覆:75 積分:55 註冊:2005-01-26 發送簡訊給我 |
请看程式,并请教,谢谢!
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 發送簡訊給我 |
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 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |