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

有關二個form 傳的問題

尚未結案
fgchiu
一般會員


發表:6
回覆:5
積分:2
註冊:2003-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-07 13:29:03 IP:61.231.xxx.xxx 未訂閱
我在A form 有一個DBedit 的框要輸入日期 但我利用一個button 開啟B form,B form 內有一日歷物件(MonthCalendar1) 給使用者選好日期後,再按一個確定按鈕,將日期傳回那個DBedit A form->DBedit->Text=MonthCalendar1->Date; ^^^^ 這個A form 的name 我不知要怎麼傳..... 請問該如何設計才能將A form 的name 傳給B form 因為這個B form 我會在好幾個form 都有用到 請問一下各位高手該怎麼來做?? 這樣一個form 就可以給好幾個用 今天我的B form 以後還會被c form ,d form ,e form 利用 在 a,c,d,e 中都有個日期的DBEdit 需要利用到使用者在B form 中選取出來的日期 目前我在B form 中寫的是 A form->DBedit->Text=MonthCalendar1->Date; 但這樣只能被A form 用 要如何寫才能改成 A form 是變動的... 視你從那個form 開啟這個B form 而自己更改 A form->DBedit->Text=MonthCalendar1->Date; ^^^^^這一段變成 C form or D form or E form
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-07 13:45:06 IP:61.221.xxx.xxx 未訂閱
引言: 我在A form 有一個DBedit 的框要輸入日期 但我利用一個button 開啟B form,B form 內有一日歷物件(MonthCalendar1) 給使用者選好日期後,再按一個確定按鈕,將日期傳回那個DBedit A form->DBedit->Text=MonthCalendar1->Date; ^^^^ 這個A form 的name 我不知要怎麼傳..... 請問該如何設計才能將A form 的name 傳給B form 因為這個B form 我會在好幾個form 都有用到 請問一下各位高手該怎麼來做?? 這樣一個form 就可以給好幾個用 今天我的B form 以後還會被c form ,d form ,e form 利用 在 a,c,d,e 中都有個日期的DBEdit 需要利用到使用者在B form 中選取出來的日期 目前我在B form 中寫的是 A form->DBedit->Text=MonthCalendar1->Date; 但這樣只能被A form 用 要如何寫才能改成 A form 是變動的... 視你從那個form 開啟這個B form 而自己更改 A form->DBedit->Text=MonthCalendar1->Date; ^^^^^這一段變成 C form or D form or E form
fgchiu, 您好 在您由A form開啟B form時可以傳參數給B form, 再由B form去判別, 例如:
在 A form 中
void __fastcall TFormA::Button1Click(TObject *Sender)
{
   FormB=new FormB(this, "FormA"); 
}
在FormB中
__fastcall TFormB::TFormB(TComponent* Owner, String str)
{
   if(str == "FormA")
      // 處理A form所需的訊息
   else if(str == "FormC")
      // 處理C form所需的訊息
   // 以下依此類推
}
 
另外B form中的 .h 檔案也記得要修改喔! 試試看這方法是不是您所需要的。 ======================= 是非終日有,不聽自然無 天下本無事,庸人自擾之
fgchiu
一般會員


發表:6
回覆:5
積分:2
註冊:2003-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-07 14:21:25 IP:61.231.xxx.xxx 未訂閱
可是我照這樣做好像會有問題... complier 時會出現以下的錯誤訊息 pointer to structure required on left side of -> or ->* 不知大家懂不懂我要表達的問題? 就是我有很多個form 裡都需要使用者輸入日期 所以我做了一個form ,裡面放了一個MonthCalendar 然後在各個form 裡放個button 會開啟calendar的form 選好日期按下button 就把所選的日期填回那個form 所以我需要在calendar 抓到是從那個form 開啟calendar的 就可以在選好日期後,將值指定給前一個form的Edit框
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-07 14:42:23 IP:61.221.xxx.xxx 未訂閱
引言: 可是我照這樣做好像會有問題... complier 時會出現以下的錯誤訊息 pointer to structure required on left side of -> or ->* 不知大家懂不懂我要表達的問題? 就是我有很多個form 裡都需要使用者輸入日期 所以我做了一個form ,裡面放了一個MonthCalendar 然後在各個form 裡放個button 會開啟calendar的form 選好日期按下button 就把所選的日期填回那個form 所以我需要在calendar 抓到是從那個form 開啟calendar的 就可以在選好日期後,將值指定給前一個form的Edit框
fgchiu, 您好 方不方便將您的code貼上來, 或是整個project都傳上來, 讓大家一起幫您。 另外, 您要的功能其實可以用TDateTimePicker1的元件也可以做到, 在DBEdit旁邊放一個TDateTimePicker1的元件, 並將TDateTimePicker1元件調整大小到只剩下▼, 這樣可以讓使用者知道有按鈕可以按, 然後再將TDateTimePicker1元件選出的Date傳到DBEdit,
DBEdit->Text = DateTimePicker1->Date;
用這個方式就不用再另外開一個Form了。 希望沒有誤會您的意思。 ======================= 是非終日有,不聽自然無 天下本無事,庸人自擾之
kelon
一般會員


