delphi 在串口接收時 POS 函數無效,急急急。。。。 |
答題得分者是:HM_
|
flagshang
一般會員 ![]() ![]() 發表:5 回覆:6 積分:2 註冊:2008-03-30 發送簡訊給我 |
不斷通過串口接收設備發送過來的文本資料,通過向設備發送命令並通過接受回應,但是在判斷其中有無某個字串時,函數失效。但是如果把單獨放在另一個中確是可以的。請幫忙,急急急.........
procedure TForm1.MSComm1Comm(Sender: TObject); var //buffer: Olevariant; str: string; //i: integer; begin case MSComm1.CommEvent of comEvReceive: begin str := MSComm1.Input; Memo1.Text :=Memo1.Text str; SendMessage(Memo1.Handle, WM_VSCROLL, SB_BOTTOM, 0); Memo2.Text :=Memo2.Text str; SendMessage(Memo2.Handle, WM_VSCROLL, SB_BOTTOM, 0); end; end; end; procedure TForm1.Button4Click(Sender: TObject); var nPos:integer; begin Memo2.Text :=''; Edit1.Text :=''; MScomm1.Output :=Edit1.Text #13#10; Edit1.Text :=''; Edit1.SetFocus(); application.processmessages; sleep(200); Memo2.Text :=''; Edit1.Text :='12'; MScomm1.Output :=Edit1.Text #13#10; Edit1.Text :=''; Edit1.SetFocus(); application.processmessages; sleep(200); Memo2.Text :=''; Edit1.Text :='1'; MScomm1.Output :=Edit1.Text #13#10; Edit1.Text :=''; Edit1.SetFocus(); application.processmessages; sleep(200); Memo2.Text :=''; Edit1.Text :='2'; MScomm1.Output :=Edit1.Text #13#10; Edit1.Text :=''; Edit1.SetFocus(); application.processmessages; sleep(200); if MessageDlg('Exit now?',mtConfirmation,[mbYes, mbNo],0)=mrNo then Label9.Caption :='LCD COLOR ERROR'; application.processmessages; sleep(200); Memo2.Text :=''; Edit1.Text :='3'; MScomm1.Output :=Edit1.Text #13#10; Edit1.Text :=''; Edit1.SetFocus(); application.processmessages; sleep(1200); nPos := Pos('L',memo2.Text); label9.caption :=inttostr(nPos); end; |
HM_
一般會員 ![]() ![]() 發表:2 回覆:4 積分:11 註冊:2008-04-05 發送簡訊給我 |
|
flagshang
一般會員 ![]() ![]() 發表:5 回覆:6 積分:2 註冊:2008-03-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |