用VB实现象Windows记事本的一些功能.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用VB实现象Windows记事本的一些功能

内容:讨论如何在用VB编写的记事中实现自动将日志添加到文档尾部、判断保存还是另存为、确认文件是否需要保存等功能。 Windows自带的记事本即Notepad有一些功能还是颇具吸引力的,比如自动在特定的文档尾部加入计算机时钟的时间和日期,截取已经打开或者保存了的纯文档名[见记事本的标题栏]以及搜索等,给用户带来许多方便。本文就TextBox控件讨论如何实现这些功能。 一、将日志添加到文档 在Windows中,如果文档的第一行最左边有.LOG字样,那么每次用记事本打开此文时,记事本会自动在文档尾部加入时间日期。 .LOG共占四个字节,又置于文档第一行顶格处,因此可以用VB的Left函数来读取这个字符串,如有,则用CStr函数来自动添加时间和日期。 我们可以在打开文件的程序加入以下代码: DimaAsString a=Left(Text1.Text,4)取得头4个字节 Ifa=.LOGThen若有则: Text1.SelStart=Len(Text1.Text)光标移到文件尾 Text1.SelText=vbCrLfCStr(Now)加入换行和时间 Else若无,退出过程 ExitSub EndIf 这样,我们用VB编写的记事本就和Windows的Notepad一样具有自动将日志添加到文档的功能了。 二、截取FileName中的纯文档名 如若我们用Notepad打开文件D:\VBFILE\NEW\Textbox控件用法举例.txt,Notepad的标题栏的Caption变为:TextBox控件用法举例-记事本。这个,我们用VB来完成还是比较容易的。 为了方便在程序的各处使用,我们不妨编写一个截取字符串的函数: 截取纯文栏名函数 FunctionGetFileTitle(OldStrAsString)AsString OnErrorResumeNext DimnAsInteger,mAsInteger声明字符串变量 DimiAsString,rAsString DimpAsInteger i=\要查找的指定字符 Forn=1ToLen(OldStr)用Len函数计算已知字符串的字节数 m=InStrRev(OldStr,i,-1)\所在的位置(其中的-1是默认的) Nextn找下去! 截取最后一个\后面的字符串 r=Right(OldStr,Len(OldStr)-m)获取Title p=InStrRev(r,.,-1).所在位置 GetFileTitle=Left(r,p-1)去掉后缀 EndFunction 现在我们来调用这个函数以获取纯文档名: DimMyStrAsString,ResultAsString MyStr=d:\games\6do\oldtucom\heart\Story001.TXT Result=GetFileTitle(MyStr) Me.Caption=Result-记事本 执行之,则窗体的标题变为:Story001-记事本,与NotePad的效果无异! 三、判断保存还是另存为 通常,我们通过使用CommonDialog控件来保存文件,不过,VB的公共对话框提供的ShowSave其实只是SaveAs,如不作处理则在运行程序中每次保存文件都会跳出另存为对话框,为避免这种不便,我们可以声明一个窗体级或模块级的文件名变量[类型:String],并在每一次相关操作中给此变量赋值且保存于内存之中,然后在保存文件时给予识别,如变量不为空则直接保存文件,否则调出另存为对话框,让用户输入文件名。 试看: DimSaveFileNameAsString窗体或模块级变量 在打开文件事件加入: SaveFileName=CommonDialog1.FileName 保存文件 IfSaveFileNameThen OpenSaveFileNameForInputAs#1 Print#1,Text1.Text Close#1 Else 此处写上用公共对话框保存文件的代码 EndIf 这样,我们的记事本变得象Notepad一样聪明了:那令人讨厌的另存为对话框不会总是弹出来了! 四、从“我的电脑”拖动文件并打开 当从“我的电脑”拖动文件到Notepad编辑界面,文件格式正确的话则自动打开。在VB中,我们可以这样处理: 1.在Form_Load事件中加入: Text1.OLEDropMode=1令Text1成为可接受文件拖放的OLE容器 2.采用OLE技术实现拖放并打开功能: 当文件拖到文本框 PrivateSubText1_OLEDragOver(dataAsDataObject,effectAsLong,_ ButtonAsInteger,ShiftAsInteger,XAsSin

您可能关注的文档

文档评论(0)

haocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档