Foxtable(狐表)用户栏目专家坐堂 → 我想做2个注册窗口中,怎样做?


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

主题:我想做2个注册窗口中,怎样做?

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
我想做2个注册窗口中,怎样做?  发帖心情 Post By:2016/5/9 20:36:00 [显示全部帖子]

我想做2个注册窗口中,怎样做?以下怎样改?
第一个注册窗口是第一次运行时,弹出 第二个注册窗口是在大于限制运行次数时弹出。

AfterOpenProject事件:

Dim n As Integer = GetConfigValue("Count",1)

Dim Code As String = GetConfigValue("Register" & ComputerId,"")

Dim Ok As Boolean

 Forms("首次注册").Open()

 Code = GetConfigValue("Register" & ComputerId,"")

 If Code > "" AndAlso DecryptText(Code,"abc","abc") = ComputerId Then '如果注册码正确

 Messagebox.Show("注册成功!")

 OK = True

   End If

 Syscmd.Project.Exit()

 

If Code > "" AndAlso DecryptText(Code,"bcd","bcd") = ComputerId Then '如果注册码正确

    OK = True

Else

    If n > 20 Then

        Forms("限次注册").Open()

        Code = GetConfigValue("Register" & ComputerId,"")

        If Code > "" AndAlso DecryptText(Code,"bcd","bcd") = ComputerId Then '如果注册码正确

            Messagebox.Show("注册成功!")

            OK = True

        End If

    End If

    If n > 30 AndAlso Ok = False Then

        Messagebox.Show("您正在使用的产品已经超出试用次数!")

        Syscmd.Project.Exit()

    End If

End If

n = n + 1

SaveConfigValue("Count",n)

[此贴子已经被作者于2016/5/9 20:40:38编辑过]

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/5/9 21:37:00 [显示全部帖子]

但是第一个首次注册码计算是(Code,"abc","abc") 第二个限制次数注册码计算是(Code,"bcd","bcd") 怎样处理

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/5/9 22:31:00 [显示全部帖子]

不知什么原因还是不行

Dim n As Integer = GetConfigValue("Count",1)

Dim Code As String = GetConfigValue("Register" & ComputerId,"")

Dim Ok As Boolean

If n = 1 Then

    Forms("首次注册").Open()

    Code = GetConfigValue("Register" & ComputerId,"")

    If Code > "" AndAlso DecryptText(Code,"abc","abc") = ComputerId Then '如果注册码正确

        Messagebox.Show("注册成功!")

        OK = True

    Else

       Syscmd.Project.Exit()

    End If

Else

    If n > 25 Then

        Forms("限次注册").Open()

        Code = GetConfigValue("Register" & ComputerId,"")

        If Code > "" AndAlso DecryptText(Code,"bcd","bcd") = ComputerId Then '如果注册码正确

            OK = True

        End If

    End If

    If n >40 AndAlso Ok = False Then

        Messagebox.Show("您正在使用的产品已经超出试用次数!")

        Syscmd.Project.Exit()

    End If

End If

n = n + 1

SaveConfigValue("Count",n)


首次运行要输入第一次注册码,不输入不不正确时退出软件 。到 〉25次时,弹出限次注册窗口输入第二次注册码,不输入时到 〉大于40次时退出软件。

[此贴子已经被作者于2016/5/9 22:34:27编辑过]

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/5/10 7:17:00 [显示全部帖子]

1、首次与限次输入注册码不正确或按取消显示提示数据不正确,不是提示注册码不正确或未输入注册码。
2、首次输入了不正确或无输入注册码,下次就没有提示了及退出。
3、限次如果还没有到限次要求前输入了注册码,下次还是照样提示。
请问代码哪里有问题?

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2个注册窗口.rar


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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/5/10 17:07:00 [显示全部帖子]

 

Dim n As Integer = GetConfigValue("Count",1)

Dim Code As String = GetConfigValue("Register" & ComputerId,"")

Dim Ok As Boolean

try

    If n = 1 Then

        Forms("首次注册").Open()

        Code = GetConfigValue("Register" & ComputerId,"")

        If Code > "" AndAlso DecryptText(Code,"bcd","bcd") = ComputerId Then '如果注册码正确

            Messagebox.Show("注册成功!")

            OK = True

            SaveConfigValue("Count",2)

        Else

            SaveConfigValue("Count",1)

            Messagebox.Show("首未注册不能进入!")

            Syscmd.Project.Exit()

        End If

       

    Else

        If Code > "" AndAlso DecryptText(Code,"abc","abc") = ComputerId Then '如果注册码正确

            OK = True

        Else

            ok = False

        End If

        If OK = False Then

            If n > 25 Then

                Forms("限次注册").Open()

                Code = GetConfigValue("Register" & ComputerId,"")

                If Code > "" AndAlso DecryptText(Code,"abc","abc") = ComputerId Then '如果注册码正确

                    Messagebox.Show("注册成功!")

                    OK = True

                Else

                    Messagebox.Show("限次注册码不正确!")

                End If

            End If

            If n >35 AndAlso Ok = False Then

                Messagebox.Show("使用次数已过,请注册!")  

                Syscmd.Project.Exit()

            End If

        End If

        n = n + 1

        SaveConfigValue("Count",n)

    End If

