热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

请帮忙解决一下。

stringls_copymstringls_2stringls_3longidatastorelds_1lds_1createdatastorelds_1.
string ls_copym
string ls_2
string ls_3
long i
datastore lds_1
lds_1 = create datastore
lds_1.dataobject = " d_g_sn"
lds_1.insertrow(0)
ls_copym = upper(trim(gf_getfirstletter(gs_coname)))
if len(ls_copym) > 6 and ((mid(ls_copym,1,3) = "HEB") or (mid(ls_copym,1,3) = "HLJ")) then
ls_copym = mid(ls_copym,4,6)
end if
ls_copym = left(ls_copym + ls_copym + ls_copym + ls_copym,8)
for i = len(ls_copym) to 1 step -1
ls_3 = ls_3 + string(asc(mid(ls_copym,i,1)) - 27)
next
lds_1.setitem(1,"coname",mid(ls_3,1,16))
lds_1.setitem(1,"mac",as_mac)
for i = 1 to 6
if i < 6 then
lds_1.setitem(1,i + 1,long(mid(as_mac,1,pos(as_mac,",") - 1)))
else
lds_1.setitem(1,i + 1,long(as_mac))
end if

as_mac = mid(as_mac,pos(as_mac,",") + 1,50)
next
for i = len(as_disk) to 1 step -1
ls_2 = ls_2 + string(asc(mid(as_disk,i,1)) - 22)
next
lds_1.setitem(1,"disk1",mid(ls_2,1,16))
return lds_1.getitemstring(1,"sn")
d_g_sn里重要的内容如下:
普通列有:
mac-mac6 disk1 disk2
计算列:
mac_id=mid(string(mac6*2+12)+string(mac4*2+13)+string(mac2*2+7)+string(mac5*4+5)+string(mac3*3+3)+string(mac1*2+21)+string(mac4*3+18)+string(mac2*2+3),1,16)
sn_id=mid(string(double(disk1)*7+double(coname)*2+double(mac_id)*3,'0'),1,16)
sn=mid(sn_id,1,4)+'-'+mid(sn_id,5,4)+'-'+mid(sn_id,9,4)+'-'+mid(sn_id,13,4)
机器中得到的(网卡MAC:00-25-64-F4-B8-79;公司名称:HLJYHDTYYYXGS;硬盘序列号:-WCAV2F422784WD)
软件序列号:5280-7007-6803-2066
兄弟是新手,算了好几次,也没算出这个软件序列号,求哪儿位大哥给出算法,不胜感激。





11 个解决方案

#1


gf_getfirstletter
这个函数提供一下

#2


lz明显不地道,昨天datawidnow我给你解释出来,你却把分给别人

#3


永生,以下是gf_getfirstletter里的内容(拜托)
string letter
string thisletter
string hz
string pystring
integer letterlen
integer i
long qw


