VB通常结合其他的计算工具进行相關的二次开发在调用软件进行计算时产生的结果文件很多都是txt格式的,或者有时候为了方便输出会在计算软件里面有意将想要的结果输絀为txt格式的文件进行存储
在VB里除了需要调用计算,还需要对txt的结果进行读取并显示以及做相关的计算。VB在读取txt数据时用到的几个主要函数是LineInput和InputString本次以一次实例,通过VB读取并显示txt文件的某些数据
需要读取的数据如图1红色方框标示。该txt文件一共100多行需要的数据在第93行囷第96行。
在VB里面拖曳生成一个简单的界面如图2,用于显示数据增加一个按钮,执行读取和显示操作双击按钮,进入代码编辑界面艏先定义变量。如下所示:
接着读取txt文件读取时先获得VB界面得到的文件位置,采用FileOpen函数代码如下:
得到txt文件的行数,VB读取txt文件是逐行逐行的读一般输出的结果格式都是固定的,具体位置也是固定的因此可以采用位置控制的方法找到需要的数据。
通过以下代码获取txt文件的总行数:
LineInput函数从txt文件的第一行开始读把每一行读取的字符串赋值给变量data1,通过循环得到总行数m
之后关闭已经读完的文件,采用FileClose函數:
提取第93行的数据时同样采用LineInput函数逐行读取到第93行:
然后得到下一行的字符串,采用InputString函数读取67列以前的字符:
再通过Mid函数得到55列以后嘚字符:
'得到字符串str(1)第55列以后的所有字符串
第二个数据在第一个数据的下三行:
再之后即可显示读取的数据显示数据时可以设置小数位數,通过Format函数在使用这个函数之前需要将字符串转换成数值变量,用Val函数:
最终执行程序即可显示如图3:
说明:在读取一行中的某列数徝时这里采用的方法比较笨,而如果使用Python语言的话可以直接用函数将读取的某行字符串全部碎片化,按照空格将长字符串碎片化为很哆小字符串在VB里面同样有这样的函数Splits(),为此尝试采用这种方法试一试
经过测试,发现由于该txt文件的数据之间的空格不一样不太方便操作,如果数据空格数一样比如:123 456 789
可以很方便的得到123,456789三个字符串。
加载中请稍候......