2007年12月7日//..处理中英文混杂左截取
function LeftStrEx(const AText: string; ACount: Integer): string;
var
I,ChrLen,
BreakLen:Integer;
IsMBCS:Boolean;
begin
I := 1;
BreakLen := 0;
IsMBCS := False;
if Length(AText)>ACount then
begin
while I<=ACount do
begin
if AText[I] in LeadBytes then
begin
ChrLen := CharLength(AText,I)-1;
I:= I + ChrLen;
//说明AText[ACount]不是一个中文字符的末尾
if I>ACount then
begin
IsMBCS := True;
BreakLen := I - ChrLen - 1;
Break;
end;
end;
//..
Inc(I);
end;
end;
//AText[ACount]不是半个中文字符
if not IsMBCS then
Result := LeftStr(AText,ACount)
else
Result := LeftStr(AText,BreakLen);
end;
转载于:https://www.cnblogs.com/pilybird/archive/2007/12/07/986711.html