以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 我想做2个注册窗口中,怎样做? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=84745) |
||||
-- 作者:wusim -- 发布时间:2016/5/9 20:36:00 -- 我想做2个注册窗口中,怎样做? 我想做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编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2016/5/9 20:59:00 -- If n = 1 Then Forms("首次注册").Open() End If |
||||
-- 作者:wusim -- 发布时间:2016/5/9 21:37:00 -- 但是第一个首次注册码计算是(Code,"abc","abc") 第二个限制次数注册码计算是(Code,"bcd","bcd") 怎样处理 |
||||
-- 作者:大红袍 -- 发布时间:2016/5/9 21:57:00 --
If n = 1 Then |
||||
-- 作者:wusim -- 发布时间: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编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2016/5/9 22:43:00 -- 代码没有问题,测试之前,要先把次数设置成1
SaveConfigValue("Count", 1) |
||||
-- 作者:wusim -- 发布时间:2016/5/10 7:17:00 -- 1、首次与限次输入注册码不正确或按取消显示提示数据不正确,不是提示注册码不正确或未输入注册码。 2、首次输入了不正确或无输入注册码,下次就没有提示了及退出。 3、限次如果还没有到限次要求前输入了注册码,下次还是照样提示。 请问代码哪里有问题? 此主题相关图片如下:1.jpg
|
||||
-- 作者:Hyphen -- 发布时间:2016/5/10 9:00:00 -- 要限制注册码的长度,可以使用固定长度。 不然就把代码放到try catch中
|
||||
-- 作者:大红袍 -- 发布时间:2016/5/10 9:20:00 --
|
||||
-- 作者:wusim -- 发布时间: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 |