如题

解决方案 »

  1.   

    AnsiString 不过这是4个字节表示一个字符的。
      

  2.   

    上次听说在编译开关处加上{$H},但我未试成功!
    给一你个方法:
    如果字符串s:='aaaaaaaaaaaaaaaaaaaa';中的‘aaaaaaaaaaa’超过了255的话
    那么你就使用s:='aaaaaaaaaa'+'aaaaaaaaaaaaaaa'+'......';
    绝对可行!
    19分也不能错过啊!
      

  3.   

    你多虑了,string默认就是widrstring的,你可以不去理会255的限制
      

  4.   

    错,String能放多上内容取决于编译开关H,{$H+}使用AnsiString也可而WideString和这问题无关,它基于WideChar 字符类型,WideChar 字符为双字节Unicode 字符!
      

  5.   

    1. 最大长度
       ShortString:255    AnsiString:2^31=2G    WideString:2*2^30=2G
    2. var S: string;
       如上定义,在默认状况或{$H+}状况下,S是AnsiString。在{$H-}状况下S是
       ShortString。当然,以上说的不是var S: string[20]这种情况。
    3. 所以,尽管使用string类型,不用有什么顾虑。
    4. WideString由于采用双字节字符,可能在处理中文字符串方面有优势。
      

  6.   

    请问楼上的老大:
    String能放多上内容取决于编译开关H,{$H+}
    是怎么设置呢
      

  7.   

    l_xiaofeng(流水不腐)说的有道理,
    Delphi中是不允许两个单引号括起来的字符数大于255,但可以用他说的+的方法得到大于255的字符串,这并不是string类型长度的限制。
      

  8.   

    在默认的情况下,String是AnsiString,可以表示不超过2G的的字符串,不是255的,除非使用{$H-}这时就是ShortString只有255的。
    注意常量不可以直接超过255的,必须使用+符号连接,正如l_xiaofeng(流水不腐)所说的
      

  9.   

    String能放多上内容取决于编译开关H,{$H+}--是怎么设置呢?
    在代码任意窗口按CTRL+O+O(连续点两次O键)你会看到很多指令!
      

  10.   

    還有一種方法利用變量這個中介
    如:
        var txt:string;
          
        txt:=txt+'ssssssssssssssssssss';如這里的s>255
        txt:=txt+'ssssssssssssssssssss';這里還可以放入255個
    依次推