m = space(0)

学习 时间:2026-04-07 22:59:02 阅读:5005
m = space(0)c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"for i = 1 to len(c)nc = asc(substr(c,i,1))if nc>64 and nc86m = m+chr(65+nc-87)ELSEm = m+chr(nc+4)ENDIF else IF nc>120m = m+chr(97+nc-121)ELSEm = m+chr(nc+2)ENDIF endifendfor wait window c+"字符加密后后"+mm = m+chr(65+nc-87)是什么意思?我知道这是在ASCII中的位置,但我不明白为什么要这样写还有 ELSEm = m+chr(nc+4)为什么不直接写成m = m+chr(nc+4)而要加ELSE呢?以及nc>120为什么要>X的位置呢?当然后面的m = m+chr(97+nc-121)一点也不懂......尽量写详细一点.我们周一有VFP课,所以请您尽快.我有很多问题要问您!

最佳回答

坚强的心情

单身的大门

2026-04-07 22:59:02

字符加密后,按你的要求,需要形成一个循环,即W转换为A,X转换为B,以后类推,我将你的代码修改为:if nc>86 && 如果满足条件,执行以下代码m = m+chr(65+nc-87)ELSE &&如果不满足前面条件,执行以下代码,有”否则“的意思m = m+chr(nc+4)ENDIF其中else后的m = m+chr(nc+4)是正常的延退4个字母加密转换,其意义自己去领会,但仅对NC86。chr(65+nc-87)其实就是chr(nc-22)的具体意义,请见以下推理:chr(87)="W"→A=chr(65),nc=87,chr(65+nc-87)=CHR(65+87-87)=CHR(65)=Achr(88)="X"→B=chr(66),nc=88,chr(65+nc-87)=CHR(65+88-87)=CHR(66)=Bchr(89)="Y"→C=chr(67),nc=89,chr(65+nc-87)=CHR(65+89-87)=CHR(67)=Cchr(90)="Z"→D=chr(68),nc=90,chr(65+nc-87)=CHR(65+90-87)=CHR(68)=D至于m = m+chr(97+nc-121)也就是m=m+chr(nc-24)的意义,跟上面的原理差不多,仅提示一点,大写字母的加密转换是延退4个字母,小写字母的加密转换是延退2个字母,所以是ASCII值大于120的“y","z"就要进行循环转换为 ”a","b",chr(120)="x"chr(97)=“a"

最新回答共有2条回答

  • 勤劳的蚂蚁
    回复
    2026-04-07 22:59:02

    字符加密后,按你的要求,需要形成一个循环,即W转换为A,X转换为B,以后类推,我将你的代码修改为:if nc>86 && 如果满足条件,执行以下代码m = m+chr(65+nc-87)ELSE &&如果不满足前面条件,执行以下代码,有”否则“的意思m = m+chr(nc+4)ENDIF其中else后的m = m+chr(nc+4)是正常的延退4个字母加密转换,其意义自己去领会,但仅对NC86。chr(65+nc-87)其实就是chr(nc-22)的具体意义,请见以下推理:chr(87)="W"→A=chr(65),nc=87,chr(65+nc-87)=CHR(65+87-87)=CHR(65)=Achr(88)="X"→B=chr(66),nc=88,chr(65+nc-87)=CHR(65+88-87)=CHR(66)=Bchr(89)="Y"→C=chr(67),nc=89,chr(65+nc-87)=CHR(65+89-87)=CHR(67)=Cchr(90)="Z"→D=chr(68),nc=90,chr(65+nc-87)=CHR(65+90-87)=CHR(68)=D至于m = m+chr(97+nc-121)也就是m=m+chr(nc-24)的意义,跟上面的原理差不多,仅提示一点,大写字母的加密转换是延退4个字母,小写字母的加密转换是延退2个字母,所以是ASCII值大于120的“y","z"就要进行循环转换为 ”a","b",chr(120)="x"chr(97)=“a"

上一篇 "有些事错过就是一辈子,有的人一转身就是永远'这句话是什么意思

下一篇 That girl has long hair .She is tall and slim .She looks ver