Wednesday, December 12, 2012

VB6 SMS Gateway: Mendeteksi Port Modem Secara Otomatis

Mengenai cara mendeteksi port modem secara otomatis menggunakan VB6 - Pada project sebelumnya klik disini dan disini. Kita telah berhasil mengirimkan SMS menggunakan modem GSM secara sederhana. Akan tetapi karena sederhana kedua project tersebut tidak diperlengkapi dengan deteksi port modem secara otomatis, sehingga untuk mengetahui port modem Anda lakukan langkah di bawah ini:

  1. Klik tombol start (sebelah kiri bawah)
  2. Selanjutnya klik Settings >> Control Panel >> System
  3. Klik tab Hardware Klik tombol Device Manager
  4. Klik Node Ports (COM & LPT)
  5. Carilah di sana akan ada port modem Wavecom Anda.

Sungguh merepotkan sekali, setiap kali port modemnya berubah kita harus selalu mengulangi dan mengulangi langkah-langkah di atas. Mulai saat ini, tinggalkan cara di atas, dan beralihlah pada deteksi port modem secara otomatis. Adapun kode untuk mendeteksi port modem secara otomatis menggunakan VB6 adalah sebagai berikut:

Option Explicit

Dim strBuffer As String
Dim intPortNumber As String

Private Sub Command2_Click()
On Error Resume Next
Dim i As Integer
For i = 1 To 20
If MSComm1.PortOpen Then MSComm1.PortOpen = False
intPortNumber = i
MSComm1.CommPort = i
MSComm1.PortOpen = True
MSComm1.Output = "AT" & vbCrLf
Wait Me, 50
Next
End Sub

Private Sub Form_Load()
With MSComm1
.Settings = "115200,n,8,1"
.Handshaking = comRTS
.RTSEnable = True
.DTREnable = True
.RThreshold = 1
.SThreshold = 1
.InputMode = comInputModeText
.InputLen = 0
End With
End Sub

Private Sub Form_Unload(Cancel As Integer)
If MSComm1.PortOpen = True Then MSComm1.PortOpen = False
End
End Sub

Private Sub MSComm1_OnComm()
Select Case MSComm1.CommEvent
Case comEvReceive
strBuffer = strBuffer & MSComm1.Input
End Select
Do
strBuffer = strBuffer & MSComm1.Input
Loop While MSComm1.InBufferCount
If InStr(1, strBuffer, "OK") > 0 Then
Caption = "COM" & intPortNumber
Text1.Text = intPortNumber
End If
End Sub
Demikian cara mendeteksi port modem secara otomatis menggunakan VB6, jika modemnya lebih dari 1, misalnya 2, 3, 8, 15 sampai tak terhingga, Anda hanya perlu sedikit memodifikasi kodenya. Semoga bermanfaat.