子 子弹 Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-02 #1 要把一个包括符号的一句中文,分成几部分分别显示。怎样才不会把一个中文字分成两 半,而出现乱码。哪位高手知道?
G gwbbxiong Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-02 #2 试试这个(注意括号的中英文方式) procedure TForm1.Button1Click(Sender: TObject); var aa: WideString; begin aa:= '张三(你好'; edit1.text:=copy(aa,1,pos('(',aa)-1); edit2.text:= inttostr(pos('(',aa)); end;
试试这个(注意括号的中英文方式) procedure TForm1.Button1Click(Sender: TObject); var aa: WideString; begin aa:= '张三(你好'; edit1.text:=copy(aa,1,pos('(',aa)-1); edit2.text:= inttostr(pos('(',aa)); end;
Y yypeng Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-02 #3 你可以先在论坛中找到关于识别汉字的方法,具体的我记不清楚了, 然后判断一下就可以了,不会很难
J jobsxy Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-02 #5 gwbbxiong回答是正确的,关键在于定义变量的需要为widestring,如果定义为string就无 法区分中英文了。
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-09-02 #6 转成WideString再切分就不会有问题: procedure TForm1.Button1Click(Sender: TObject); var s:string; ws:widestring; i:Integer; begin s:='AB地一c下上1'; ws:=s; for i:=1 to length(ws) do showmessage(copy(ws,1,i)) end;
转成WideString再切分就不会有问题: procedure TForm1.Button1Click(Sender: TObject); var s:string; ws:widestring; i:Integer; begin s:='AB地一c下上1'; ws:=s; for i:=1 to length(ws) do showmessage(copy(ws,1,i)) end;