如下,我以及从一个自定义函数中取得返回值形如下面的字符串:俆p ?L揨j懇€{€(x>,鋉埀倴煝? X!稞-_呓齊狎蚮嬪gyx?o6饵m?NX掑q寺?d9K]f?蓸衪
+??嫣]?*:杯潲i(礓:3?熕仫?蹖?砸=榀螗pn[h?匰Jb_ 鳔H騬$?vJ駸?
S萻磋|侤?庆??,囦_拞v[HhレYz??n5V脷 gk\%7?硎#絧殬霋鑊p荣蛂蛛瞄]很多很多的...
我现在想将这些全部显示在MEMO中,可是怎么只能显示前面的几个,函数没有错的,在result中可以看到要返回的结果。
调用的显示语句:
memo2.Text:=Compress(memo1.Text);请问:该如何修改才能显示出来?怎么才能将全部都显示出来MEMO中?

解决方案 »

  1.   

    乱码呀,有一些可能是没有办法显示的.你的Compress函数,处理后,会不会字符串中,会不会有#0,呀,有的话,#0后面的字符串是不显示的
      

  2.   

    #0 ,就会认为字符串已经结束,后边的字符也就不会显示了,和c/c++的\0一样;>>最好不要文件保存有一种方法是将这些Compress之后的字符串缓冲,再转一次,转为可显示的字符串比如Compress之后的字符串: A#0B#AC  这里一共5个字节,就转为10个字节,
    也就是一个Acsii码转为两个字符号来表示 
    A,B,C的ACSII码是65,66,67,16进制就是$41,$42,$43
    #0,#A的ACSII码是0,10,转为16进制就是$00,$0A合起来就是: '4100420A43' 这个是可以显示,保存当然也没有问题;当然配套再加一个函数,当上面的两个字节,合为一个acsii码,即可用来解压回去具体的算法,楼主可以自己写一写.呵呵,这种方法,是比较啰嗦一点,不过很有效