有關二個form 傳的問題 |
尚未結案
|
fgchiu
一般會員 發表:6 回覆:5 積分:2 註冊:2003-04-15 發送簡訊給我 |
我在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 發送簡訊給我 |
引言: 我在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 formfgchiu, 您好 在您由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 發送簡訊給我 |
可是我照這樣做好像會有問題...
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 發送簡訊給我 |
引言: 可是我照這樣做好像會有問題... 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 發送簡訊給我 |
引言: 可是我照這樣做好像會有問題... 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 發送簡訊給我 |
|
fgchiu
一般會員 發表:6 回覆:5 積分:2 註冊:2003-04-15 發送簡訊給我 |
引言: [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 發送簡訊給我 |
<<補充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("這裡可依需求更改");
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |