以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 请教 自定义函数有时候会出现这个错误 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53926)
|
-- 作者:jswjyjf
-- 发布时间:2014/7/18 9:26:00
-- 请教 自定义函数有时候会出现这个错误
请教 自定义函数有时候会出现这个错误
此主题相关图片如下:fffff.jpg

|
-- 作者:Bin
-- 发布时间:2014/7/18 9:27:00
--
代码发出来看看, 你是不是引用定义了,超出参数个数的参数了. 比如只有2个 你引用到第三个去了
|
-- 作者:狐狸爸爸
-- 发布时间:2014/7/18 9:28:00
--
代码问题,例如数组a长度是5,a(5)就会出错,因为5表示第六个元素
|
-- 作者:jswjyjf
-- 发布时间: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
-- 发布时间:2014/7/18 9:36:00
--
帮我看看代码 有没有错
|
-- 作者:jswjyjf
-- 发布时间:2014/7/18 9:42:00
--
代码发上来了 帮我看一下 错在哪里 多谢
|
-- 作者:有点甜
-- 发布时间: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
|
-- 作者:狐狸爸爸
-- 发布时间: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
|