For-loop没有完成所有迭代

时间:2015-07-11 17:32:44

标签: vb.net

我有这个问题 - 我尝试在我的系统中使用AT命令发送广播短信。之后,SMS内容将存储在我的数据库中。我的商店内容短信功能运作良好。我可以存储我发送的所有短信内容,但发送功能只是将消息发送到我的datagridview上的第一个数据。 请帮我解决这个问题 - 我在下面发布了我的代码

    Private Sub ButtonKirim_Click(sender As Object, e As EventArgs) Handles ButtonKirim.Click
    Dim noPel As String
    Dim isiPesan As String = ""
    Dim tgl As Date = Now.Date

    Dim strReplace(2) As String
    Dim strIsi(2) As String

    Dim tagBulan As String = "<bulan>"
    Dim tagtagihan As String = "<tagihan>"
    Dim tagLokasi As String = "<lokasi>"
    Dim pesanKirim As String = ""

    My.Settings.SettingPesan = RichTextBoxPesan.Text
    My.Settings.Save()

    'Label4.Text = isiPesan
    For pelanggan As Integer = 0 To DataGridViewKirimPesan.RowCount - 1

        'mengirim pesan/send message
        noPel = DataGridViewKirimPesan.Rows(pelanggan).Cells(3).Value()


        strReplace(0) = tagBulan
        strReplace(1) = tagtagihan
        strReplace(2) = tagLokasi

        strIsi(0) = DataGridViewKirimPesan.Rows(pelanggan).Cells(4).Value
        strIsi(1) = DataGridViewKirimPesan.Rows(pelanggan).Cells(5).Value
        strIsi(2) = DataGridViewKirimPesan.Rows(pelanggan).Cells(6).Value
        isiPesan = RichTextBoxPesan.Text
        For i As Integer = LBound(strReplace) To UBound(strReplace)
            isiPesan = isiPesan.Replace(strReplace(i), strIsi(i))
        Next

        SendMessage(noPel, isiPesan)

        ''menyimpan pesan keluar ke sms_terkirim/this query store my content SMS to table
        Dim sqlSmsKeluar As String = "INSERT INTO sms_terkirim (`tgl_sms`,`id_pelanggan`, `isi_sms`) VALUES ( NOW()," & DataGridViewKirimPesan.Rows(pelanggan).Cells(0).Value & " , '" & isiPesan & "');"
        cudMethod(sqlSmsKeluar)
        MsgBox(sqlSmsKeluar)

        'ProgressBarKirimPesan.Increment(1)

    Next
    'MsgBox("Pesan Sukses Terkirim")
    '        Catch ex As Exception
    '    MsgBox("Pesan Gagal Terkirim" + ex.Message)
    'End Try
    '    End If


End Sub

此代码是AT Command发送消息

Public Sub SendMessage(ByVal NomorPelanggan As String, ByVal IsiPesan As String)

    If SerialModem.IsOpen() Then
        With SerialModem
            .Write("AT" & vbCrLf)
            Threading.Thread.Sleep(100)
            .Write("AT+CMGF=1" & vbCrLf)
            Threading.Thread.Sleep(100)
            .Write("AT+CMGS=" & Chr(34) & NomorPelanggan & Chr(34) & vbCrLf)
            Threading.Thread.Sleep(100)
            .Write(IsiPesan & vbCrLf & Chr(26))
            Threading.Thread.Sleep(100)
        End With
    Else
        MsgBox("Modem Belum Tersambung")
    End If
End Sub

0 个答案:

没有答案