VB打开txt文件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

VB打开txt文件打开文本文件是不少程序必须处理的问题。如何更有效地打开文本文件应该是一个值得研究的课题。为此,笔者将自己搜集到的几种方法无私地奉献出来(-_-),供各位参考。同时期盼大家也来参与,借VB编程乐园这块宝地互相交流。如您有这份心,土人在这里先说声谢谢!下面所举的例子均假设F盘下有一个名为d.txt的文本文件,若需要尝试这些例子请作相应的改动。方法一:用定长的String变量获取文本内容。由于定长String变量支持的下界为65400,所以在打开超过32K字节的文件时超出部分的字节将无法获取:PrivateSubCommand1_Cliack()DimsAAsString*65400'声明定长String变量OpenF:\d.txtForBinaryAs#1'用二进制打开文件Get#1,,sA'用Get语句从文件中获取字节Text1=sA'显示打开的文件Close#1'关闭文件EndSub方法二:先声明一字符串变量,然后用空格填充字符串,使变量大小与文件大小一致,再通过Get语句将文件全部数据存储到变量中,从而达到获取整个文件字节数的目的。此法可以打开大于32K的文件,但应该注意的是,装载文件的容器必须能装载大于32K的文件,下例用RichTextBox控件显示打开的文件:PrivateSubCommand1_Click()DimsAAsStringOpenf:\d.txtForBinaryAs#1sA=Space(LOF(1))'用空格填充sA变量N,]jWQy0Get#1,,sA'用Get语句获取文件全部内容RichTextBox1.Text=sAClose#1EndSub方法三:用StrConv函数将文件的控制字符串数据和Unicode码之间进行转换,从而达到打开文件的目的。可打开任意大小文件。此法笔者曾有一篇文章谈及,这里再给一个简单例子PrivateSubCommand1_Click()Openf:\d.txtForInputAs#1RichTextBox1.Text=StrConv(InputB$(LOF(1),1),vbUnicode)Close#1EndSub方法四:用RichTextBox控件自身的LoadFile属性打开文件:RichTextBox1.LoadFilef:\d.txt,rtfText百度首页百度空间|嘿色ゞ深处HeyColorYouIs?主页博客相册|个人档案|好友查看文章VB打开文本文件打开txt文件2021年04月13日星期日10:28打开文本文件是不少程序必须处理的问题。如何更有效地打开文本文件应该是一个值得研究的课题。为此,笔者将自己搜集到的几种方法无私地奉献出来(-_-),供各位参考。同时期盼大家也来参与,借VB编程乐园这块宝地互相交流。如您有这份心,土人在这里先说声谢谢!下面所举的例子均假设F盘下有一个名为d.txt的文本文件,若需要尝试这些例子请作相应的改动。方法一:用定长的String变量获取文本内容。由于定长String变量支持的下界为65400,所以在打开超过32K字节的文件时超出部分的字节将无法获取:PrivateSubCommand1_Cliack()DimsAAsString*65400'声明定长String变量OpenF:\d.txtForBinaryAs#1'用二进制打开文件Get#1,,sA'用Get语句从文件中获取字节Text1=sA'显示打开的文件Close#1'关闭文件EndSub方法二:先声明一字符串变量,然后用空格填充字符串,使变量大小与文件大小一致,再通过Get语句将文件全部数据存储到变量中,从而达到获取整个文件字节数的目的。此法可以打开大于32K的文件,但应该注意的是,装载文件的容器必须能装载大于32K的文件,下例用RichTextBox控件显示打开的文件:PrivateSubCommand1_Click()DimsAAsStringOpenf:\d.txtForBinaryAs#1sA=Space(LOF(1))'用空格填充sA变量N,]jWQy0Get#1,,sA'用Get语句获取文件全部内容RichTextBox1.Text=sAClose#1EndSub方法三:用StrConv函数将文件的控制字符串数据和Unicode码之间进行转换,从而达到打开文件的目的。可打开任意大小文件。此法笔者曾有一篇文章谈及,这里再给一个简单例子PrivateSubCommand1_Click()Openf:\d.txtForInputAs#1RichTextBox1.Text=StrConv(InputB$(LOF(1),1),vbUnicode)Close#1EndSub方法四:用RichTextBox控件自身的LoadFile属性打开文件:RichTextBox1.LoadFilef:\d.txt,rtfTextPrivateSubForm_Load()Text1.MultiLine=TrueDimxAsStringOpenApp.Path&\版本说明.txtForInputAs#1Input#1,xText1.Text=Input(LOF(1),1)EndSub问题:如何在VB中打开txt文件的内容输出成数组?txt文件中的内容如下:(数字之间以tab空格格开)1234545678910111213输出成格式为{{1,2,3,4,5},{4,5,6,7,8},{9,10,11,12,13}}的文本文件?PrivateSubCommand1_Click()DimA$OpenC:\1.txtForInputAs#1A=StrConv(InputB$(LOF(1),#1),vbUnicode)Close#1A={&Replace(Replace(A,Chr(9),,),vbCrLf,},{)&}OpenC:\1.txtForOutputAs#1Print#1,{Print#1,APrint#1,}Close#1MsgBoxOK!EndSub打开txt文件方法:(我发现就这种方法最简单了)PrivateSubCommand1_Click()Shellnotepad.exed:\filename.txt,vbNormalFocus'具体的路径更改app.path&\filename.txtEndSub很简单的几句代码!vb中调用txt文档内容VB中要调用TXT文档内容,要使用到open语句,open语句的语法是:OpenpathnameFormode[Accessaccess][lock]As[#]filenumber[Len=reclength]pathname必选,为文件路径,需用双引号括起来,如果是相对路径就要写成App.path&filenamemode必选,指定文件方式,共有Append(附加、添加)、Binary(二元的)、Input(输入)、Output(输出)、或Random(随意)方式,如果未指定方式,则以Random访问方式打开。access可选,说明打开的文件可以进行的操作,有Read、Write或ReadWrite操作。lock可选,限制于其它进程打开的文件的操作,有Shared、LockRead、LockWrite和LockReadWrite操作。filenumber必选,指定一个有效的文件号,范围在1到511之间。使用FreeFile函数可得到下一个可用的文件号。reclength可选,小于或等于32,767(字节)的一个数。对于用随机访问方式打开的文件,该值就是记录长度。对于顺序文件,该值就是缓冲字符数。说明:如果pathname指定的文件不存在,那么,在用Append、Binary、Output、或Random方式打开文件时,可以建立这一文件。如果文件已由其它进程打开,而且不允许指定的访问类型,则Open操作失败,而且会有错误发生。如果mode是Binary方式,则Len子句会被忽略掉。重要在Binary、Input和Random方式下可以用不同的文件号打开同一文件,而不必先将该文件关闭。在Append和Output方式下,如果要用不同的文件号打开同一文件,则必须在打开文件之前先关闭该文件。结构:OpenstrpathForInputAs#intFNumDoWhileNotEOF(intFNum)LineInput#intFNum,strTempstr=str&strTempLoopClose#intFNum实例1:读取相对路径下实例.txt的所有内容。PrivateSubForm_Load()OpenApp.Path&实例.txtForInputAs#1DOWhileNotEOF(1)LineInput#1,a'使用行读取Text1.Text=Text1.Text&a&vbCrLf'读取一行后回车换行LoopClose#1Endsub实例2:按command1按钮,把c:\123.txt文本中的内容全部读取到text1控件中。'text1控件的multiline属性设成truescrollbar属性设成2PrivateSubCommand1_Click()dimlinesasstringdimnextlineasstringopenc:\123.txtforinputas#1dountileof(1)line#1nextlinelines=lines&nextline&char(13)&char(10)loopclose#1text1.text=linesEndSub实例3:按下command1按钮,读取c:\321.txt文本中前20行的内容到text1控件中。'text1控件的multiline属性设成truescrollbar属性设成2PrivateSubcommand1_click()dimlinesasstringdimnextlineasstringdimiasintegeropenc:\321.txtforinputas#1fori=1to20OnErrorResumeNextline#1nextlinelines=lines&nextline&char(13)&char(10)nexticlose#1text1.text=linesEndSub实例4:按下command1按钮,在1.txt文档中找出前11位对应text1.text内容的行,并把查找的结果在text2.text中显示。PrivateSubCommand1_Click()DimnextlineasstringDimlinesasstringopend:\dazhong\desktop\1.txtForInputAs#1DoWhileNotEOF(1)LineInput#1,nextlineIfText1.Text=Left(nextline,11)Thenlines=nextlineEndIfText2.Text=Text2.Text&lines&vbCrLfLoopClose#1EndSub如果你的C盘有一个叫做123.txt那么123.txt的路径就是C:\123.txt这是代码PrivateSubCommand1_Click()shellexplorer.exeC:\123.txtendsub就是这么简单

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功