Function MitiLine (Str:String;N:Integer):String; var L,I:Integer; Strs:String; Begin L:=Length(Str); L:=Round(L/N+0.5); If L=0 Then begin Result:=Str; Exit; End; For I:=1 To L Do Strs:=Strs+Copy(Str,N*(I-1)+1,N)+#13; Result:=Strs; End; *************************************************** 比如MitiLine(str,10),隔10个换行,应该可以??
str: String;
begin
str := 'line1'+
'line2';
'bgdf...';
'sss' +
'aaa';
str = 'dksfjs'+
'kdfjskdf';
如果想在显示时换行:
str:= 'ksdf' + #13 + 'ksdfj';
var
L,I:Integer;
Strs:String;
Begin
L:=Length(Str);
L:=Round(L/N+0.5);
If L=0 Then
begin
Result:=Str;
Exit;
End;
For I:=1 To L Do Strs:=Strs+Copy(Str,N*(I-1)+1,N)+#13;
Result:=Strs;
End;
***************************************************
比如MitiLine(str,10),隔10个换行,应该可以??
只不过他没有考虑到一个问题,
如果这一串字符中有“汉字”,这个方法还需要
改进(例如字符串“123中国890”,你要执行
MitiLine (“123中国890”,5)的话,第一行出来的结果
没问题,第二、三、四行出来的结果就有问题了)
Str:='asdfasdfasdfasd'
+'asdfasdfasdf'
+'中文也没关系'
+'都一样';
要大,至于分界线是多少,我忘了,我给你查查...