一个字符区分的问题。挺有意思的哦!(10分)

  • 主题发起人 主题发起人 子弹
  • 开始时间 开始时间

子弹

Unregistered / Unconfirmed
GUEST, unregistred user!
要把一个包括符号的一句中文,分成几部分分别显示。怎样才不会把一个中文字分成两
半,而出现乱码。哪位高手知道?
 
试试这个(注意括号的中英文方式)
procedure TForm1.Button1Click(Sender: TObject);
var
aa: WideString;
begin
aa:= '张三(你好';
edit1.text:=copy(aa,1,pos('(',aa)-1);
edit2.text:= inttostr(pos('(',aa));
end;
 
你可以先在论坛中找到关于识别汉字的方法,具体的我记不清楚了,
然后判断一下就可以了,不会很难
 
gwbbxiong回答是正确的,关键在于定义变量的需要为widestring,如果定义为string就无
法区分中英文了。
 
转成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;
 
后退
顶部