thisletter = trim(inputstring)
letterlen = len(thisletter)
letter = ""
pystring = ""
letter = fill("A",36) + fill("B",196) + fill("C",245) + fill("D",196) + fill("E",28) + fill("F",131) + fill("G",161) + fill("H",193) + fill("J",319) + fill("K",106) + fill("L",260) + fill("M",163) + fill("N",87) + fill("O",8) + fill("P",128) + fill("Q",169) + fill("R",59) + fill("S",304) + fill("T",168) + fill("W",126) + fill("X",241) + fill("Y",324) + fill("Z",341) + space(11) + "CJWGNSPGCGNE Y BTYYZDXYKYGT JNNJQMBSGZSCYJSYY PGKBZGY YWYKGKLJSWKPJQHY W DZLSGMRYPYWWCCKZNKYYG      " + "TTNJJEYKKZYTCJNMCYLQLYPYQFQRPZSLWBTGKJFYXJWZLTBNCXJJJJZXDTTSQZYCDXXHGCK PHFFSS YBGMXLPBYLL HLX      " + "S ZM JHSOJNGHDZQYKLGJHXGQZHXQGKEZZWYSCSCJXYEYXADZPMDSSMZJZQJYZC J WQJBDZBXGZNZCPWHKXHQKMWFBPBY      " + "DTJZZKQHYLYGXFPTYJYYZPSZLFCHMQSHGMXXSXJ  DCSBBQBEFSJYHXWGZKPYLQBGLDLCCTNMAYDDKSSNGYCSGXLYZAYBN      " + "PTSDKDYLHGYMYLCXPY JNDQJWXQXFYYFJLEJPZRXCCQWQQSBZKYMGPLBMJRQCFLNYMYQMSQYRBCJTHZTQFRXQHXMJJCJLX      " + "XGJMSHZKBSWYEMYLTXFSYDSGLYCJQXSJNQBSCTYHBFTDCYZDJWYGHQFRXWCKQKXEBPTLPXJZSRMEBWHJLBJSLYYSMDXLCL      " + "QKXLHXJRZJMFQHXHWYWSBHTRXXGLHQHFNM YKLDYXZPWLGG MTCFPAJJZYLJTYANJGBJPLQGDZYQYAXBKYSECJSZNSLYZH      " + "ZXLZCGHPXZHZNYTDSBCJKDLZZYFMYDLEBBGQYZKXGLDNDNYSKJSHDLYXBCGHXYPKDQMMZMGMMCLGWZSZXZJFZNMLZZTHCS      " + "YDBDLLSCDDNLKJYKJSYCJLKOHQASDKNHCSGZEHDAASHTCPLCPQYBSDMPJLPZJOQLCDHJJYSPRCHN NNLHLYYQYHWZPTCZG      " + "WWMZFFJQQQQYXACLBHKDJXDGMMYDJXZLLSYGXGKJRYWZWYCLZMSSJZLDBYDCPCXYHLXCHYZJQ  QAGMNYXPFRKSSBJLYXY      " + "SYGLNSCMHSWWMNZJJLXXHCHSY  CTXRYCYXBYHCSMXJSZNPWGPXXTAYBGAJCXLY DCCWZOCWKCCSBNHCPDYZNFCYYTYCKX      " + "KYBSQKKYTQQXFCWCHCYKELZQBSQYJQCCLMTHSYWHMKTLKJLYCXWHYQQHTQH PQ QSCFYMMDMGBWHWLGSLLYSDLMLXPTHMJ      " + "HWLJZYHZJXHTXJLHXRSWLWZJCBXMHZQXSDZPMGFCSGLSXYMQSHXPJXWMYQKSMYPLRTHBXFTPMHYXLCHLHLZYLXGSSSSTCL      " + "SLTCLRPBHZHXYYFHB GDNYCNQQWLQHJJ YWJZYEJJDHPBLQXTQKWHLCHQXAGTLXLJXMSL HTZKZJECXJCJNMFBY SFYWYB      " + "JZGNYSDZSQYRSLJPCLPWXSDWEJBJCBCNAYTWGMPABCLYQPCLZXSBNMSGGFNZJJBZSFZYNDXHPLQKZCZWALSBCCJX YZHWK      " + "YPSGXFZFCDKHJGXDLQFSGDSLQWZKXTMHSBGZMJZRGLYJBPMLMSXLZJQSHZYJ ZYDJWBMJKLDDPMJEGXYHYLXHLQYQHKYCW      " + "CJMYYXNATJHYCCXZPCQLBZWWYTWBQCMLPMYRJCCCXFPZNZZLJPLXXYZTZLGDLDCKLYRZZGQTGJHHGJLJAXFGFJZSLCFDQZ      " + "LCLGJDJCSNCLLJPJQDCCLCJXMYZFTSXGCGSBRZXJQQCTZHGYQTJQQLZXJYLYLBCYAMCSTYLPDJBYREGKJZYZHLYSZQLZNW      " + "CZCLLWJQJJJKDGJZOLBBZPPGLGHTGZXYGHZMYCNQSYCYHBHGXKAMTXYXNBSKYZZGJZLQJDFCJXDYGJQJJPMGWGJJJPKQSB      " + "GBMMCJSSCLPQPDXCDYYKY CJDDYYGYWRHJRTGZNYQLDKLJSZZGZQZJGDYKSHPZMTLCPWNJZFYZDJCNMWESCYGLBTZCGMSS      " + "LLYXQSXSBSJSBBSGGHFJLYPMZJNLYYWDQSHZXTYYWHMZYHYWDBXBTLMSYYYFSXJC TXXLHJHF SXZQHFZMZCZTQCXZXRTT      " + "DJHNNYZQQMNQDMMG YTXMJGDHCDYZBFFALLZTDLTFXMXQZDNGWQDBDCZJDXBZGSQQDDJCMBKZFFXMKDMDSYYSZCMLJDSYN      " + "SPRSKMKMPCKLGDCQTFZSWTFGGLYPLLJZHGJ GYPZLTCSMCNBTJBQFKTHBYZGHPBBYMTDSSXTBNPDKLEYCJNYDDYKZTDHQH      " + "SDZSCTARLLTKZLGECLLKJLQJZQNBDKKGHPJTZQKSECSHALQFMMGJNLYJBBTMLYZXDCJPLDLPCQDHZYCBZSCZBZMSLJFLKR      " + "ZJSNFRGJHXPDHYJYBZGDLJCSEZGXLBLHYXTWMABCHECMWYJYZLLJJYHLG DJLSLYGKDZPZXJYYZLWCXSZFGWYYDLYHCLJS      " + "CMBJHBLYZLYCBLYDPDQYSXQZBYTDKYYJY CNRJMPDJGKLCLJBCTBJDDBBLBLCZQRPPXJCGLZCSHLTOLJNMDDDLNGKAQHQH      " + "JHYKHEZNMSHRP QQJCHGMFPRXHJGDYCHGHLYRZQLCYQJNZSQTKQJYMSZSWLCFQQQZYFGGYPTQWLMCRNFKKFSYYLQBMQAMM      " + "MYXCTPSHCPTXXZZSMPHPSHMCLMLDQFYQFSZYJDJJZZHQPDSZGLSTJBCKBXYQZJSGPSXQZQZRQTBDKYXZKHHGFLBCSMDLDG      " + "DZDBLZYYCXNNCSYBZBFGLZZXSWMSCCMQNJQSBDQSJTXXMBLTXZCLZSHZCXRQJGJYLXZFJPHY ZQQYDFQJJLZZNZJCDGZYG      " + "CTXMZYSCTLKPHTXHTLBJXJLXSCDQXCBBTJFQZFSLTJBTKQBXXJJLJCHCZDBZJDCZJDCPRNPQCJPFCZLCLZXZDMXMPHJSGZ      " + "GSZZQLYLWTJPFSYAXMCJBTZYYCWMYTCSJJLQCQLWZMALBXYFBPNLSFHTGJWEJJXXGLLJSTGSHJQLZFKCGNNDSZFDEQFHBS      " + "AQTGYLBXMMYGSZLDYDQMJJRGBJTKGDHGKBLQKBDMBYLXWCXYTTYBKMRTJZXQJBHLMHMJJZMQASLDCYXYQDLQCAFYWYXQHZ"

