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

如何將 FORM B 的字串資料,回傳給 FORM A 的某個欄位

答題得分者是:figo
ANDY8C
資深會員


發表:114
回覆:582
積分:299
註冊:2006-10-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-23 11:02:08 IP:59.104.xxx.xxx 未訂閱
請問 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-23 11:26:48 IP:220.135.xxx.xxx 未訂閱
有關要在兩個程式間傳遞資料是比較麻煩的 你必須先把資料寫到中介區域(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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-23 11:46:02 IP:219.129.xxx.xxx 未訂閱
插个花: 参考下面,应该是您所要的,试试看 > =============================== 为什么经过多年以后,得失的过程如此冷漠 ===============================
figo
初階會員


發表:47
回覆:70
積分:28
註冊:2004-12-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-03 15:00:54 IP:202.175.xxx.xxx 未訂閱
 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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2006-11-17 10:08:16 IP:218.111.xxx.xxx 未訂閱
以上SendMessage的功能,小弟己經試了,且能正常的工作.
不只能己字元及字串send到notepad,還能send到其他程式.
但是我遇到其他問題
假設其他程式(稱之為程式B),有5個欄位 (像通常我們在安裝程式時,需要輸入序號那樣), 及有"Ok"及"Cancel" button.
當我用sendmessage來傳單個字元時,只要重複的傳送,則程式B的第一個欄位填滿時,就會自動跳到下一個欄位
而我用sendmessage來傳送一整個字串時,只能填在第一個欄位,而不能跳到下一個欄位
請問有什麼方法可以一次過把5個欄位都填滿, 或是有什麼方法可以指定要填第幾個欄位呢?
另一個問題就是,當欄位都填好時,我要怎樣按那個"OK" 的button啊??
因為剛剛學用delphi,所以太深的代碼都還看不懂,一切從頭學起.呵呵



------
菜鳥-i am new B
系統時間:2024-12-04 16:31:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!