在delphi 7里
  char1:=chr(152);
char1得到的是:#$98在delphi 2010里
  char1:=chr(152);
char1得到的是:#$0098我现希望在delphi 2010里,char1得到#$98,不要#$0098,应如何操作?各位大虾请指点我一下!谢谢了!

解决方案 »

  1.   

    截掉?!!这个如何操作?在delphi 2010里  char1:=chr(152);这里chr后得到的是一个字符“#$0098
    ”,是一个双字节的单个字符,不是一个字符串。单个字符是如何能截取?!
      

  2.   

    Delphi里有个截取低字节的函数Lo,可以试试
    例如Lo($0098);//返回$98
      

  3.   

    Lo函数里只能用整型。而chr这里返回的是一个char型
      

  4.   


    var
      Char1: AnsiChar;
    begin
      Char1 := AnsiChar(152);
    end;
      

  5.   


    楼上朋友的这个结果char1依然是152,而没有经过chr函数。我主要是要用这个chr函数给它一个值,得出这个值对应的字符,现在chr得出的是双字节,我只需要这个双字节里的后面一个字节的值。或者这个疑问应这样提,就是在delphi 2010中,如何把一个双字节的char类型分成两个ansichar的类型,分别来存这个char类型的两个字节的内容。
      

  6.   

    是不是楼主想复杂了,我一般就用ansichar换char,用ansistring换string 能解决大部分这类D7和D2010切换问题
      

  7.   


    麻烦就在于若用char1:=ansichar(chr(152));
    那得到的就是一个乱的字符,荋不是所需要的#$98