JSRUN 用代码说话

从顺序文件中读取字符

编辑教程

从顺序文件中读取字符

假设你的程序需要检查文件Autoexec.bat里出现了多少个冒号,你可以使用函数Input来返回特定的字符数,而不必读取整行。

接下来,If语句用来比较获取的字符和你寻找的字符。在写过程之前,我们来看看函数Input的语法:

Input(number, [#]filenumber)

Input函数的两个参数都是必须的,number明确你要读取的字符数,而filenumber是Open语句用来打开文件的同一个数字。

Input函数返回所有读取的字符,包括逗号,回车,文件结束字符,引号和前导空格。

1. 在SeqFile模块里输入下述过程Colons:

Sub Colons()
Dim counter As Integer
Dim char As String
counter = 0
Open "C:\Autoexec.bat" For Input As #1
Do While Not EOF(1)
char = Input(1, #1)
If char = ":" Then
counter = counter + 1
End If
Loop
If counter <> 0 Then
MsgBox "Characters found: " & counter
Else
MsgBox "The specified character has not been found."
End If
Close #1
End Sub

2. 逐句执行该过程

3. 将冒号换成其它你想寻找的字符并且重新执行该程序。Input函数允许你返回顺序文件的任何字符。如果你使用VB函数LOF作为Input函数的第一个参数时,你将能够快速地读取顺序文件里的内容,而不需要在整个文件上循环。LOF函数返回一个文件上的字节数。每个字节对应了文本文件里的一个字符。过程ReadAll将文件System.ini的内容读取到立即窗口里:

除了将文件内容打印到立即窗口之外,你还可以将其读取到一个文本框并且放置到工作表中去(见图8-2):

Sub WriteToTextBox()
Dim mysheet As Worksheet
Set mysheet = ActiveWorkbook.Worksheets(1)
On Error GoTo CloseFile
Open "C:\WINNT\System.ini" For Input As #1
mysheet.Shapes(1).Select
Selection.Characters.Text = Input(LOF(1), #1)
CloseFile:
Close #1
End Sub

图8-2 文件TDate.ini(原文为System.ini)的内容显示在工作表中的文本框里

在你运行上面的程序之前,你得在工作表里画一个文本框。注意,On Error GoTo CloseFile语句激活错误捕捉,如果错误在程序的执行过程中发生了,就会立即跳到CloseFile标签处,Close #1语句无论有无错误发生都会被执行。

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