我用delphi从c++写的dll中导出了一个字符串。
字符串中有一些'\n'字符,这些字符在c++中是换行用的,但我在delphi中输出的时候却不换行,而是直接输出'\n'。这个问题怎么解决。如果能知道delphi中用怎么字符代表换行就可以直接解决这个问题了

解决方案 »

  1.   

    在字符串中怎么替换呢?
    是不是这样的。var temp:string;//temp是从c++中得到的字符串
    for i:= 0 to length(temp) do
    begin
      if(temp[i] = '\n'的integer值) then
           temp[i] = '#13';
    end;对吗?
      

  2.   

    #13是回车
    #10才是换行!另外temp[i]= '#13'是错误语法,应该为temp[i] := #13最后,不知道你要做什么,这样转换字符串好象有点不论不类!:)
      

  3.   

    blueshu说
    给分
    在c++中可以有这样的字符串
    "3094\n3084"
    但在delphi中的#10却不能当\n用,有没有比较好的解决方法。比如下面的字符串就不能自动换行
    "83048#1090840"
      

  4.   

    "3094\n3084"===>3094#13#103084
    在某些控件可以显示,如TLABEL,有些则不行,如TEDIT.
      

  5.   

    >>在字符串中怎么替换呢?
    S:='123\n456';
    S:=StringReplace(S,'\n',#13#10,[rfReplaceAll]);
      

  6.   

    在delphi有一个截取到指定位置的函数,先重前向后截取到/n,然后在重后
    向前截取到/n这样就把这个字符串串给分开了。
      

  7.   

    zwjchina(蒲石)是正确的
    要注意不是所有组件的字符都可以换行输出的