Foxtable(狐表)用户栏目专家坐堂 → 程序中使用期限设计的问题 请教?


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

主题:程序中使用期限设计的问题 请教?

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


加好友 发短信
等级:九尾狐 帖子:2552 积分:20057 威望:0 精华:0 注册:2012/5/19 11:57:00
程序中使用期限设计的问题 请教?  发帖心情 Post By:2014/7/15 10:41:00 [只看该作者]

我想在软件中用户单位表中设计了使用期限,并且加了密,用户单位表结构如下


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

接下来在项目事件AfterOpenProject中写上 代码

Dim dt1 As Date
If TryConnectHost("www.163.com") Then
dt1=functions.Execute("getdate")
Else
dt1 = Date.Today
End If

try
    If  Cdate(DecryptText(zcqx,"嘻嘻网络","www.wjhans.com"))>dt1 Then '软件过期
    Else
        Forms("到期提示").show()
       End If
    catch
    Forms("到期提示格式错误").show()
 End try
 设置为显示

 

 

内部函数getdate代码为

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

 

 

 

经测算:如果使用期限过期了 ,到期提示窗口有时会出现,有时不会出现,不知道什么原因,恳请老师指点,或者有没有更好的办法

解决使用期限的问题


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


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

 代码没有错,你在afterOpenProject加入代码

 

msgbox(dt1)

 

 测试获取的时间是否争取


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


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

有时候测得 有时候没有

 


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


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

 看2楼,弹出时间看看。代码没错,不然你做个例子上来测试。

 

msgbox(dt1)

 回到顶部