大家好  我在看书的时候 遇到这个问题了  因为书上没有对代码进行解释  自己查了些资料 也没看懂是什么 意思。所以请大家帮帮忙  谢谢  以下是加密代码var i:integer;
sstr,sresult:string[100];----什么意思?
spws:word;
begin
sstr:edit2.text;
spws:strtoint(edit1.text);  
sresult[0]:=sstr[0];----什么意思?
for i:=1 to length(sstr) do ----什么意思?
begin
sresult[i]:=char(byte(sstr[i])xor(spws shr 8));----什么意思?
spws:=(byte(sresult[i])+spws)*c1+c2;----什么意思?

解决方案 »

  1.   

    世界上的代码加在一起有多少?难道每一句都给你解释?
    string[100] 最大长度为100的字符串,第一个字符前一个字节是该字符串长度
    sstr[0]就sstr的长度,即字符数
    char(byte(sstr[i])xor(spws shr 8)) xor是异或操作符,shr是算术右移操作符,byte(sstr[i])和byte(sresult[i])这样的强制类型不用说了吧?
    火了,送楼主两个字。SB。为什么这么弱智呢,为什么呢,这是为什么呢……
      

  2.   

    To a8196041 这的确是最基础的语法问题,如果连这个都不会,我劝你还是别来问的好,呵呵,忠言逆耳.
      

  3.   

    各位要低调点,学术应该是无低贱,不过还是应该先把基础学好,再深层探讨问题!
    string[100]是定义字符串的长度
    sresult[0]:=sstr[0];----则是把edit2.text的第一个字符赋给sresult[0],既是sresult的第一个字符.
    for 为循环从edit2.text的第一个字符开发循环执行下面的语句.
    char(byte(sstr[i])xor(spws shr 8))中xor是去异或的意思,关于异或楼主可以看些程序基础的书,也要多了解下pascal程序语言.