catch ex As exception

    msgbox("注册码不正确")    如果注册码不正确就退出项目没有机会再机会再输入正确注册码

    'Syscmd.Project.Exit()

End try


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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/5/11 17:32:00 [显示全部帖子]

原来的用这种方法搞不了,现在改了限时间与限次数,用下面的代码有点问题,每次都显示注册窗口。

 

Dim usecount As Integer = GetConfigValue("试用次数",0)   '定义一个整数变量,来记录系统打开次数

Dim RegOk As Boolean = GetConfigValue("注册状态",False)  '定义一个逻辑变量,来记录注册成功与否

If regok = False Then   '若是未注册状态

    usecount = usecount +1  '则计数器+1

    SaveConfigValue("试用次数",usecount) '保存试用次数

    If usecount >55 Then   '若试用次数超过5次

        Forms("注册").open    '打开注册窗体

        Return

    End If

End If

If GetConfigValue("试用起始日",#1/1/2000#) = #1/1/2000# Then

    '定义一个试用起始日的变量,让默认日期为早期时间, 若是第一次运行,则将试用日期设为当天

    SaveConfigValue("试用起始日",Date.Today)

End If

Dim usetoday As Date = GetConfigValue("试用日期",Date.today)  '定义一个日期变量,来记录系统本次打开日期

Dim Regok1 As Boolean = getconfigvalue("注册状态",False)   '定义一个逻辑变量,用来记录注册成功与否

Dim startday As Date = GetConfigValue("试用起始日",#1/1/2000#) '定义一个日期变量,来记录第一次打开系统的日期

If regok1 = False Then    '若是未注册状态

    If Date.Today < usetoday Then  '若当前日期小于上一次的试用日期,则说明系统时间被修改

        msgbox("系统时间被非法修改,不能进入系统!")  '给消息提示

        syscmd.project.Exit()   '强制退出系统

        Return

    End If

    If Date.Today > startday.AddDays(25) Then   '若今天比第一次打开系统的日期过去3天了

        Forms("注册").open

        Return         '返回,不执行后面的打开窗口1的代码

    End If

End If

SaveConfigValue("试用日期",Date.Today)   '把今天的日期写入到试用日期的参数值里

[此贴子已经被作者于2016/5/11 17:33:22编辑过]

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/5/11 17:35:00 [显示全部帖子]

注册窗口

AfterLoad 代码

Dim RegOk As Boolean = getconfigvalue("注册状态",False)   '定义注册状态的变量
Dim usecount As Integer  = GetConfigValue("试用次数",1) '定义试用次数
Dim reg As WinForm.Label = e.Form.Controls("Label1")
If regok = False Then  '若未注册
    reg.text = "软件未注册,还能试用" & 60-usecount & "次"
Else
    reg.text = "软件已注册"
End If
Dim regok1 As Boolean = getconfigvalue("注册状态",False) '定义注册状态的变量
Dim startday As Date = GetConfigValue("试用起始日",Date.Today)   '定义第一次试用的日期
Dim reg1 As WinForm.Label = e.Form.Controls("Label2")
Dim tp As TimeSpan = Date.Today - startday
If regok1 = False  Then  '若未注册
    reg1.text = "软件未注册,还能试用" & 30-tp.Days & "天"
Else
    reg1.text = "软件已注册"
End If
Dim CMPCODE As WinForm.TextBox = e.Form.Controls("机器码")
Dim REGCODE As WinForm.TextBox = e.Form.Controls("注册码")

CMPCODE.Text = ComputerId


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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/5/11 21:22:00 [显示全部帖子]

还是有问题,请老师帮忙看看问题出在哪?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:注册窗口.foxdb

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/5/11 22:22:00 [显示全部帖子]

请问重新注册按钮是不是发布前按一按复位一下才可以
[此贴子已经被作者于2016/5/11 22:21:41编辑过]

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


加好友 发短信
等级:小狐 帖子:391 积分:3179 威望:0 精华:0 注册:2008/8/31 20:44:00
  发帖心情 Post By:2016/5/11 22:46:00 [显示全部帖子]

好的,谢谢老师指点

 回到顶部
总数 11 1 2 下一页