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

請問Edit問題...

尚未結案
huanyuan
一般會員


發表:18
回覆:48
積分:18
註冊:2003-07-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-09 23:58:29 IP:220.135.xxx.xxx 未訂閱
如果一個Form中已經建立了十個Edit共user來輸入資料... 其名稱分別為...Edit1,Edit2.....Edit10... 如果要存入database時...則要用... TTable1->FieldByName("Name")->AsString=Edit1->Text; TTable1->FieldByName("Birth")->AsString=Edit2->Text; ... ... TTable1->FieldByName("Memo")->AsString=Edit10->Text; 不知有沒有法子用for的方法來簡化Source code... 另外不知底下的方法可不可行....   ex:          String StrTemp[]={"Name","Birth",...,"Memo"};       for(int i=0;iClassName()=="TEdit") TTable1->FieldByName(StrTemp[i])->AsString=^^^^^^^^ ;<=不會寫...:( 麻煩請會的大哥們指導...感恩囉... 發表人 -
allenchan
資深會員


發表:10
回覆:306
積分:283
註冊:2004-01-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-10 00:19:36 IP:61.62.xxx.xxx 未訂閱
String StrTemp[] = {"Name","Birth",...,"Memo", ""};
TEdit *p;    for(int i = 0; StrTemp[i] != ""; i  ) 
{
  p = dynamic_cast(FindComponent("Edit"   IntToStr(i   1)));
  if ( p )
    TTable1->FieldByName(StrTemp[i])->AsString = p->Text;
}
發表人 - allenchan 於 2004/12/10 00:22:51
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-10 00:23:43 IP:211.76.xxx.xxx 未訂閱
huanyuan你好:     先在每個Edit的Hint欄位,輸入對映的欄位名稱:(比如Edit1的Hint是Name...)
for(int i=0;iClassName()=="TEdit")
       {
       TEdit* FieldEdit = dynamic_cast(Controls[i]);
       if(!FieldEdit->Hint.IsEmpty())
           TTable1->FieldByName(FieldEdit->Hint)->AsString = 
           FieldEdit->Text;
       }
應該可以解法這個問題,(還順便完成Hint)
huanyuan
一般會員


發表:18
回覆:48
積分:18
註冊:2003-07-14

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