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

如何改變Edit的Name

尚未結案
andygiga
一般會員


發表:3
回覆:4
積分:1
註冊:2005-03-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-13 17:22:21 IP:140.123.xxx.xxx 未訂閱
請問一下各位高手?? 因為我要做的程式有三種功能都要讀檔 我讀進來之後,要利用讀進來的那些值做運算 但我只都讀在同一個form底下,也就是說只有那些edit 我希望能分別改變我的Edit的Name這樣後來好做運算 不知道要怎麼修改
if (OpenDialog1->Execute())
{
slRow->LoadFromFile(OpenDialog1->FileName);
for (int i=0; iCount; i  )
{
 slCol->CommaText = slRow->Strings[i];  
 tmp2 = StrToFloat(slCol->Strings[0]);     ((TEdit *)Form2->FindComponent("Edit" IntToStr(i 1)))->Text = tmp2;
 }          
 }
還是有其他的判別的方法可以讓我在後來的運算使用那些數值 發表人 - andygiga 於 2005/06/13 20:26:57
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-13 17:50:52 IP:210.68.xxx.xxx 未訂閱
您好:    PO程式碼的方式請參考版規說明,煩請修改謝謝您的配合 >
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-14 00:23:55 IP:219.137.xxx.xxx 未訂閱
andygiga 您好:    不知道我有沒有誤解您的意思?我覺得您還是不要動態的去變更那幾個 Edit 的名稱比較好,要不然您就得記錄下它們最後被更改過的名稱或者是其它的特徵,否則您可能會變得很難控制那幾個 Edit 物件了,而且;如果您可以記錄下它們最後被更改過的名稱或是其它的特徵,那麼更名的意義似乎也不大,因為名稱本來就是做為識別之用的,與您記錄下特徵以做為識別的作用其實是相同的。 做為共用的元件,仍可使用固定的名稱來達到不同的處理要求,除非您的需求蠻特別的,可否請您再詳加描述一下,是在何種狀況之下,使得您要對 Edit 物件做更名這種處理?
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-14 00:33:37 IP:211.22.xxx.xxx 未訂閱
於design time訂定的物件名稱不能在run time再改變,看你的需求應該要在run time時動態產生TEdit元件!以下有個動態產生元件的例子! http://delphi.ktop.com.tw/topic.php?TOPIC_ID=70576 ----------------------------------------------- Creation is the fundation of promotion.
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-14 03:02:24 IP:221.169.xxx.xxx 未訂閱
andygiga:給個意見,如RedSnow大大及Stallion大大所言不要改名稱, 如你要辨識Edit你可以使用Tag這個屬性,這個屬性可以隨時動態更改, 也不會影響程式結構純粹當作標記! 請參考! Andy Chang
------
Andy Chang
cashyy
高階會員


發表:117
回覆:322
積分:212
註冊:2004-04-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-16 01:04:23 IP:211.74.xxx.xxx 未訂閱
引言: 請問一下各位高手?? 因為我要做的程式有三種功能都要讀檔 我讀進來之後,要利用讀進來的那些值做運算 但我只都讀在同一個form底下,也就是說只有那些edit 我希望能分別改變我的Edit的Name這樣後來好做運算 不知道要怎麼修改
if (OpenDialog1->Execute())
{
slRow->LoadFromFile(OpenDialog1->FileName);
for (int i=0; iCount; i  )
{
 slCol->CommaText = slRow->Strings[i];  
 tmp2 = StrToFloat(slCol->Strings[0]);     ((TEdit *)Form2->FindComponent("Edit" IntToStr(i 1)))->Text = tmp2;
 }          
 }
還是有其他的判別的方法可以讓我在後來的運算使用那些數值 發表人 - andygiga 於 2005/06/13 20:26:57
看您的寫法好像是要讓每一個Edit都自動輸入值吧! 我是用下列笨方法啦!請參考:
  for (int i=0; i<4; i  )
  {
    TEdit *Edt = new TEdit(this);
    Edt->Parent = Form1;
    Edt->Name = "Edit" AnsiString(i 1);
    Edt->Width = 121;
    Edt->Height = 21;
    Edt->Top = i*30;
    Edt->Text = IntToStr(i);
  }
系統時間:2024-05-09 20:18:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!