Foxtable(狐表)用户栏目专家坐堂 → 请教 自定义函数有时候会出现这个错误


  共有3199人关注过本帖树形打印复制链接

主题:请教 自定义函数有时候会出现这个错误

帅哥哟,离线,有人找我吗?
jswjyjf
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
请教 自定义函数有时候会出现这个错误  发帖心情 Post By:2014/7/18 9:26:00 [只看该作者]

请教 自定义函数有时候会出现这个错误

 

 


图片点击可在新窗口打开查看此主题相关图片如下:fffff.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/7/18 9:27:00 [只看该作者]

代码发出来看看, 你是不是引用定义了,超出参数个数的参数了.   比如只有2个 你引用到第三个去了

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/7/18 9:28:00 [只看该作者]

代码问题,例如数组a长度是5,a(5)就会出错,因为5表示第六个元素

 回到顶部
帅哥哟,离线,有人找我吗?
jswjyjf
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2014/7/18 9:29:00 [只看该作者]

内部函数 取日期的  

 

Dim TimeServers As String(,) = New String(2, 1) {}
TimeServers(0, 0) = "time-b.timefreq.bldrdoc.gov"
TimeServers(0, 1) = "132.163.4.102"
TimeServers(1, 0) = "time-c.timefreq.bldrdoc.gov"
TimeServers(1, 1) = "132.163.4.103"
TimeServers(2, 0) = "utcnist.colorado.edu"
TimeServers(2, 1) = "128.138.140.44"

Dim portNum As Integer = 13
Dim hostName As String
Dim bytes As Byte() = New Byte(1023) {}
Dim bytesRead As Integer = 0
Dim client As New System.Net.Sockets.TcpClient()
For i As Integer = 0 To 2
    hostName = TimeServers(i, 1)
    Try
        client.Connect(hostName, portNum)
        Dim ns As System.Net.Sockets.NetworkStream = client.GetStream()
        bytesRead = ns.Read(bytes, 0, bytes.Length)
        client.Close()

        Exit For
    Catch generatedExceptionName As System.Exception
    End Try
Next
Dim sp As Char() = New Char(0) {}
sp(0) = " "c
Dim dt As System.DateTime = New DateTime()
Dim str1 As String
str1 = System.Text.Encoding.ASCII.GetString(bytes, 0, bytesRead)

Dim s As String()
s = str1.Split(sp)
dt = System.DateTime.Parse(s(1) & " " & s(2))
'得到标准时间
dt = dt.AddHours(8)
'得到北京时间
Dim getdate As Date
getdate=dt.Date
Return getdate


 回到顶部
帅哥哟,离线,有人找我吗?
jswjyjf
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2014/7/18 9:36:00 [只看该作者]

帮我看看代码 有没有错

 回到顶部
帅哥哟,离线,有人找我吗?
jswjyjf
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2552 积分:20045 威望:0 精华:0 注册:2012/5/19 11:57:00
  发帖心情 Post By:2014/7/18 9:42:00 [只看该作者]

代码发上来了 帮我看一下 错在哪里 多谢


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/18 9:43:00 [只看该作者]

Dim TimeServers As String(,) = New String(2, 1) {}
TimeServers(0, 0) = "time-b.timefreq.bldrdoc.gov"
TimeServers(0, 1) = "132.163.4.102"
TimeServers(1, 0) = "time-c.timefreq.bldrdoc.gov"
TimeServers(1, 1) = "132.163.4.103"
TimeServers(2, 0) = "utcnist.colorado.edu"
TimeServers(2, 1) = "128.138.140.44"

Dim portNum As Integer = 13
Dim hostName As String
Dim bytes As Byte() = New Byte(1023) {}
Dim bytesRead As Integer = 0
Dim client As New System.Net.Sockets.TcpClient()
For i As Integer = 0 To 2
    hostName = TimeServers(i, 1)
    Try
        client.Connect(hostName, portNum)
        Dim ns As System.Net.Sockets.NetworkStream = client.GetStream()
        bytesRead = ns.Read(bytes, 0, bytes.Length)
        client.Close()
       
        Exit For
    Catch generatedExceptionName As System.Exception
    End Try
Next
Dim sp As Char() = New Char(0) {}
sp(0) = " "c
Dim dt As System.DateTime = New DateTime()
Dim str1 As String
str1 = System.Text.Encoding.ASCII.GetString(bytes, 0, bytesRead)

Dim s As String()
s = str1.Split(sp)
Dim getdate As Date = Nothing
If s.Length >= 2 Then
    dt = System.DateTime.Parse(s(1) & " " & s(2))
    '得到标准时间
    dt = dt.AddHours(8)
    '得到北京时间
   
    getdate=dt.Date
End If
Return getdate

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/7/18 9:45:00 [只看该作者]

Dim TimeServers As String(,) = New String(2, 1) {}
TimeServers(0, 0) = "time-b.timefreq.bldrdoc.gov"
TimeServers(0, 1) = "132.163.4.102"
TimeServers(1, 0) = "time-c.timefreq.bldrdoc.gov"
TimeServers(1, 1) = "132.163.4.103"
TimeServers(2, 0) = "utcnist.colorado.edu"
TimeServers(2, 1) = "128.138.140.44"

Dim portNum As Integer = 13
Dim hostName As String
Dim bytes As Byte() = New Byte(1023) {}
Dim bytesRead As Integer = 0
Dim client As New System.Net.Sockets.TcpClient()
For i As Integer = 0 To 2
    hostName = TimeServers(i, 1)
    Try
        client.Connect(hostName, portNum)
        Dim ns As System.Net.Sockets.NetworkStream = client.GetStream()
        bytesRead = ns.Read(bytes, 0, bytes.Length)
        client.Close()
       
        Exit For
    Catch generatedExceptionName As System.Exception
    End Try
Next
Dim sp As Char() = New Char(0) {}
sp(0) = " "c
Dim dt As System.DateTime = New DateTime()
Dim str1 As String
str1 = System.Text.Encoding.ASCII.GetString(bytes, 0, bytesRead)

If str1 >"" Then
    Dim s As String()
    s = str1.Split(sp)
    dt = System.DateTime.Parse(s(1) & " " & s(2))
    '得到标准时间
    dt = dt.AddHours(8)
    '得到北京时间
    Dim getdate As Date
    getdate=dt.Date
    Return getdate
Else
    messagebox.show("获取时间失败")
End If


 回到顶部