以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  我想做2个注册窗口中,怎样做?  (http://foxtable.net/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
    Forms("首次注册").Open()
    Code = GetConfigValue("Register" & ComputerId,"")
   
    If Code > "" AndAlso DecryptText(Code,"abc","abc") = ComputerId Then \'如果注册码正确      
        Messagebox.Show("注册成功!")      
        OK = True      
    End If
Else
     \'第二次注册的代码
End If


--  作者: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
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2个注册窗口.rar


--  作者:Hyphen
--  发布时间:2016/5/10 9:00:00
--  
要限制注册码的长度,可以使用固定长度。

不然就把代码放到try catch中

--  作者:大红袍
--  发布时间:2016/5/10 9:20:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2个注册窗口.foxdb


--  作者: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