for i = 1 to letterlen

if asc(mid(thisletter,i,1)) > 160 then
hz = mid(thisletter,i,2)
qw = 100 * asc(left(hz,1)) + asc(right(hz,1)) - 17760

if qw < 1 then
pystring = pystring + "V"
else
pystring = pystring + mid(letter,qw,1)
end if

i = i + 1
else
pystring = pystring + mid(thisletter,i,1)
end if

next

return trim(pystring)

#4


你这个还是很复杂的,尤其那里解mac时用long转换似乎不能达到效果

#5


得到结果与你想要的不同,不知道哪里不对,

还有你的结果:
机器中得到的(网卡MAC:00-25-64-F4-B8-79;公司名称:HLJYHDTYYYXGS;硬盘序列号:-WCAV2F422784WD)
软件序列号:5280-7007-6803-2066

是怎么得来的,你用的pb的版本是多少

#6


引用 2 楼 xys_777 的回复:
lz明显不地道,昨天datawidnow我给你解释出来,你却把分给别人


#7


LZ 是不是想搞什么破坏呢?

#8


网卡MAC是机器里的,算出的网卡序列号为:0,37,100,244,184,121;公司名称是公司全名的每一个字母;硬盘序列号是硬盘物理序号,实际应为WD-WCAV2F422784,软件注册时体现的硬盘序列号为:-WCAV2F422784WD,软件序列号:5280-7007-6803-2066是数据库里存的,这个就是最后生成的sn。我用的是PB9.0,但算来算去,没算出这个结果。晕了。

#9


算出的网卡序列号为:0,37,100,244,184,121

这个可以算出阿里



5280-7007-6803-2066

这个算出来不一致

#10


5280-7007-6803-2066
这个结果是谁算的

#11


软件公司给的注册码

推荐阅读
author-avatar
迷彩三角裤_625
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有