以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 在大神路过,帮我看看代码有什么问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71462)

--  作者:dxjwlf
--  发布时间:2015/7/11 17:05:00
--  [求助] 在大神路过,帮我看看代码有什么问题
Dim tel As String = e.Form.Controls("TextBox3").Value
Dim msg As String = e.Form.Controls("TextBox1").Value
\'定义手机,内容两个变量
Dim zh As String = e.Form.Controls("ComboBox1").Value
Dim mm As String = e.Form.Controls("TextBox2").Value
\'定义帐号,密码两个变量
If msg Is Nothing Then     \'如果内容为空
    MessageBox.Show("请输入短信的内容", "提示")
    Return   \'退出
Else         \'不为空,运行下面代码
    For Each r As Row In Tables("短信通知").Rows
        If r("接收手机").StartsWith("1") = True And r("接收手机").length = 11 Then  \'如果是手机号提取字符串到 tel变量中
            tel = Tables("短信通知").DataTable.GetValues("接收手机" , "r("接收手机").StartsWith("1") = True And r("接收手机").length = 11")
            msg = r("短信内容")
            Dim url ,s As String
            Dim http As Object
            url = "http://service.winic.org:8009/sys_port/gateway/?id="& zh &"&pwd="& mm &"&To=" & tel & "&c&time="
            \'url = "http://service.winic.org:8009/sys_port/gateway/?id="& dr("帐号") &"&pwd="& dr("密码") &"&To=" & dr("接收手机号")& "&c短信内容") &"&time="
            http = CreateObject("MSXML2.XMLHTTP")
            http.Open("get", url, False)
            http.send()
            s = http.responseText
            
            Dim Value As String = Left(s,3)
            Dim Result As String
            Select Case Value
                Case "000"
                    Result = "发送成功!"
                Case "-01"
                    Result = "当前账号余额不足!"
                Case "-02"
                    Result = "当前用户ID错误!"
                Case "-03"
                    Result = "当前密码错误!"
                Case "-04"
                    Result = "参数不够或参数内容的类型错误!"
                Case "-05"
                    Result = "手机号码格式不对!"
                Case "-06"
                    Result = "短信内容编码不对!"
                Case "-07"
                    Result = "短信内容含有敏感字符!"
                Case "-08"
                    Result = "无接收数据!"
                Case "-09"
                    Result = "系统维护中.."
                Case "-10"
                    Result = "手机号码数量超长!(100个/次)"
                Case "-11"
                    Result = "短信内容超长!(70个字符)"
                Case "-12"
                    Result = "其它错误!"
            End Select
            r("提示信息")= Replace(Replace(Replace(Replace(Replace(s,Value,Result),"Send","本次发送量"),"Consumption","当次消费金额"),"Tmoney","总余额"),"sid","短信编号")
            MessageBox.Show("提示信息 : " & r("提示信息"))
        End If
    Next
End If

--  作者:狐狸爸爸
--  发布时间:2015/7/11 17:25:00
--  

tel = Tables("短信通知").DataTable.GetValues("接收手机" , "r("接收手机").StartsWith("1") = True And r("接收手机").length = 11")

 

应该改为:

 

 tel = Tables("短信通知").DataTable.GetValues("接收手机" , "接收手机 Like ‘1%’  and Len(接收手机) = 11)

 

不要混淆了代码和表达式,表达式的语法参考:

http://www.foxtable.com/help/topics/0102.htm

http://www.foxtable.com/help/topics/1647.htm

 

建议按顺序学习一下帮助,先看使用指南,再看开发指南,使用指南有很多基础知识。

 

 


--  作者:dxjwlf
--  发布时间:2015/7/11 17:32:00
--  
给跪 了,狐狸爸爸,,学得好累哟。。。。真是一点通,不点想不通。
--  作者:dxjwlf
--  发布时间:2015/7/11 18:33:00
--  
   运行上面代码,   弹出对话框:   从类型“List(Of String)”到类型“String”的转换无效。
--  作者:dxjwlf
--  发布时间:2015/7/11 18:34:00
--  
怎么转换呀。  还有  Dim Value As String = Left(s,3)   这怎么理解 
--  作者:大红袍
--  发布时间:2015/7/12 9:35:00
--  
Dim tels As String = Tables("短信通知").DataTable.GetComboListString("接收手机" , "接收手机 Like \'1%\'  and Len(接收手机) = 11").Replace("|", ",")
msgbox(tels)