删除文本文件中的多余空格
2008-04-09 04:17:37来源:互联网 阅读 ()
我们从网上粘下这类文本文件之后,有时候需要 打印留存,但在打印时却遇到了麻烦,那就是汉字中的空格成为多余。以下Delphi程序利用Memo 控件作为过渡,可删除文件中的多余空格,重新存盘后,即可方便的用Word或Wps打印输出。
1、新建一个工程,在窗体上放置如下控件:Memo1、OpenDialog1 和3个按钮(“打开”、“存盘”、“删除多余空格”),设置Memo1的属性WordWrap=False,设置“存 盘”和“删除多余空格”的属性Enabled=False。
2、编写三个按钮的事件代码。
procedureTForm1.ToolButton1Click(Sender:TObject); begin//打开一个文本文件 ifopendialog1.Executethenbegin memo1.Lines.LoadFromFile(opendialog1.FileName); caption:=DeleteBlank[ opendialog1.FileName ]; ifmemo1.Lines.Count<>0thenbegin toolbutton2.Enabled:=True; toolbutton3.Enabled:=True; end elsebegin toolbutton2.Enabled:=False; toolbutton3.Enabled:=False; end; end; end; procedureTForm1.ToolButton2Click(Sender:TObject); begin//将Memo1的内容写入原来文件 screen.Cursor:=crHourGlass; memo1.Lines.SaveToFile(opendialog1.FileName); toolbutton2.Enabled:=False; screen.Cursor:=crDefault; end; procedureTForm1.ToolButton3Click(Sender:TObject); vari,j,linecount,strlen:integer; buffer1,buffer2:string; begin//删除Memo1中的多余空格 screen.Cursor:=crHourGlass; linecount:=memo1.Lines.Count; //总行数 fori:=0tolinecount-1dobegin buffer1:=memo1.Lines[i]; iflength(trim(buffer1))=0thencontinue; //处理空白行 buffer2:=; strlen:=length(buffer1); //行长 j:=1; while(j<=strlen)and(buffer1[j]=)dobegin //跳过行首空格 j:=j 1; buffer2:=buffer2 ; end; whilej<=strlendobegin buffer2:=buffer2 buffer1[j]; ifj=strlenthenbreak; //行尾则退出循环 j:=j 1; ifbuffer1[j]<>thencontinue; //不为空格,则处理下一个字符 iford(buffer1[j 1])>=$A1thenbegin //后一个为汉字,则删除这个空格 j:=j 1; continue; end; end; memo1. es[i]:=buffer2; end; toolbutton3.Enabled:=False; screen.Cursor:=crDefault; end;
3、本程序在PWin95/98,Delphi3下调试通过,由 于篇幅所限,Memo1中的显示不能自动换行,读者可自行完善。
[阿昊说:这种技巧用C来实现可能会简单些。另 外,我们只在汉字前加一个空格,后面没有。]
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Delphi下编程实现中文输入
下一篇:实现应用程序的文件拖放功能
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash