可以函数可以做到大于5字符自动加一个空格。呵呵,怎么你的话这么像周总理在国庆节时的讲话呀 :) function Txscjs.xskcname: string; var id1,ss:string; begin id1:=trim(朋友们21,同志们); if length(id)>5 then begin ss:=copy(id,0,5)+' '+copy(id,6,(length(id)-5)); result:=ss; end else result:=id; end;
同志们 21,朋友们 朋友2 1,同志们好即从第5个字符开始加空格,假如第5个字符为汉字,则从第6个字符开始加空格。------------------------------------------------------------------你的示例是在第六个字符位加空格 , if ord(s[6]) > 128 then s := Copy(s,1,6) + ' ' + Copy(s,7,Length(s)-6) else s := Copy(s,1,5) + ' ' + Copy(s,6,Length(s)-5) ; ShowMessage(s + ' ' + IntToStr(Length(s))) ;
用WideString就很方便了,根本就不存在这问题!
上面的不对, ----------------------------------------- if ord(s[5]) > 128 then s := Copy(s,1,6) + ' ' + Copy(s,7,Length(s)-6) else s := Copy(s,1,5) + ' ' + Copy(s,6,Length(s)-5) ; ShowMessage(s + ' ' + IntToStr(Length(s))) ;
function Txscjs.xskcname: string;
var
id1,ss:string;
begin
id1:=trim(朋友们21,同志们);
if length(id)>5 then
begin
ss:=copy(id,0,5)+' '+copy(id,6,(length(id)-5));
result:=ss;
end
else
result:=id;
end;
朋友2 1,同志们好即从第5个字符开始加空格,假如第5个字符为汉字,则从第6个字符开始加空格。------------------------------------------------------------------你的示例是在第六个字符位加空格 ,
if ord(s[6]) > 128 then
s := Copy(s,1,6) + ' ' + Copy(s,7,Length(s)-6)
else
s := Copy(s,1,5) + ' ' + Copy(s,6,Length(s)-5) ;
ShowMessage(s + ' ' + IntToStr(Length(s))) ;
-----------------------------------------
if ord(s[5]) > 128 then
s := Copy(s,1,6) + ' ' + Copy(s,7,Length(s)-6)
else
s := Copy(s,1,5) + ' ' + Copy(s,6,Length(s)-5) ; ShowMessage(s + ' ' + IntToStr(Length(s))) ;
ws := Copy(ws,1,1) ;
// ws = '1234' ----> '1'
// ws = '我爱我家' ----> '我'