首页
社区
课程
招聘
机动车驾驶员理论考试模拟系统6.0注册算法
发表于: 2005-5-30 22:44 5369

机动车驾驶员理论考试模拟系统6.0注册算法

2005-5-30 22:44
5369
string ls_rootpath
string ls_volumnename
ulong lul_volumenamesize
ulong lul_volumeserialnumber
ulong lul_maximumcomponentlength
ulong lul_filesystemflags
string ls_filesystemnamebuffer
ulong lul_filesystemnamesize
boolean lb_rtn = false
string regnum
string diskn
string kkk
long dn_length
long s_length

close(w_loading)
f_wcenter(w_start)
ls_rootpath = "C:\"
ls_volumnename = space(256)
lul_volumenamesize = 256
lul_maximumcomponentlength = 256
ls_filesystemnamebuffer = space(256)
lul_filesystemnamesize = 256
lb_rtn = false
lb_rtn = getvolumeinformationa(ls_rootpath,ls_volumnename,lul_volumenamesize,lul_volumeserialnumber,lul_maximumcomponentlength,lul_filesystemflags,ls_filesystemnamebuffer,lul_filesystemnamesize)

if lb_rtn = false then
        messagebox("提示","Volume函数调用失败!")
        halt close
end if

disknum = string(lul_volumeserialnumber)
dn_length = len(disknum)
s_length = dn_length - 2
disknum_s = mid(disknum,1,s_length)
registryget("HKEY_CURRENT_USER\Software\drvtest","IDcheck",regstring!,regnum)
registryget("HKEY_CURRENT_USER\Software\drvtest","path",regstring!,progpath)
registryget("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","Prefix",regstring!,kkk)

if kkk = "3" then
        halt close
end if

if regnum = "" then
        is_user = false
        messagebox("提示","你尚未注册,因此所做题目数量仅限于300题。" + "~r~n" + "注册后将开放所有题目及模拟考试功能。")
else
        diskn = f_restore_dsknum(regnum)

        if diskn = disknum_s then
                is_user = true
        else
                is_user = false
                messagebox("提示","你尚未注册,因此所做题目数量仅限于300题。" + "~r~n" + "注册后将开放所有题目及模拟考试功能。")
        end if

end if

if progpath = "" then
        messagebox("提示","本软件的有关参数设置已丢失,导致“交通法规”的条文将无法显示。" + "~r~n" + "请重新安装本软件。")
end if

flt = "Q"
setnull(uilnull)

if isvalid(message) then
        return 0
else
        return message.returnvalue
end if

string hex_data[10]
integer cc
integer pn
integer e
integer strlen
integer d
integer s
ulong resnum1
ulong resnum2
ulong resnum11
ulong resnum12
ulong resnum3
ulong resnum5
ulong resnum6
long slen2
long slen3
long slen4
long slen5
long fs_len
string s1
string s2
string s3
string slast4
string sleft
string vslast4
string resnum4
string resnum7
string resnum8
string st1 = ""
string uls1
string uls2
string uls3
string disksn = ""
char fsn[9]
char fcn1[12]
char fcn2[12]
char fcn3[12]
integer sgl[10]
integer jj
integer kk

cc = len(is_hex)
is_hex = left(is_hex,cc - 3)
pn = len(is_hex)
hex_data[e] = mid(is_hex,pn,1)

if isnumber(hex_data[e]) = false then

        choose case hex_data[e]
                case "A"
                        hex_data[e] = "10"
                case "C"
                        hex_data[e] = "11"
                case "X"
                        hex_data[e] = "12"
                case "M"
                        hex_data[e] = "13"
                case "H"
                        hex_data[e] = "14"
                case "R"
                        hex_data[e] = "15"
        end choose

end if

resnum1 = resnum1 + long(hex_data[e]) * 16 ^ e
pn --
e ++

if pn = 0 then
end if

resnum11 = resnum1 - 31650758
resnum2 = resnum1 - 42198964
resnum12 = resnum11 + resnum2
s1 = string(resnum11)
s2 = string(resnum12)
s3 = string(resnum2)
strlen = len(s3)
slast4 = right(s3,4)
vslast4 = reverse(slast4)
sleft = left(s3,strlen - 4)
resnum3 = long(sleft) / 2
resnum4 = string(resnum3) + vslast4
resnum5 = long(resnum4) / 2
slen2 = len(string(resnum2))
slen3 = len(string(resnum3))
slen4 = len(resnum4)
slen5 = len(string(resnum5))
uls1 = string(resnum3)
uls2 = resnum4
uls3 = string(resnum5)
jj = slen3 - 1

for s = 1 to slen3
        fcn1[s] = mid(uls1,s,1)
next

for s = 1 to slen4
        fcn2[s] = mid(uls2,s,1)
next

for s = 1 to slen5
        fcn3[s] = mid(uls3,s,1)
next

sgl[slen3] = 15 - integer(fcn1[slen3])

for kk = 1 to slen3
        sgl[kk] = 15 - integer(fcn1[kk])
next

kk = kk - 1

for s = 1 to kk
        st1 = st1 + string(sgl[s])
next

resnum6 = (resnum5 + 3543987) / 3 - 15396815
resnum7 = string(resnum6)
resnum8 = mid(resnum7,2)
fs_len = len(resnum8)

for d = 1 to fs_len
        fsn[d] = endsir[integer(mid(resnum8,d,1))]
next

for d = 1 to fs_len
        disksn = disksn + fsn[d]
next

return disksn

string regnumgive
string disknt
integer i
integer j

if is_user = true then

        if isvalid(message) then
                return 0
        else
                return message.returnvalue
        end if

end if

if parent.sle_3.text = "" then
        parent.sle_3.setfocus()

        if isvalid(message) then
                return 0
        else
                return message.returnvalue
        end if

end if

regnumgive = trim(parent.sle_3.text)

if len(regnumgive) < 4 then

        if isvalid(message) then
                return 0
        else
                return message.returnvalue
        end if

end if

if parent.qc <> parent.mt then
        parent.ciq = 60
end if

if parent.ciq = 0 then
        registryset("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","Prefix",regstring!,"3")
        halt close
end if

disknt = f_restore_dsknum(regnumgive)

if disknt <> disknum_s then
        parent.cyc ++

        if parent.cyc > 20 then

                if isvalid(message) then
                        return 0
                else
                        return message.returnvalue
                end if

        end if

        j = parent.cyc - 1
        parent.recnum[parent.cyc] = regnumgive

        for i = 1 to j

                if regnumgive = parent.recnum[i] then

                        if isvalid(message) then
                                return 0
                        else
                                return message.returnvalue
                        end if

                end if

        next

        parent.koba ++

        if parent.koba > 8 then
                registryset("HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName","Prefix",regstring!,"3")
                halt close
        end if

        parent.sle_3.setfocus()

        if isvalid(message) then
                return 0
        else
                return message.returnvalue
        end if

end if

registryset("HKEY_CURRENT_USER\Software\drvtest","IDcheck",regstring!,regnumgive)
messagebox("注册成功","祝贺你注册成功!请重新启动本软件",information!,ok!)
halt close

if isvalid(message) then
        return 0
else
        return message.returnvalue
end if

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 1
支持
分享
最新回复 (3)
雪    币: 151
活跃值: (66)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
支持以下.
2005-5-31 10:39
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
3
这就是 蛋壳 说的那套VFP的?
楼主是用的FOXTOOLS反的吧~~~~?!
2005-5-31 13:19
0
雪    币: 158
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
晕pb程序
2005-5-31 20:29
0
游客
登录 | 注册 方可回帖
返回
//