• 沒有找到結果。

第四章 系統實作

4.3 程式規劃

4.3.1 使用的軟體元件

4.3.1.1 MSComm 元件屬性說明

系統中使用 MSComm 通訊元件來控制 RS-232 串列的通訊。

MSComm 控制項的屬性眾多,在此只就使用到的屬性加以說明:

(1)CommPort: 設定或傳回通訊連接埠代號。程式必須指定所要 使用的串列埠的號碼,Windows 系統會使用所 設定的通訊埠與外界作通訊,通常我們使用 COM1 來做傳輸。

(2)Settings: 設定初始化參數。以字串的型式設定或傳回連線 速度、同位檢查、資料位元、停止位元等四個參 教。

(3)PortOpen: 設定或傳回通訊連接埠的狀態。使用串列之前必 須先將要使用的串列埠開啟;而在使用完畢之 後,也必須執行關閉的動作。

(4)Output: 將欲傳送的資料寫入傳輸暫存區。當程式需要 傳輸字串至對方時,可將字串使用此一指今寫入 輸出暫存區中,一般的資料均是在送達輸出緩衝 叵後隨即被送出。

(5)HandShaking:指定通訊兩方的交握協定。所謂的「交握協定」

也就是流量管制。

(6)CommEvent:只要有通訊錯誤或事件發生都會產生 OnComm 事件,CommEvent 屬性存有該錯誤或事件的數

(7)RTSEnable: 決定是否做 Request To Send(RTS)線有效。

Request To Send 線被用在 RTS/CTS 硬體交握 協定上。RTSEnable 屬性允許使用都以手動方式 輪詢偵測 Request To Send 線以判斷其狀態。

4.3.1.2 使用 MSComm 元件通訊步驟

(1)加入 MSComm 通訊物件。

(2)設定 CommPort 屬性,即設定通訊埠號碼。

(3)設定 HandShaking 屬性,即設定通訊協定。

(4)設定 Settings 屬性,設定傳輸速度等參教。 式下運作,一是在傳輸控制通訊協定(Transmission Control Protocol, TCP),一是使用者資料傳輸通訊協定(User Datagram Protocol, UDP) 。它們都是建立兩台電腦之間通訊網的網際網路通訊協定。TCP

(1)LocalHostName,LocalIP 屬性:

LocalHostName,LocalIP Properties 這兩個屬性會分別傳回本機 電腦的名稱與 IP 位置。它們都是唯讀的,而且只能再執行時期使用。

(2)LocalPort:

WinSock1.LocalPort = xxx

xxx 就是接駁點的號碼。LocalPort 可以是 0,可讓兩部電腦以動態 的方式來建立連結。

(3)RemotePort:

利用此屬性可以讀取或設定遠端要連接的接駁點號碼。它的語法是,

WinSock1.RemotePort = Port

Port 是要連接的接駁點號碼。當設定 Protocol 屬性時,RemotePort 會自動設為每個通訊協定的正確接駁點號碼。有幾個接駁點號碼是

(7)SendData:

傳送一各區塊的資料到遠端電腦中。它的語法是,

WinSock1.SendData Data

參數 Data 是儲存要傳送資料的變數。若要傳送二進位的資料,可

(10)SendCo mplete:

這個事件會在 SendData 執行結束之後發生,以便傳送的電腦知 道資料傳送已完成。雖然 SendComplete 事件可以讓程式知道資 料已送出了,但不能確定資料是否已經到達對方的電腦了。

(11) SendProgress:

這個事件會在傳送中發生。透過這個事件可以監控檔案的傳輸過 程。它的定義是,

WinSock1_SendProgress (bytesSent As Long, bytesRemaining As Long)

bytesSent 就是此事件最後依次觸發所傳送的資料位元組,

bytesRemaining 則代表還有多少位元組要傳送。

(12)Error:

在背景傳送資料時,若發生錯誤,就會觸發一事件。其定義為,

Object_Error (Number As Integer, Description As String, Scode As Long, Source As String, HelpFile As String, HelpContext As Long, CancelDisplay As Boolean)

參數 Number 是整數型態,它會傳回錯誤代碼。Description 參數 會將錯誤的意義傳回。參數 Scode 是長整數,其值是由 PeekData 方法的 Type 參數傳回,代表傳輸過程中所發生的錯誤。Source 參數是描述錯誤來源的字串。HelpFile 與 HelpContext兩個參數都 是用來表示觸發 Error 事件錯誤的輔助說明。最後一個參數,

CancelDisplay 則指定是否要顯示錯誤訊息。如果設為 False,就 會顯示錯誤訊息;如果不想顯示,就把它改為 True。

4.3.1.4 MAPI 控制單元

MAPI 是 Messaging Application Program Interface 的縮寫 Visual Basic 中有 2 個 MAPI 控制項,分別是 MAPISession 與 MAPIMessages,MAPISession 控制項可登入並且建立一個 MAPI 連線(session),也可以用來結束一個 MAPI 連線;而

MAPIMessages 控制項讓使用者可以執行多種郵件系統的功能。如 果要正常執行含有 MAPI 控制項的 VB 程式,作業系統中必須安裝 MicroSoft Exchnage(主要用到的是 32 位元 MAPI DDLs),否則將 無法完成一些 MAPI 的功能。

相關文件