转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
删除文本文件中的多余空格         ★★★★

删除文本文件中的多余空格

作者:闵涛 文章来源:闵涛的学习笔记 点击数:993 更新时间:2009/4/23 18:24:18
p>  计算机世界的Web站点,越来越受到广大读者和网 友的喜爱,其中有一个重要原因,就是实用技巧栏目的推出。在实用技巧网页中,编辑对文 本文件进行了处理,在每个汉字中间增加一个空格,以便于网友在网上阅读,在因特网上也 有不少网站采取了此类便民措施。

  我们从网上粘下这类文本文件之后,有时候需要 打印留存,但在打印时却遇到了麻烦,那就是汉字中的空格成为多余。以下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来实现可能会简单些。另 外,我们只在汉字前加一个空格,后面没有。]


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台