sBuf字符串在R1(RichEdit)裡顯示,行未就會有亂碼,因為漢字是用兩字節,這是Delphi的BUG嗎?

解决方案 »

  1.   

    procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    begin
       RichEdit1.Lines.Add(Socket.ReceiveText); //简单又方便,为什么不用?
    end;
      

  2.   

    TO:zswang(伴水)(CSDN慢死了) ,如果我不僅僅只是字符,Socket.ReceiveText,用這個也行嗎?
      

  3.   

    TO:zswang(伴水)(CSDN慢死了),我剛剛用你的方法試了一下,也有同樣的情況出現喲
    TO: genphone_ru(票票) ,MEMO不能解決顏色的問題.
      

  4.   

    呵呵,看你的代码眼熟好像是《Delphi网络高级编程》的代码吧,其实没有必要
    var re:pchar;
        sbuf:string;
        relong:integer;
    begin
    re:=nil;
    re:=allocMem(socket.ReceiveLength); 
       TRY
         relong:=socket.ReceiveLength;
         socket.ReceiveBuf(re^,socket.ReceiveLength);
         sBuf:=strpas(re);
         R1.Lines.Add(sBuf);
       Finally
        Freemem(re);
       end;      
      end;
    end;
    直接读就行,另外

      inherited;’
    干吗加这个?没有必要
      
      
      

  5.   

    TO title(桶漆底脱) ,大同小異呀,能解決我的問題嗎?
      

  6.   

    你发送其他的如string都没有问题?
      

  7.   

    一定看一下這個: http://www.csdn.net/expert/topic/936/936452.xml?temp=.8518335
    先去吃飯了,下午等待大家的回答。
      

  8.   

    使用Dhtmledit 组件。  比richedit好百倍,也不会有乱麻的问题了。