發表:17
回覆:27
積分:18
註冊:2002-07-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-07 15:06:32 IP:211.20.xxx.xxx 未訂閱
引言: 可是我照這樣做好像會有問題... complier 時會出現以下的錯誤訊息 pointer to structure required on left side of -> or ->* 不知大家懂不懂我要表達的問題? 就是我有很多個form 裡都需要使用者輸入日期 所以我做了一個form ,裡面放了一個MonthCalendar 然後在各個form 裡放個button 會開啟calendar的form 選好日期按下button 就把所選的日期填回那個form 所以我需要在calendar 抓到是從那個form 開啟calendar的 就可以在選好日期後,將值指定給前一個form的Edit框
想到一個笨方法... 在每個form呼叫calender form時 都填入一個代號在該calender form的tag值中 calenderform要回傳時再依tag值判斷 不過這樣程式碼會麻煩些就是
brook
資深會員


發表:57
回覆:323
積分:371
註冊:2002-07-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-07 16:39:27 IP:218.160.xxx.xxx 未訂閱
1.FormB的.h檔加入 public: AnsiString D; 2.FormA FormB->D = DBedit->Text; FormB->ShowModal(); DBedit->Text = FormB->D;
fgchiu
一般會員


發表:6
回覆:5
積分:2
註冊:2003-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-08 17:45:27 IP:61.231.xxx.xxx 未訂閱
引言: [quote] 可是我照這樣做好像會有問題... complier 時會出現以下的錯誤訊息 pointer to structure required on left side of -> or ->* 不知大家懂不懂我要表達的問題? 就是我有很多個form 裡都需要使用者輸入日期 所以我做了一個form ,裡面放了一個MonthCalendar 然後在各個form 裡放個button 會開啟calendar的form 選好日期按下button 就把所選的日期填回那個form 所以我需要在calendar 抓到是從那個form 開啟calendar的 就可以在選好日期後,將值指定給前一個form的Edit框
fgchiu, 您好 方不方便將您的code貼上來, 或是整個project都傳上來, 讓大家一起幫您。 另外, 您要的功能其實可以用TDateTimePicker1的元件也可以做到, 在DBEdit旁邊放一個TDateTimePicker1的元件, 並將TDateTimePicker1元件調整大小到只剩下▼, 這樣可以讓使用者知道有按鈕可以按, 然後再將TDateTimePicker1元件選出的Date傳到DBEdit,
DBEdit->Text = DateTimePicker1->Date;
用這個方式就不用再另外開一個Form了。 希望沒有誤會您的意思。 版主...大大... 但是DateTimePicker 會有時間.... 怎麼消除時間,因為我第一次就是用DateTimePicker 但是有時間和資料庫內的date欄位好像無法比較
arnoyu
中階會員


發表:73
回覆:88
積分:67
註冊:2003-03-21

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-09 14:34:44 IP:61.56.xxx.xxx 未訂閱
<<補充DateTimePicker的日期格式用法>> 底下是我以前的用法: Table1->FieldByName("DATE_Y")->AsString = DateTimePicker1->Date.FormatString("yyyy"); Table1->FieldByName("DATE_M")->AsString = DateTimePicker1->Date.FormatString("mm"); Table1->FieldByName("DATE_D")->AsString = DateTimePicker1->Date.FormatString("dd"); Table1->FieldByName("TIME_H")->AsString = DateTimePicker2->Time.FormatString("hh"); Table1->FieldByName("TIME_M")->AsString = DateTimePicker2->Time.FormatString("nn"); 您所說的,只是不要時間的話,用法如下: DBEdit->Text = DateTimePicker1->Date.FormatString("yyyymmdd"); 或 DBEdit->Text = DateTimePicker1->Date.FormatString("yyyy/mm/dd"); Date.FormatString("這裡可依需求更改");
系統時間:2024-05-08 0:21:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!