大家好,问题是这样的,用户随机输入一组字符串,比如“ABC中发白DEF大中小”,但是在Memo中要显示成这样:
ABC
中发白
DEF
大中小,或是当用户输入“中发白ABC大中小DEF”时,显示如下:中发白
ABC
大中小
DEF就是说当字符状态改变时,就换行显示。请指教...

解决方案 »

  1.   

    自己断字,没有一点规律怎么搞
    或者把需要断开的地方加上标记,自己处理
    或者这样
    '中发白'+#10#13+'ABC'+#10#13+'大中小'+#10#13+'DEF',加换行符标记,直接自动就换行了
      

  2.   

    Memo是没用这个功能的
    需要自己手动加#13#10
      

  3.   

    现场编写,有误无责。
    procedure SetMemoText(Memo: TMemo; Data: string);
    var
        i, DataLen: integer;
        StrTemp: string;
    begin
        DataLen := Length(Data);
        StrTemp := Data[1];
        for i := 2 to DataLen do
        begin
            if ((StrTemp[1] < chr(128)) and (Data[i] < chr(128)))
               or ((StrTemp[1] >= chr(128)) and (Data[i] >= chr(128)))  then
            begin
                StrTemp:= StrTemp + Data[i];
            end else
            begin
                Memo.Lines.Add(StrTemp);
                StrTemp := Data[i];
            end;
        end;
        Memo.Lines.Add(StrTemp);
    end;