- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第章数据文件
第13章 数据文件 第13章 数据文件 文件是存储在外部介质(如磁盘)上的以文件名标识的数据的集合。通常由一组存放在磁盘上的相关字节组成。当应用程序要访问文件时,必须自己决定文件中字节的意义(比如,表示字符、数据记录、整数、字符串等等)。 存储在磁盘上的文件称为磁盘文件,与计算机相连的设备称为设备文件。这些文件都不在计算机内,统称为外部文件。 一、文件及其结构 文件:存储在外部介质上数据或信息的集合。 字符(Character):构成文件的基本单位。 字段(Field):也称为域,由若干字符组成,表示一个数据项。 记录(Record):是计算机处理数据的基本单位,它由一组具有共同属性相互关联的数据项组成。 文件(File):由若干条记录构成。 虽然文件访问的数据类型不同,但应用程序访问它们的步骤却相似: ① 使用Open语句打开文件,并为文件指定一个文件号。对文件进行任何I/O操作之前,都必须经过这步操作。 ② 从文件中读取部分或全部数据到变量中。 ③ 对变量中的数据进行处理。 ④ 将处理后的数据保存回文件中。 ⑤ 使用Close语句关闭文件。如果没有关闭文件,则会导致文件中部分或全部信息丢失。 (2) 文件号 1~511,可以用FreeFile函数获得下一个可利用的文件号。 (3) 记录长度 小于或等于32767的整数,它指定数据缓冲区的大小。 例如,打开C:\VB\SCORE,供写入数据,指定文件号为#1。 例13-1:编程把一个文本框中的内容,以文件形式存入磁盘。 假定文本框的名称为Mytxt,文件名为Myfile.dat。 方法1:把整个文本框的内容一次性地写入文件。 Open “D:\Myfile.dat For Output As #1 Print #1, Mytxt.Text Close #1 方法2:把整个文本框的内容一个字符一个字符地写入文件。 Open D:\Myfile.dat For Output As #1 For i=1 To len(Mytxt.Text) Print #1,Mid(Mytxt.Text,i,1); Next i Close #1 例13-2: Print与Write语句输出数据结果比较。 Private Sub Form_Click() Dim Str As String, Anum As Integer Open D:\Myfile.dat For Append As 1 Str = ABCDEFG Anum = 12345 Print #1, Str, Anum Write #1, Str, Anum Close #1 End Sub 2. 顺序文件读操作 从现存文件中读入数据,应以顺序Input方式打开该文件。然后使用 Input# 语句、Line Input# 语句和Input( )函数读入到程序变量中。 使用格式如下: INPUT #文件号,变量列表 把读出的每个数据项分别存放到所对应的变量。 LINE INPUT #文件号,字符串变量 读一行到变量中,主要用来读取文本文件。 INPUT$(读取字符数, #文件号) 读取指定的数量的字符,作为函数的返回值。 例13-3: 例13-4: 编程将一文本文件的内容读到文本框。 假定文本框名称为txtTest,文件名为MYFILE.TXT。可以通过下面三种方法来实现。 方法1:一行一行读 txtTest.Text = Open MYFILE.TXT For Input As #1 Do While Not EOF(1) Line Input #1, InputData txtTest.Text = txtTest.Text + InputData+vbCrLf Loop Close #1 方法2:一次性读 txtTest.Text = Open MYFILE.TXT For Input As #1 txtTest.Text = Input(LOF(1),1) Close #1 方法3:一个个字符读 Dim InputData as String*1 txtTest.Text = Open MYFILE.TXT For Input As #1 Do While Not EOF(1)
文档评论(0)