/// <summary>
/// 函数名称: LabelAutoWrap(SubStr: string;Count:Integer): string;
/// 功能描述: 使Label变成自动变行
/// 编写日期: 2012.07.03
/// </summary>
/// <param name="SubStr">string: 源字符串</param>
/// <param name="Count">Integer: 每行的字符个数</param>
/// <returns>string: 能够自动变行的字符串</returns>
function LabelAutoWrap(SubStr: string;MaxCount:Integer): string;
var
DestStr:string;
tmpstr:string;
LtmpCount:Integer; //每行的个数
buf : array [0..199]of Char;
begin
DestStr :=EmptyStr;
if Length(SubStr) >= MaxCount then
begin
while SubStr <> EmptyStr do
begin
tmpstr :='';
FillChar(buf,SizeOf(buf),#0);
LtmpCount :=MaxCount;
if ByteType(SubStr,MaxCount)= mbLeadByte then
LtmpCount := LtmpCount-1;
StrLCopy(buf,PChar(SubStr),LtmpCount);
Delete(SubStr,1,LtmpCount);
tmpstr := buf;
if DestStr <> EmptyStr then
DestStr :=DestStr+#13+Trim(tmpstr)
else
DestStr := tmpstr;
end;
Result := DestStr;
end
else
Result := SubStr;
end;
/// 函数名称: LabelAutoWrap(SubStr: string;Count:Integer): string;
/// 功能描述: 使Label变成自动变行
/// 编写日期: 2012.07.03
/// </summary>
/// <param name="SubStr">string: 源字符串</param>
/// <param name="Count">Integer: 每行的字符个数</param>
/// <returns>string: 能够自动变行的字符串</returns>
function LabelAutoWrap(SubStr: string;MaxCount:Integer): string;
var
DestStr:string;
tmpstr:string;
LtmpCount:Integer; //每行的个数
buf : array [0..199]of Char;
begin
DestStr :=EmptyStr;
if Length(SubStr) >= MaxCount then
begin
while SubStr <> EmptyStr do
begin
tmpstr :='';
FillChar(buf,SizeOf(buf),#0);
LtmpCount :=MaxCount;
if ByteType(SubStr,MaxCount)= mbLeadByte then
LtmpCount := LtmpCount-1;
StrLCopy(buf,PChar(SubStr),LtmpCount);
Delete(SubStr,1,LtmpCount);
tmpstr := buf;
if DestStr <> EmptyStr then
DestStr :=DestStr+#13+Trim(tmpstr)
else
DestStr := tmpstr;
end;
Result := DestStr;
end
else
Result := SubStr;
end;