*/
Stuck? Need help? Ask questions on our forums.
*/

View \frmRx.frm

SMS Sender in VB 1.0

Submitted By: amarjits
Rating: (Not rated) (Rate It)


VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "MSCOMM32.OCX"
Begin VB.Form frmRx
   Caption         =   "Rx From Basic Stamp"
   ClientHeight    =   7650
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   7785
   Icon            =   "frmRx.frx":0000
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   7650
   ScaleWidth      =   7785
   StartUpPosition =   3  'Windows Default
   Begin VB.TextBox txtMToSend
      Height          =   735
      Left            =   0
      TabIndex        =   7
      Top             =   4320
      Width           =   5415
   End
   Begin VB.ListBox List1
      Height          =   2205
      Left            =   2640
      TabIndex        =   6
      Top             =   2040
      Width           =   4935
   End
   Begin VB.CommandButton cmdSend
      Caption         =   "Send"
      Height          =   495
      Left            =   1680
      TabIndex        =   5
      Top             =   5400
      Width           =   1935
   End
   Begin VB.TextBox txtMsg
      Height          =   2175
      Left            =   0
      TabIndex        =   4
      Text            =   "Demo Msg"
      Top             =   2040
      Width           =   2535
   End
   Begin VB.TextBox txtMNo
      Height          =   375
      Left            =   1080
      TabIndex        =   3
      Text            =   "9876091077"
      Top             =   1440
      Width           =   2535
   End
   Begin MSCommLib.MSComm MSComm1
      Left            =   3960
      Top             =   240
      _ExtentX        =   1005
      _ExtentY        =   1005
      _Version        =   393216
      CommPort        =   4
      DTREnable       =   -1  'True
   End
   Begin VB.PictureBox Picture1
      Height          =   255
      Left            =   120
      ScaleHeight     =   195
      ScaleWidth      =   2835
      TabIndex        =   2
      Top             =   480
      Width           =   2895
   End
   Begin VB.Label Label2
      AutoSize        =   -1  'True
      Caption         =   "0"
      Height          =   195
      Left            =   1560
      TabIndex        =   1
      Top             =   120
      Width           =   90
   End
   Begin VB.Label Label1
      AutoSize        =   -1  'True
      Caption         =   "Current RCTime:"
      BeginProperty Font
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   195
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   1410
   End
End
Attribute VB_Name = "frmRx"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim mOK
Dim mErr
Dim mResult

Dim doit As Boolean
Dim sdata As String

Private Sub cmdSend_Click()
    Dim n
    ' Setup PictureBox for Scale
    List1.Clear
    List1.AddItem "Starting..."
    ' Fire Rx Event Every Byte
    MSComm1.RThreshold = 1
    ' When Inputting Data, Input All Bytes
    MSComm1.InputLen = 0
    ' 19200 Baud, No Parity, 8 Data Bits, 1 Stop Bit
    MSComm1.Settings = "19200,N,8,1"
    ' Make sure DTR line is low to prevent Stamp reset
    MSComm1.DTREnable = True
    MSComm1.InBufferSize = 32
    MSComm1.OutBufferSize = 0
    ' Open COM1
    MSComm1.CommPort = 5
    MSComm1.RTSEnable = True
    'Me.MSComm1.Handshaking = 2 - comRTS
    MSComm1.PortOpen = True
    List1.AddItem "Port Opened"

    Dim what As Boolean
   
    what = sendIt("AT+CMGF=1", "OK", "ERROR")
    If what = True Then
        what = sendIt("AT+CMGS=" & Chr(34) & Me.txtMNo & Chr(34), ">", "ERROR")
        If what = True Then
            n = Now
            Me.txtMToSend = Me.txtMsg & n
            'MSComm1.Output = Me.txtMsg & n & Chr(26) & Chr(13)
            what = sendIt(Me.txtMToSend & Chr(26), "OK", "ERROR")
        End If
    End If
    Me.MSComm1.PortOpen = False
    List1.AddItem "Done..."
End Sub

Function sendIt(ByVal s, ByVal ok, ByVal eror, Optional ByVal TOut = 5) As Boolean
    mOK = ok
    mErr = eror
    List1.AddItem "Sending.." & s
    MSComm1.Output = s & Chr(13)
    Dim p
    p = 0.0001 * TOut
    doit = False
    sdata = ""
    Dim dt1 As Date, dt2 As Date
    dt1 = Now
    Dim p1
    While doit = False
        dt2 = Now
        p1 = (dt2 - dt1)
        If p1 >= p Then
            List1.AddItem "Timeout..."
            doit = True
            sendIt = False
            Exit Function
        End If
        DoEvents
    Wend
    sendIt = True
End Function


Sub wait()
    Dim p
    p = 0.0005
    doit = False
    Me.List1.AddItem "Waiting..."
    sdata = ""
    Dim dt1 As Date, dt2 As Date
    dt1 = Now
    Dim p1
    While doit = False
        dt2 = Now
        p1 = (dt2 - dt1)
        If p1 >= p Then
            List1.AddItem "Timeout..."
            doit = True
        End If
        DoEvents
    Wend
End Sub

Private Sub MSComm1_OnComm()
    List1.AddItem "In OnComm"
    Dim sdata1
    If MSComm1.CommEvent = comEvReceive Then
        sdata1 = MSComm1.Input
        sdata = sdata & sdata1
        If InStr(sdata, mOK) > 0 Then
            doit = True
            mResult = "OK"
            List1.AddItem "--> " & sdata
        ElseIf InStr(sdata, "ERROR") > 0 Then
            doit = True
            List1.AddItem "Err--->" & sdata
            mResult = "ERR"
        ElseIf InStr(sdata, ">") > 0 Then
            doit = True
            List1.AddItem ">>---> " & sdata
            mResult = sdata
        Else
            List1.AddItem "?---> " & sdata
            mResult = sdata
        End If
    End If
End Sub

corner
© 1996-2008 CommunityHeaven LLC. All rights reserved. Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
North American business development: Nicolai Wadstrom. Publisher: Lars Hagelin.