?? 計算機世界網-vb mscomm控件應用.htm
字號:
<TBODY>
<TR>
<TD class=a14>MSComm1.Output = “AT#CID=1” + vbCr</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'檢查Modem命令是否完成</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Call CHK_MODEM </TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>MSComm1.Output = “ATS0=0” + vbCr</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>End Sub</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14> </TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'檢查Modem命令是否完成</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Private Sub CHK_MODEM()</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Dim T As Single</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Dim L As Integer</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>T = Timer</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Do</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>COMBUF = COMBUF + MSComm1.Input</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>L = InStr(1, COMBUF,“OK”)</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Loop Until L <> 0 Or Timer - T >
1</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>If L = 0 Then</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Line1.Visible = True</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Line2.Visible = True</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Form1.Show</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>MsgBox
“MODEM未聯機”,vbOKOnly+vbCritical,“測試MODEM”</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Else</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Line1.Visible = False</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Line2.Visible = False</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>End If</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>End Sub</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14> </TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'串行口接收事件處理</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Private Sub MSComm1_OnComm()</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Dim CH, ST As String</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Dim LC As Integer</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Select Case MSComm1.CommEvent</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'接收到Rthreshold個字符</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Case comEvReceive </TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>COMBUF = COMBUF + MSComm1.Input</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'讀取串口數據</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Do </TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>LC = InStr(1, COMBUF, Chr(10))</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>If LC = 0 Then Exit Do</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>COMLIN = Left(COMBUF, LC)</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>COMBUF = Mid(COMBUF, LC + 1)</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>CH = Left(COMLIN, 1)</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>If “ ” < CH And CH < Chr(127) And DEBFLG = 1
Then</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Text5.Text = Text5.Text + COMLIN</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Text5.SelStart = Len(Text5.Text)</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>End If</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'截取來電號碼,并顯示</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>If InStr(1, COMLIN“NMBR=”)<> 0
Then</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>ST = Mid(COMLIN, 8)</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Text2.Text=“ ”+Left$(ST,Len (ST) -2) + “
”</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Form1.WindowState = 0</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Timer1.Enabled = True</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Call BEEP_NO</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'截取來電日期,并顯示</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>ElseIf InStr(1, COMLIN, “DATE = ”) <> 0
Then</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Text3.Text = Str(Year(DATE)) + “.”+ Mid(COMLIN, 8, 2) + “.”
+ Mid(COMLIN, 10, 2) + “ ”</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'截取來電時間,并顯示</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>ElseIf InStr(1, COMLIN, “TIME = ”) <> 0
Then</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Text4.Text = “ ” + Mid(COMLIN, 8, 2) + “:” + Mid(COMLIN, 10,
2)</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'檢測振鈴個數</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>ElseIf InStr(1, COMLIN, “RING”) <> 0
Then</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Call BEEP_NO</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>If HANGUP = 1 Or BEEPNO = 15 Then Call
HANG_UP</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'檢測是否停止振鈴</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>ElseIf Left(COMLIN, 3) = “000” Then</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>BEEPNO = 0</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Timer1.Enabled = False</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Form1.WindowState = 1</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>ProgressBar1.Value = 0</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Frame3.Caption = “振鈴數”</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>End If</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Loop</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>'其他事件處理</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Case comEvCTS</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Case comEvDSR</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Case comEvCD</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Case comEvRing</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Case comEventBreak</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Call INIT_MODEM</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>Case Else</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>MsgBox “串口接收事件號:” & MSComm1.CommEvent & “ ”, vbOKOnly +
</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>vbCritical, “測試串行口”</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>End Select</TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>End Sub</TD></TR></TBODY></TABLE><BR>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD align=right>(網頁編輯:<A
href="mailto:app@ccw.com.cn">徐向陽</A>)</TD></TR></TBODY></TABLE><BR>
<CENTER>
<P>共2頁,這是第2頁 <A
href="http://www.ccw.com.cn/htm/app/aprog/01_2_26_3.asp">上一頁</A>
</P></CENTER><BR>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD class=a14>相關文章</TD></TR>
<TR>
<TD>
<UL>
<LI><A
href="http://www.ccw.com.cn/htm/app/aprog/01_2_21_4.asp">VB6.0調用Excel制作任意表格</A>
<LI><A
href="http://www.ccw.com.cn/htm/app/aprog/01_2_16_2.asp">一個小巧的數據庫壓縮算法</A>
<LI><A
href="http://www.ccw.com.cn/htm/app/aprog/01_2_15_2.asp">利用VB更改WIN98狀態欄時間顯示方式</A>
<LI><A
href="http://www.ccw.com.cn/htm/app/aprog/01_1_11_3.asp">七段數碼管顯示控件的制作與應用</A>
<LI><A href="http://www.ccw.com.cn/htm/app/aprog/001228_6.asp">使用Visual
Basic操縱XML文檔</A> </LI></UL></TD></TR></TBODY></TABLE>
<TABLE width=620 align=center>
<TBODY>
<TR>
<TD align=right>
<FORM id=form1 name=form1 onsubmit="JavaScript: return chkField(this)"
action=/pub/subMail.asp method=post><INPUT type=hidden value=5746
name=rec> 您的姓名:<INPUT size=10 name=myName> 您朋友的E-mail:<INPUT size=10
name=friendMail> <INPUT type=submit value=推薦給好友> </FORM></TD></TR>
<TR>
<TD align=right><B>[<A href="javascript:window.close()">關閉窗口</A>]</B>
</TD></TR></TBODY></TABLE>
<SCRIPT language=javascript>function chkField(fmObj)
{if (!fmObj.friendMail.value){
alert("請輸入您朋友的E-mail!");
fmObj.friendMail.focus();
return false;
}
return true;
}
</SCRIPT>
<TABLE width=680 align=center>
<TBODY>
<TR>
<TD>
<HR width=660 color=#f46240 SIZE=1>
</TD></TR></TBODY></TABLE><BR>
<P align=center>Copyright(C) ccw.com.cn,All rights reserved</P>
<P align=center><B>中國計算機世界出版服務公司版權所有</B></P></CENTER></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -