Membuat Program SMS Gateway dengan VB Net

Cara Membuat Program SMS Gateway dengan VB NetBerhubung aku sedang enggan buat menciptakan tulisan atau dokumentasi berkaitan Penerapan SMS Gateway VB.Net bersama Gammu ini sehingga aku Unggah aja Source code nya, Mudah-mudahan berguna utk teman2 seluruh nya.....

Form Login


Source Code Form Login: 

Imports MySql.Data.MySqlClient

Public Class LogIn

    Private Sub cekKoneksi()
        Try
            MyCon = New MySqlConnection(strCon)
            MyCon.Open()
            ' MsgBox("OK")
        Catch ex As Exception
            MsgBox("Cek Koneksi !")
            MyCon.Close()
        End Try
    End Sub

    Private Sub LogIn_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cekKoneksi()
        cboLevel.SelectedIndex = 0
    End Sub

    Private Sub btnLogIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogIn.Click
        Try
            MyCon = New MySqlConnection(strCon)
            MyCon.Open()
            strSql = "select UserName, Pass, Level From tb_user WHERE UserName = RPLACE ('" & txtUserName.Text.Replace("'", "''") & "', '" & txtPassword.Text.Replace("'", "''") & "'"
            objCommand = New MySqlCommand(strSql, MyCon)
            objReader = objCommand.ExecuteReader(CommandBehavior.Default)
            If objReader.HasRows Then
                objReader.Read()
                MsgBox("Log In Sukses")
                If cboLevel.Text = "Admin" Then

                Else

                End If
                btnCancel.PerformClick()
            Else
                MsgBox("Log In Gagal")
            End If
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        End Try
        FormSMS.Show()
    End Sub

    Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        txtPassword.Text = ""
        txtUserName.Text = ""
        cboLevel.SelectedIndex = 0
    End Sub
End Class

Form SMS Gateway


Source Code Form SMS Gateway:

Imports MySql.Data.MySqlClient

