MODEM撥接 |
答題得分者是:cmf
|
kan0515
中階會員 發表:56 回覆:120 積分:50 註冊:2002-06-24 發送簡訊給我 |
請問一下各位大大~
我是利用spcomm1這個元件來撰寫撥接modem的程式
底下是測試用的小程式
IF txtinput.text<>' ' then buf :=txtinput.text chr(13) Else buf :=txtinput.text; for i:=0 to length(buf) do SPcomm1.WriteCommData(@buf[i],1); end;可是modem都沒有任何反應 請問有什麼地方是要注意的嗎? 我是將rts,dtr開啟 xon/xoff全部關閉 |
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
引言: 請問一下各位大大~ 我是利用spcomm1這個元件來撰寫撥接modem的程式 底下是測試用的小程式The GetCommModemStatus function retrieves modem control-register values. BOOL GetCommModemStatus( HANDLE hFile, // handle of communications device LPDWORD lpModemStat // address of control-register values ); Parameters hFile Identifies the communications device. The CreateFile function returns this handle. lpModemStat Points to a 32-bit variable that specifies the current state of the modem control-register values. This parameter can be a combination of the following values: Value Meaning MS_CTS_ON The CTS (clear-to-send) signal is on. MS_DSR_ON The DSR (data-set-ready) signal is on. MS_RING_ON The ring indicator signal is on. MS_RLSD_ON The RLSD (receive-line-signal-detect) signal is on. Return Values If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. To get extended error information, call GetLastError. Remarks The GetCommModemStatus function is useful when you are using the WaitCommEvent function to monitor the CTS, RLSD, DSR, or ring indicator signals. To detect when these signals change state, use WaitCommEvent and then use GetCommModemStatus to determine the state after a change occurs. The function fails if the hardware does not support the control-register values. See Also CreateFile, WaitCommEventIF txtinput.text<>' ' then buf :=txtinput.text chr(13) Else buf :=txtinput.text; for i:=0 to length(buf) do SPcomm1.WriteCommData(@buf[i],1); end;可是modem都沒有任何反應 請問有什麼地方是要注意的嗎? 我是將rts,dtr開啟 xon/xoff全部關閉
------
︿︿ |
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
kan0515: 你是要控制什麼東西,為什麼還要使用到MODEM 呢? 以下資料你參考看看 //傳送命令給 Modem
procedure ModemCommand(c:string);
var
s:string;
begin
s:='AT' 'Q0' c #13;
SPcomm1.WriteCommData(s,strleng(s)); end; //啟始 Modem
procedure InitialModem;
begin
ModemCommand('&C1&D2X4S0=0M0'); end; //撥電話
procedure Dial(PhoneNumber:string);
begin
ModemCommand('DT' PhoneNumber); end;
------
︿︿ |
kan0515
中階會員 發表:56 回覆:120 積分:50 註冊:2002-06-24 發送簡訊給我 |
|
kan0515
中階會員 發表:56 回覆:120 積分:50 註冊:2002-06-24 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
|
cmf
尊榮會員 發表:84 回覆:918 積分:1032 註冊:2002-06-26 發送簡訊給我 |
引言: 拍謝…再請問一下 我已經獲得modem的狀況值-->48 但是傳送 s:='ATQ0&C1&D2X4S0=0M0'+#13; SPcomm1.WriteCommData(@s,Length(s)); modem仍然是沒有任何的反應? MODEM測試過是正常的(利用超級端機) 所以…我想請問一下, SPCOMM這個元件本身是否有什麼地方要注意的 TRUE/FALSE/DISABLE/ENABLE… 謝謝~~原來的 SPcomm1.WriteCommData(@s,Length(s)); 改成 SPcomm1.WriteCommData(Pchar(s),Length(s)); 是看看吧
------
︿︿ |
kan0515
中階會員 發表:56 回覆:120 積分:50 註冊:2002-06-24 發送簡訊給我 |
|
pou
一般會員 發表:0 回覆:1 積分:0 註冊:2007-09-01 發送簡訊給我 |
|
sryang
尊榮會員 發表:39 回覆:762 積分:920 註冊:2002-06-27 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
沒有!是third party免費版本元件,原來站長有放,可是已經不能下載了,小弟已經重新上傳至該URL下載免費版spcomm,記得以後相關的類型問題可以先在本站或搜尋引擎裡找一找~
===================引 用 pou 文 章=================== 請問一下spcomm1這個元件,在DELPHI 7裡面有嗎?因為我一直找不到這個元件。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |