var s, sub: string; i, n: Integer; Flag: Boolean; begin s := '一123二1三四五六七八九'; n := 长度; Flag := False; for i := 开始 to 结束 do if (Ord(s[i]) and $80) <> 0 then Flag := not Flag; //汉字占两个字节,而且各个字节的最高为都为1,字符占一个字节,最高位为0 if Flag then Inc(n); // or Dec(n) Sub := Copy(s, 1, n); end;
s, sub: string;
i, n: Integer;
Flag: Boolean;
begin
s := '一123二1三四五六七八九';
n := 长度;
Flag := False;
for i := 开始 to 结束 do
if (Ord(s[i]) and $80) <> 0 then Flag := not Flag;
//汉字占两个字节,而且各个字节的最高为都为1,字符占一个字节,最高位为0
if Flag then Inc(n); // or Dec(n)
Sub := Copy(s, 1, n);
end;
如何解决?