如何將 FORM B 的字串資料,回傳給 FORM A 的某個欄位 |
答題得分者是:figo
|
ANDY8C
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:114 回覆:582 積分:299 註冊:2006-10-29 發送簡訊給我 |
請問 form 如何傳遞資料 FORM A 有數個 EDIT 輸入欄位 edit_a1 , edit_a2,edit_a3....... FORM B 有一個 EDIT 輸入欄位 edit_bb 及 BUTTON_ok 需求:
FORM A 及 FORM B 都是獨立的執行程式 ( A.EXE , B.EXE )
當 FORM A 的游標 停在 edit_a1 時,
在 FORM B 中輸入完成的資料,按 ok 鍵後,
直接將 form B edit_bb 的文字串內容,
自動填入到 form A 的 edit_a1 中 同樣的 游標 停在 edit_a2,edit_a3 ....等,都可以完成類似的動作. 謝謝您的回答 --------------------------------
這一網站,真的不錯!!
------
--------------------------------------- 偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩. |
speedup
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:19 回覆:259 積分:280 註冊:2003-07-04 發送簡訊給我 |
有關要在兩個程式間傳遞資料是比較麻煩的
你必須先把資料寫到中介區域(share Memory / Text File / Clipboard ..)
在遞送Windows message 通知另一隻程式來取用資料
你可以參考
http://delphi.ktop.com.tw/topic.php?topic_id=45186 http://delphi.ktop.com.tw/topic.php?topic_id=36027 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36089 混心雜欲 棄修身~唉
------
唉~ |
deity
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
|
figo
初階會員 ![]() ![]() 發表:47 回覆:70 積分:28 註冊:2004-12-18 發送簡訊給我 |
1.單純的送一個字給Notepad採用"SendMessage" procedure TForm1.Button1Click(Sender: TObject); var H : THandle; ClassName : Array[0..255] of Char; P : TPoint; begin H := FindWindow(nil, '未命名 - 記事本');<---是不是已經產生了的from if H = 0 then begin ShowMessage('Not Found'); exit; end; H := FindWindowEx(H, 0, 'Edit', nil);<---edit 是什麼意思 if H <> NULL then begin SendMessage(H, WM_CHAR, 65, 0); end; end; 4.送一個字串給Notepad採用"SendMessage" procedure TForm1.Button1Click(Sender: TObject); var s:string; h, npad:HWND; begin Npad := FindWindow(nil, '未命名 - 記事本'); if npad <> 0 then begin h:=ChildWindowFromPoint(npad,Point(10,10));<----point是什麼意思 if h <> 0 then begin BringWindowToTop(Npad); //使其成為focus之window s:='測試Test'; SendMessage(h, WM_SETTEXT,0,longint(PCHAR(S))); end; end; end;這二個我都試不出來. 請給小弟一些解釋,謝謝各位幫忙. |
eefui
一般會員 ![]() ![]() 發表:1 回覆:2 積分:0 註冊:2006-11-17 發送簡訊給我 |
以上SendMessage的功能,小弟己經試了,且能正常的工作.
不只能己字元及字串send到notepad,還能send到其他程式. 但是我遇到其他問題 假設其他程式(稱之為程式B),有5個欄位 (像通常我們在安裝程式時,需要輸入序號那樣), 及有"Ok"及"Cancel" button. 當我用sendmessage來傳單個字元時,只要重複的傳送,則程式B的第一個欄位填滿時,就會自動跳到下一個欄位 而我用sendmessage來傳送一整個字串時,只能填在第一個欄位,而不能跳到下一個欄位 請問有什麼方法可以一次過把5個欄位都填滿, 或是有什麼方法可以指定要填第幾個欄位呢? 另一個問題就是,當欄位都填好時,我要怎樣按那個"OK" 的button啊?? 因為剛剛學用delphi,所以太深的代碼都還看不懂,一切從頭學起.呵呵
------
菜鳥-i am new B |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |