其他分享
首页 > 其他分享> > Delphi TStringList DBMemo 文字处理 删除多余换页符

Delphi TStringList DBMemo 文字处理 删除多余换页符

作者:互联网

    在将文字存入数据库时,常通过TStringList进行逐行分段处理后,再通过DBMemo存入数据。但是Delphi的TStringList控件,通过Text存入数据时,它的最后一行是一个换页符。在打印时,就会多出一个空白行。

    DBMemo效果:

 正常的打印:

一个空白行,有时造成打印的溢出。

问题解决:

一、Delphi10以下

TStringList,默认最后一行有#13#10字符(换页),可以通过删除最后的#13#10字符

    编程做一个函数解决:

function PrintText(S:string):String;   //  删除最后一行换页符
var l:integer;
begin
  l:=Length(S);
  if S[l]=#10 then Delete(s,L,1);
  l:=Length(S);
  if S[l]=#13 then Delete(s,L,1);
//  l:=Length(S);
//  if S[l]=#10 then Delete(s,L,1);
  PrintText:=S;
end;

     在通过TStringLists格式化字符时,通过PrintText过一下,再保存进DBMemo中。这样,彻底删除换页符。后期打印效果就不受影响。

    二、Delphi10以上

    Delphi10以上版本,TStringList有了改进,增加一些属性。

    设置TrailingLineBreak属性即可:

MyListt.TrailingLineBreak := False;

    三、常规处理

var MyList:TStringList;
begin
  ClientDataSet1.Edit;
  MyList:=TStringList.Create;

  MyList.Text:=DBRichEdit1.Text;
  FormatText(MyList);                                             // 格式化 StringList
  DBRichEdit1.Text:=PrintText(MyList.Text);

  MyList.Text:=DBRichEdit2.Text;
  FormatText(MyList);                                             // 格式化 StringList
  DBRichEdit2.Text:=PrintText(MyList.Text);

  MyList.Text:=DBRichEdit3.Text;
  FormatText(MyList);                                             // 格式化 StringList
  DBRichEdit3.Text:=PrintText(MyList.Text);

  MyList.Text:=DBRichEdit4.Text;
  FormatText(MyList);                                             // 格式化 StringList
  DBRichEdit4.Text:=PrintText(MyList.Text);

  MyList.Text:=DBRichEdit5.Text;
  FormatText(MyList);                                             // 格式化 StringList
  DBRichEdit5.Text:=PrintText(MyList.Text);

  MyList.Text:=DBRichEdit6.Text;
  FormatText(MyList);                                             // 格式化 StringList
  DBRichEdit6.Text:=PrintText(MyList.Text);
  MyList.Free;
  UpDataClientOne(ClientDataSet1,'个案_接案'); // ClientDataSet保存更新数据

标签:文字处理,TStringList,Text,Delphi,FormatText,PrintText,MyList,格式化
来源: https://blog.csdn.net/lyhoo163/article/details/122490447