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

請問一個遍歷控件的問題

答題得分者是:hahalin
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-05 20:11:26 IP:218.5.xxx.xxx 未訂閱
一個groupbox裏面有很多Dbedit控件,請問如何通過遍歷方式一次性改變groupbox裏面的這些dbedit控件的datasource?而不是一個個的改.謝謝!
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-05 20:16:48 IP:218.170.xxx.xxx 未訂閱
還是需要注意DataField屬性使否相同    
    procedure TForm2.Button4Click(Sender: TObject);
var i:integer;
begin
  for i:=0 to Groupbox1.ControlCount-1 do begin
    if groupbox1.Controls[i] is tdbedit then begin
       tdbedit(groupbox1.Controls[i]).DataSource:=datasourc2;
    end;
  end;    end;    
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-05 22:07:25 IP:218.5.xxx.xxx 未訂閱
謝謝!問題已解決。
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-06 01:27:08 IP:218.5.xxx.xxx 未訂閱
很想再請問一下如果要改變groupboxl裏面所有有datasource屬性的datasource該如何呢?
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-06 01:50:09 IP:218.170.xxx.xxx 未訂閱
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=59698
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-06 13:32:54 IP:218.5.xxx.xxx 未訂閱
嗯謝謝我看了您的回復: procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin   listbox1.Clear;   for i:=0 to self.ComponentCount-1 do begin     if GetPropInfo(self.components[i].ClassInfo, 'datasource') <> nil then        listbox1.Items.Add(self.components[i].name);   end;    end;    判斷含有datasource的元件我會了,可是判斷完之後如何更改這些元件的datasource我還是不懂,請指教!勿怪我笨
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-06 14:24:05 IP:218.170.xxx.xxx 未訂閱
     check the procedure in typinfo.pas       SetPropValue
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-12-06 17:35:53 IP:218.66.xxx.xxx 未訂閱
我加了一個按鈕把Groupbox1裏面所有元件的caption改成ABC可是沒有效果,請問我錯在那裏? procedure Temployee.Button1Click(Sender: TObject); var i:integer; begin inherited; for i:=0 to Groupbox1.ComponentCount-1 do if GetPropInfo(Groupbox1.components[i].ClassInfo, 'caption') <> nil then SetPropValue(Groupbox1.components[i],'Caption','ABC'); end;
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-12-06 17:36:22 IP:218.66.xxx.xxx 未訂閱
我加了一個按鈕把Groupbox1裏面所有元件的caption改成ABC可是沒有效果,請問我錯在那裏? procedure Temployee.Button1Click(Sender: TObject); var i:integer; begin for i:=0 to Groupbox1.ComponentCount-1 do if GetPropInfo(Groupbox1.components[i].ClassInfo, 'caption') <> nil then SetPropValue(Groupbox1.components[i],'Caption','ABC'); end;
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-12-06 17:42:21 IP:218.66.xxx.xxx 未訂閱
不好意思我弄錯了,應該用ControlCount和Controls的,我寫成Component了,問題已解決!非常感謝您的熱情回答!!
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-12-06 17:49:12 IP:218.66.xxx.xxx 未訂閱
我暈了,換成改datasource又出錯了,提示屬性不匹配。 procedure Temployee.setdatasource; var i:integer; begin for i:=0 to Groupbox1.ControlCount-1 do if GetPropInfo(Groupbox1.Controls[i].ClassInfo,'DataSource') <> nil then SetPropValue(Groupbox1.Controls[i], 'DataSource','DataSource2'); end;
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-12-06 19:56:18 IP:218.174.xxx.xxx 未訂閱
SetObjectProp
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#13 引用回覆 回覆 發表時間:2004-12-06 21:08:34 IP:218.174.xxx.xxx 未訂閱
有沒有興趣來台灣寫程式  
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#14 引用回覆 回覆 發表時間:2004-12-06 23:32:58 IP:218.5.xxx.xxx 未訂閱
非常感謝hahalin,用SetObjectProp就能實現了。 您是問我嗎?不會吧?當然是很有興趣了哈哈,不過我只是个水平很爛初學者而已,恐怕不能勝任呵呵。您开玩笑啦!
hahalin
版主


發表:295
回覆:1698
積分:823
註冊:2002-04-14

發送簡訊給我
#15 引用回覆 回覆 發表時間:2004-12-07 07:34:31 IP:218.174.xxx.xxx 未訂閱
你能研究到這一段已經比我同事跟老闆還要進入狀況了
oktony
中階會員


發表:67
回覆:132
積分:64
註冊:2004-12-05

發送簡訊給我
#16 引用回覆 回覆 發表時間:2004-12-07 12:27:05 IP:220.162.xxx.xxx 未訂閱
謝謝您的誇獎,臺灣寫程序的高手很多,小弟哪敢跟您的同事和老闆比較,小弟只是區區一個學生而已,實在不敢當。日後還有很多問題向您和KTop的各位高手請教呢!
系統時間:2024-06-29 5:31:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!