Public Class FormSMS

    Private strNm_pel As String
    Private strTagihan As String
    Private strBulan As String
    Private strKd_pel As String
    Private strStatus As String

    'deklarasi unt pengambilan nilai pada tblinbox
    Private strInboxTextSms As String
    Private strInboxNoPengirim As String
    Private strInboxProses As Boolean
    Private strInboxIdSMS As String

    Private strHasil As String 'hasil dari balesan cek sms
    Private strPesanTextSms As String 'pesan sms yg akn di kirim (dlm autoreply )

    Private Sub AllKosong()
        rdUnAll.PerformClick()
        txtTextSms.Text = ""
        'rdBcTagihan.Checked = False
        'rdKirimInfo.Checked = False
    End Sub

    Private Sub kosongPel()
        txtAlamat.Text = ""
        txtKd_pel.Text = ""
        txtNm_Pel.Text = ""
        txtTelp.Text = ""
    End Sub

    Private Sub AktifPel()
        txtAlamat.ReadOnly = False
        txtKd_pel.ReadOnly = False
        txtNm_Pel.ReadOnly = False
        txtTelp.ReadOnly = False
    End Sub

    Private Sub NonAktifPel()
        txtAlamat.ReadOnly = True
        txtKd_pel.ReadOnly = True
        txtNm_Pel.ReadOnly = True
        txtTelp.ReadOnly = True
    End Sub

    Private Sub ListGridPel()
        Try
            MyCon = New MySqlConnection(strCon)
            objDatatable = New DataTable
            MyCon.Open()
            strSql = "Select * from Tb_pelanggan"
            objCommand = New MySqlCommand(strSql, MyCon)
            objReader = objCommand.ExecuteReader(CommandBehavior.Default)
            objDatatable.Load(objReader)
            grdPelanggan.DataSource = objDatatable
            grdPelanggan.Columns(0).Width = 150
            grdPelanggan.Columns(1).Width = 200
            grdPelanggan.Columns(2).Width = 250
            grdPelanggan.Columns(3).Width = 150
            objCommand.Dispose()
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        Finally
            MyCon.Close()
            MyCon = Nothing
            objReader.Close()
            objReader = Nothing
        End Try
    End Sub

    Private Sub KosongTAg()
        txtKd_pelTag.Text = ""
        txtTagihan.Text = ""
    End Sub

    Private Sub AktifTAg()
        txtKd_pelTag.ReadOnly = False
        txtTagihan.ReadOnly = False
    End Sub

    Private Sub NonAktifTag()
        txtKd_pelTag.ReadOnly = True
        txtTagihan.ReadOnly = True
    End Sub

    Private Sub ListGridTag()
        Try
            MyCon = New MySqlConnection(strCon)
            objDatatable = New DataTable
            MyCon.Open()
            strSql = "Select * from Tb_tagihan"
            objCommand = New MySqlCommand(strSql, MyCon)
            objReader = objCommand.ExecuteReader(CommandBehavior.Default)
            objDatatable.Load(objReader)
            grdTagihan.DataSource = objDatatable
            grdTagihan.Columns(0).Width = 150
            grdTagihan.Columns(1).Width = 250
            grdTagihan.Columns(2).Width = 250
            grdTagihan.Columns(3).Width = 100
            objCommand.Dispose()
        Catch ex As Exception
            MsgBox(ex.Message.ToString)
        Finally
            MyCon.Close()
            MyCon = Nothing
            '            objReader.Close()
            objReader = Nothing
        End Try
    End Sub

    Private Sub listGridNoTujuan()
        Try
            MyCon = New MySqlConnection(strCon)
            objDatatable = New DataTable
            MyCon.Open()
            strSql = "Select KD_pel,nm_pel, telp FROM tb_pelanggan"
            objCommand = New MySqlCommand(strSql, MyCon)
            objReader = objCommand.ExecuteReader(CommandBehavior.Default)
            objDatatable.Load(objReader)
            grdTujuan.DataSource = objDatatable
            grdTujuan.Columns(0).Width = 150
            grdTujuan.Columns(1).Width = 250
            grdTujuan.Columns(2).Width = 150

            Dim chk As New DataGridViewCheckBoxColumn()
            grdTujuan.Columns.Add(chk)
            chk.HeaderText = "Check Data"
            chk.Name = "chk"
            grdTujuan.Rows(2).Cells(3).Value = False
            objCommand.Dispose()
        Catch ex As Exception
            '            MsgBox(ex.Message.ToString)
            'MsgBox("Check Yang sudah ada datanya")
        Finally
            MyCon.Close()
            MyCon = Nothing
            '            objReader.Close()
            objReader = Nothing
        End Try
    End Sub

    Private Sub listGridInbox()
        Try
            MyCon = New MySqlConnection(strCon)
            objDatatable = New DataTable
            MyCon.Open()
            strSql = "Select ReceivingDateTime, SenderNumber, TextDecoded, Processed As Process From Inbox ORDER BY ReceivingDateTime DESC "
            objCommand = New MySqlCommand(strSql, MyCon)
            objReader = objCommand.ExecuteReader(CommandBehavior.Default)
            objDatatable.Load(objReader)
            grdInbox.DataSource = objDatatable
            grdInbox.Columns(0).Width = 170
            grdInbox.Columns(1).Width = 130
            grdInbox.Columns(2).Width = 790
            grdInbox.Columns(3).Width = 70
            objCommand.Dispose()
        Catch ex As Exception
            MsgBox("Error  " & ex.Message.ToString)
        Finally
            MyCon.Close()
            MyCon = Nothing
        End Try
    End Sub

    Private Sub listGridOutBox()
        Try
            MyCon = New MySqlConnection(strCon)
            objDatatable = New DataTable
            MyCon.Open()
            strSql = "Select InsertIntoDB, destinationNumber , TextDecoded From outbox ORDER BY InsertIntoDB DESC"
            objCommand = New MySqlCommand(strSql, MyCon)
            objReader = objCommand.ExecuteReader(CommandBehavior.Default)
            objDatatable.Load(objReader)
            grdOutbox.DataSource = objDatatable
            grdOutbox.Columns(0).Width = 150
            grdOutbox.Columns(1).Width = 150
            grdOutbox.Columns(2).Width = 1000
            '            grdOutbox.Columns(2).Width = 790
            ' grdOutbox.Columns(3).Width = 90
            objCommand.Dispose()
        Catch ex As Exception
            MsgBox("Error  " & ex.Message.ToString)
        Finally
            MyCon.Close()
            MyCon = Nothing
        End Try
    End Sub

    Private Sub AutoReplay()
        Dim strSMSKataPertama As String 'hasil pecah kalimat sms
        Dim strSMSKataKedua As String 'hasil pecah kalimat sms

        Try
            MyCon = New MySqlConnection(strCon)
            MyCon.Open()
            'mencari sms yg belum d proses (false)
            strSql = "select SenderNumber, TextDecoded, ID FROM INBOX Where Processed = 'false'"
            objCommand = New MySqlCommand(strSql, MyCon)
            objReader = objCommand.ExecuteReader(CommandBehavior.Default)
            If objReader.HasRows Then
                objReader.Read()
                strInboxNoPengirim = objReader(0)
                strInboxTextSms = objReader(1)
                strInboxIdSMS = objReader(2)
                objCommand.Dispose()
                'memecah isi sms dan merubah menjadi kapital
                Dim ArrayPecahSms() As String = Split(strInboxTextSms, " ")
                strSMSKataPertama = ArrayPecahSms(0).ToUpper
                strSMSKataKedua = ArrayPecahSms(1).ToUpper
                'jika huruf depan AIR
                objReader.Close()
                If strSMSKataPertama = "AIR" Then
                    'buat balasan 
                    Dim dtBlnSekarang = Format(Now.Date, "yyyy-MMM")
                    'ambil data yang akan dikirim ke pelanggan
                    strSql = "SELECT P.kd_pel, P.nm_pel, T.bulan, T.Tagihan, T.status FROM Tb_pelanggan P INNER JOIN Tb_tagihan T ON P.kd_pel = T.kd_pel WHERE P.kd_pel = '" & strSMSKataKedua.Replace("'", "''") & "' AND T.bulan = '" & dtBlnSekarang & "'"
                    objCommand = New MySqlCommand(strSql, MyCon)
                    objReader = objCommand.ExecuteReader
                    If objReader.HasRows Then
                        objReader.Read()
                        strKd_pel = objReader(0)
                        strNm_pel = objReader(1)
                        strBulan = objReader(2)
                        strTagihan = objReader(3)
                        strStatus = objReader(4)
                        'format sms
                        strPesanTextSms = "Tagihan pelanggan  " & strKd_pel & " Nama  " & strNm_pel & " Bulan " & strBulan & " Sebesar : " & strTagihan & " " & strStatus & ""
                    Else
                        strPesanTextSms = "Maaf Kode Pelanggan Tidak benar"
                        objReader.Close()
                    End If
                Else
                    strPesanTextSms = "Maaf,Format salah! kirim sms dengan format AIR[spasi]kode pelanggan"
                End If
                strSql = "INSERT INTO outbox (destinationNumber , TextDecoded) VALUES ( '" & strInboxNoPengirim & "','" & strPesanTextSms & "')"
                objCommand = New MySqlCommand(strSql, MyCon)
                objCommand.ExecuteNonQuery()
                objCommand.Dispose()
                'update database
                strSql = "UPDATE INBOX set Processed = 'TRUE' WHERE ID = '" & strInboxIdSMS & "'"
                objCommand = New MySqlCommand(strSql, MyCon)
                objCommand.ExecuteNonQuery()
                objCommand.Dispose()
            End If
        Catch ex As Exception
            objReader.Close()
            strPesanTextSms = "Maaf Kode Pelanggan Tidak benar"
            strSql = "INSERT INTO outbox (destinationNumber , TextDecoded) VALUES ( '" & strInboxNoPengirim & "','" & strPesanTextSms & "')"
            objCommand = New MySqlCommand(strSql, MyCon)
            objCommand.ExecuteNonQuery()
            objCommand.Dispose()
            'update database
            strSql = "UPDATE INBOX set Processed = 'TRUE' WHERE ID = '" & strInboxIdSMS & "'"
            objCommand = New MySqlCommand(strSql, MyCon)
            objCommand.ExecuteNonQuery()
            objCommand.Dispose()

            'MsgBox(ex.Message.ToString)
            'Exit Sub
            'MsgBox("error insert outbox  " & ex.Message.ToString)
        Finally
            MyCon.Close()
            MyCon = Nothing
            objCommand.Dispose()
            objCommand = Nothing
        End Try
    End Sub

    Private Sub TabPage3_ChangeUICues(ByVal sender As Object, ByVal e As System.Windows.Forms.UICuesEventArgs) Handles Data_pel.ChangeUICues
        Call ListGridPel()
        Call kosongPel()
        Call AktifPel()
    End Sub

    Private Sub FormSMS_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'cek koneksi
        Try
            MyCon = New MySqlConnection(strCon)
            MyCon.Open()
            '            MsgBox("OK")
        Catch ex As Exception
            MsgBox("Cek Koneksi !")
            MyCon.Close()
        End Try
        Call ListGridPel()
        Call kosongPel()
        Call ListGridTag()
        Call listGridNoTujuan()
        Call listGridInbox()
        Call listGridOutBox()
        btnEdit.Enabled = False
        btnDelete.Enabled = False
        btnEditTag.Enabled = False
        btnDeleteTag.Enabled = False
        'txtTextSms.ReadOnly = True
    End Sub

    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        If txtAlamat.Text = "" Or txtKd_pel.Text = "" Or txtNm_Pel.Text = "" Or txtTelp.Text = "" Then
            MsgBox("Data Harus Lengkap")
        Else
            Try
                MyCon = New MySqlConnection(strCon)
                MyCon.Open()
                strSql = "Select Kd_pel FROM tb_pelanggan Where kd_pel = '" & txtKd_pel.Text.Replace("'", "''") & "'"
                objCommand = New MySqlCommand(strSql, MyCon)
                objReader = objCommand.ExecuteReader(CommandBehavior.Default)
                If objReader.HasRows Then
                    objReader.Read()
                    MsgBox("Duplicate Data")
                Else
                    objCommand.Dispose()
                    objReader.Close()
                    strSql = "Insert INTO tb_pelanggan (kd_pel, nm_pel, alamat, telp ) values ('" & txtKd_pel.Text.Replace("'", "''") & "','" & txtNm_Pel.Text.Replace("'", "''") & "', '" & txtAlamat.Text.Replace("'", "''") & "','" & txtTelp.Text.Replace("'", "''") & "')"
                    objCommand = New MySqlCommand(strSql, MyCon)
                    If objCommand.ExecuteNonQuery Then
                        MsgBox("Simpan data, Sukses ")
                    Else
                        MsgBox("Simpan Data, Gagal")
                    End If
                End If
                objCommand.Dispose()
            Catch ex As Exception
                'MsgBox(ex.Message.ToString)
            Finally
                'MyCon.Close()
                objReader.Close()
                MyCon = Nothing
                objReader = Nothing
                btnCancel.PerformClick()
            End Try
        End If
    End Sub

    Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        Call kosongPel()
        Call ListGridPel()
        btnEdit.Text = "Edit"
        btnSave.Enabled = True
        btnEdit.Enabled = False
        btnDelete.Enabled = False
        Call AktifPel()
    End Sub

    Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click
        If txtAlamat.Text = "" Or txtKd_pel.Text = "" Or txtNm_Pel.Text = "" Or txtTelp.Text = "" Then
            MsgBox("Data Harus Lengkap")
        Else
            If btnEdit.Text = "Edit" Then
                btnEdit.Text = "Update"
                Call AktifPel()
                txtKd_pel.ReadOnly = True
                btnSave.Enabled = False
                btnDelete.Enabled = False
            Else
                Try
                    MyCon = New MySqlConnection(strCon)
                    MyCon.Open()
                    strSql = "Update tb_pelanggan Set nm_pel = '" & txtNm_Pel.Text.Replace("'", "''") & "', " & _
                                                    "Alamat = '" & txtAlamat.Text.Replace("'", "''") & "', " & _
                                                    "Telp = '" & txtTelp.Text.Replace("'", "''") & "'" & _
                                                    "Where kd_pel = '" & txtKd_pel.Text.Replace("'", "''") & "'"
                    objCommand = New MySqlCommand(strSql, MyCon)
                    If objCommand.ExecuteNonQuery Then
                        MsgBox("Update Data, Sukses !", MsgBoxStyle.Information, "Info")
                    Else
                        MsgBox("Update Data, Gagal !", MsgBoxStyle.Information, "Info")
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                Finally
                    'MyCon.Close()
                    MyCon = Nothing
                    '                    objReader.Close()
                    objReader = Nothing
                    btnCancel.PerformClick()
                End Try
            End If
        End If
    End Sub

    Private Sub grdPelanggan_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdPelanggan.CellClick
        Try
            txtKd_pel.Text = grdPelanggan.SelectedCells(0).Value
            txtNm_Pel.Text = grdPelanggan.SelectedCells(1).Value
            txtAlamat.Text = grdPelanggan.SelectedCells(2).Value
            txtTelp.Text = grdPelanggan.SelectedCells(3).Value
            Call NonAktifPel()
            btnSave.Enabled = False
            btnEdit.Enabled = True
            btnDelete.Enabled = True
        Catch ex As Exception
            MsgBox("Data Kosong", MsgBoxStyle.Information, "Info")
        End Try
    End Sub

    Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
        If txtAlamat.Text = "" Or txtKd_pel.Text = "" Or txtNm_Pel.Text = "" Or txtTelp.Text = "" Then
            MsgBox("Data Harus Lengkap")
        Else
            If btnDelete.IsHandleCreated Then
                Dim pesan As String
                pesan = MsgBox("Anda yakin Akan Meghapus data Ini ?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Info")
                If pesan = vbYes Then
                    Try
                        MyCon = New MySqlConnection(strCon)
                        MyCon.Open()
                        strSql = "Delete From tb_pelanggan WHERE kd_pel = '" & txtKd_pel.Text & "'"
                        objCommand = New MySqlCommand(strSql, MyCon)
                        If objCommand.ExecuteNonQuery Then
                            MsgBox("Data Telah Dihapus")
                        Else
                            MsgBox("Gagal Menghapus data ")
                        End If
                    Catch ex As Exception
                        MsgBox(ex.Message.ToString)
                    Finally
                        'MyCon.Close()
                        MyCon = Nothing
                        'objReader.Close()
                        objReader = Nothing
                        btnCancel.PerformClick()
                    End Try
                End If
            End If
        End If

    End Sub

    Private Sub btnSaveTag_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSaveTag.Click
        If txtTagihan.Text = "" Or txtKd_pelTag.Text = "" Then
            MsgBox("Data Harus Lengkap")
        Else
            Try
                MyCon = New MySqlConnection(strCon)
                MyCon.Open()
                strSql = "Select Kd_pel, bulan FROM tb_tagihan Where kd_pel = '" & txtKd_pelTag.Text.Replace("'", "''") & "' AND Bulan = '" & CStr(Format(dtTagihan.Value, "yyyy-MMM")) & "'"
                objCommand = New MySqlCommand(strSql, MyCon)
                objReader = objCommand.ExecuteReader(CommandBehavior.Default)
                If objReader.HasRows Then
                    objReader.Read()
                    MsgBox("Duplicate Data")
                Else
                    objCommand.Dispose()
                    objReader.Close()
                    strSql = "Insert INTO tb_tagihan (kd_pel, tagihan, bulan, status ) values ('" & txtKd_pelTag.Text.Replace("'", "''") & "','" & txtTagihan.Text.Replace("'", "''") & "', '" & CStr(Format(dtTagihan.Value, "yyyy-MMM")) & "', 'Unchecked')"
                    objCommand = New MySqlCommand(strSql, MyCon)
                    If objCommand.ExecuteNonQuery Then
                        MsgBox("Simpan data, Sukses ")
                    Else
                        MsgBox("Simpan Data, Gagal")
                    End If
                End If
                objCommand.Dispose()
            Catch ex As Exception
                MsgBox(ex.Message.ToString)
            Finally
                MyCon.Close()
                objReader.Close()
                MyCon = Nothing
                objReader = Nothing
                btnCancelTag.PerformClick()
            End Try
        End If
    End Sub

    Private Sub btnEditTag_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEditTag.Click
        If txtTagihan.Text = "" Or txtKd_pelTag.Text = "" Then
            MsgBox("Data Harus Lengkap")
        Else
            If btnEditTag.Text = "Edit" Then
                btnEditTag.Text = "Update"
                Call AktifTAg()
                txtKd_pel.ReadOnly = True
                btnSave.Enabled = False
                btnDelete.Enabled = False
            Else
                Try
                    MyCon = New MySqlConnection(strCon)
                    MyCon.Open()
                    strSql = "Update tb_tagihan Set tagihan = '" & txtTagihan.Text.Replace("'", "''") & "', " & _
                                                    "bulan = '" & CStr(Format(dtTagihan.Value, "yyyy-MMM")) & "'" & _
                                                    "Where kd_pel = '" & txtKd_pelTag.Text.Replace("'", "''") & "'"
                    objCommand = New MySqlCommand(strSql, MyCon)
                    If objCommand.ExecuteNonQuery Then
                        MsgBox("Update Data, Sukses !", MsgBoxStyle.Information, "Info")
                    Else
                        MsgBox("Update Data, Gagal !", MsgBoxStyle.Information, "Info")
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                Finally
                    'MyCon.Close()
                    MyCon = Nothing
                    'objCommand.Dispose()
                    objCommand = Nothing
                    btnCancelTag.PerformClick()
                End Try
            End If
        End If
    End Sub

    Private Sub btnDeleteTag_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDeleteTag.Click
        If txtTagihan.Text = "" Or txtKd_pelTag.Text = "" Then
            MsgBox("Data Harus Lengkap")
        Else
            Dim pesan As String
            pesan = MsgBox("Anda yakin Akan Meghapus data Ini ?", MsgBoxStyle.YesNo + MsgBoxStyle.Question, "Info")
            If pesan = vbYes Then
                Try
                    MyCon = New MySqlConnection(strCon)
                    MyCon.Open()
                    strSql = "Delete From tb_tagihan WHERE kd_pel = '" & txtKd_pelTag.Text & "'"
                    objCommand = New MySqlCommand(strSql, MyCon)
                    If objCommand.ExecuteNonQuery Then
                        MsgBox("Data Telah Dihapus")
                    Else
                        MsgBox("Gagal Menghapus data ")
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                Finally
                    'MyCon.Close()
                    MyCon = Nothing
                    objReader.Close()
                    objReader = Nothing
                    btnCancelTag.PerformClick()
                End Try
            End If
        End If
    End Sub

    Private Sub btnCancelTag_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelTag.Click
        Call KosongTAg()
        Call ListGridTag()
        btnEditTag.Text = "Edit"
        btnSaveTag.Enabled = True
        btnEditTag.Enabled = False
        btnDeleteTag.Enabled = False
        Call AktifTAg()
    End Sub

    Private Sub grdTagihan_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles grdTagihan.CellClick
        Try
            txtKd_pelTag.Text = grdTagihan.SelectedCells(0).Value
            txtTagihan.Text = grdTagihan.SelectedCells(1).Value
            dtTagihan.Value = CDate(grdTagihan.SelectedCells(2).Value)
            Call NonAktifTag()
            btnSaveTag.Enabled = False
            btnEditTag.Enabled = True
            btnDeleteTag.Enabled = True
        Catch ex As Exception
            MsgBox("Data kosong", MsgBoxStyle.Information, "Info")
        End Try
    End Sub

    Private Sub KirimInfo()
        For i As Integer = 0 To grdTujuan.RowCount - 2
            Dim noTuj As String
            'mengambil no yg dipilih dg checkbox
            If grdTujuan.Rows(i).Cells(3).Value = True Then
                noTuj = grdTujuan.Rows(i).Cells(2).Value
                Try
                    MyCon = New MySqlConnection(strCon)
                    MyCon.Open()
                    strSql = "INSERT INTO outbox (destinationNumber , TextDecoded, CreatorId) VALUES ( '" & noTuj & "','" & txtTextSms.Text.Replace("'", "''") & "','Gammu')"
                    objCommand = New MySqlCommand(strSql, MyCon)
                    If objCommand.ExecuteNonQuery Then
                        '     MsgBox("Pesan Telah Dikirim")
                    Else
                        MsgBox("Pesan Gagal Dikirim")
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                Finally
                    MyCon.Close()
                    MyCon = Nothing
                    objCommand.Dispose()
                    objCommand = Nothing
                End Try
            End If
        Next
    End Sub

    Private Sub kirimTagihan()
        For i As Integer = 0 To grdTujuan.RowCount - 2
            Dim noTuj As String
            'mengambil no yg dipilih dg checkbox
            If grdTujuan.Rows(i).Cells(3).Value = True Then
                noTuj = grdTujuan.Rows(i).Cells(2).Value
                MsgBox("" + noTuj)
                Try
                    MyCon = New MySqlConnection(strCon)
                    MyCon.Open()
                    strSql = "SELECT P.kd_pel, P.nm_pel , T.bulan, T.tagihan FROM tb_pelanggan P INNER JOIN Tb_tagihan T ON P.kd_pel = T.kd_pel WHERE p.telp = '" & CStr(noTuj) & "'"
                    objCommand = New MySqlCommand(strSql, MyCon)
                    objReader = objCommand.ExecuteReader
                    If objReader.HasRows Then
                        objReader.Read()
                        strKd_pel = CInt(objReader(0))
                        strNm_pel = CInt(objReader(1))
                        strBulan = CInt(objReader(2))
                        strTagihan = CInt(objReader(3))
                        'MsgBox("" + CStr(kd) + CStr(nm) + CStr(bulan))
                    Else
                        MsgBox("Pesan Gagal Dikirim")
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                Finally
                    MyCon.Close()
                    MyCon = Nothing
                    objCommand.Dispose()
                    objCommand = Nothing
                End Try
                Dim pesan As String = "Tagihan Pelanggan " & strKd_pel & strNm_pel & "bulan" & strBulan & "Adalah Sebesar" & strTagihan & ""

                Try
                    MyCon = New MySqlConnection(strCon)
                    MyCon.Open()
                    strSql = "INSERT INTO outbox (destinationNumber , TextDecoded, CreatorId) VALUES ( '" & noTuj & "','" & pesan & "','Gammu')"
                    objCommand = New MySqlCommand(strSql, MyCon)
                    If objCommand.ExecuteNonQuery Then
                        '     MsgBox("Pesan Telah Dikirim")
                    Else
                        MsgBox("Pesan Gagal Dikirim")
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message.ToString)
                Finally
                    MyCon.Close()
                    MyCon = Nothing
                    objCommand.Dispose()
                    objCommand = Nothing
                End Try
            End If
        Next
    End Sub

    Private Sub btnKirim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKirim.Click
        'cek no tujuan sudah d cheked atau belum
        Dim noTujuan As Boolean
        For i As Integer = 0 To grdTujuan.Rows.Count - 2
            noTujuan = grdTujuan.Rows(i).Cells(3).Value
        Next
        If txtTextSms.Text = "" Then
            MsgBox("Tulis pesan anda", MsgBoxStyle.Information + MsgBoxStyle.Critical, "Info")
        Else
            Call KirimInfo()
            Call AllKosong()
            Call listGridInbox()
            Call listGridOutBox()
        End If
    End Sub

    Private Sub checkAll_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdAll.CheckedChanged
        If rdAll.Checked = True Then
            For i As Integer = 0 To grdTujuan.Rows.Count - 2
                grdTujuan.Rows(i).Cells(3).Value = True
            Next
        End If
    End Sub

    Private Sub checkUn_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rdUnAll.CheckedChanged
        If rdUnAll.Checked = True Then
            For i As Integer = 0 To grdTujuan.Rows.Count - 2
                grdTujuan.Rows(i).Cells(3).Value = False
            Next
        End If
    End Sub

    'Private Sub rdKirimInfo_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    '    If rdKirimInfo.Checked = True Then
    '        txtTextSms.ReadOnly = False
    '    End If
    'End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Call AutoReplay()
        Call listGridInbox()
        Call listGridOutBox()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        'agar bisa berjalan secara otomatis setiap 1 detik (interval 1000)
        'lblJam.Text = Format(Now.Date, "dd:MM:yyyy - hh:mm:ss")
        Call AutoReplay()
        Call listGridInbox()
        Call listGridOutBox()
    End Sub

    Private Sub txtCekPulsa_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCekPulsa.Click
        Dim myProses As New Process
        Process.Start("c:\gammu\gammu -c gammurc -s 0 getussd *123#")
        '        C:\Gammu\bin
        myProses.Close()
        MsgBox("" & strHasil, MsgBoxStyle.Information, "Pulsa")
    End Sub

    Private Sub txtTextSms_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtTextSms.TextChanged
        'menghitung jumlah karakter dlm textbox
        lblkarakter.Text = txtTextSms.Text.Count & " Karakter"

        'menghitung jumlah kta dlm textbox
        Dim kata() As String = txtTextSms.Text.Split(" ")
        lblkata.Text = kata.Length & " Kata"
    End Sub
End Class

Download Source Code Program Aplikasi SMS Gateway:

smsgateway.rar

Subscribe for latest Apps and Games


0 komentar:

Posting Komentar