📄 新建 文本文档.txt
字号:
收藏本站
与我联系
超级日历
帐号
密码
新用户注册
当前位置:首页>>>电脑教室>>>vb教程
本节主要内容:
顺序文件的写操作:Print # 语句、Write # 语句
顺序文件的读操作:Input # 语句、Line Input # 语句、Input$函数
1、顺序文件的写操作
Print # 语句
格式: Print #文件号,[输出列表]
功能:将格式化显示的数据写入顺序文件中。
如果省略参数输出列表,而且,文件号之后只含有一个列表分隔符,则将一空白行打印到文件中。多个表达式之间可用一个空白或一个分号隔开。空白与分号等效。
对于 Boolean 类型的数据,打印的是 True 或 False。无论在什么国别,都不将 True 和 False 这两个关键字翻译出来。
使用操作系统所能够辨认的标准短日期格式可将 Date 类型的数据写入文件中。在未指定日期或时间部件或这些部件的设置为零时,只将指定的部分写入文件中。
如果参数输出列表的数据是 Empty,则不将任何数据写入文件。但是,如果输出列表的数据是Null,则将Null写入文件。
注意 如果今后想用 Input # 语句读出文件的数据,就要用 Write # 语句而不用 Print # 语句将数据写入文件。因为在使用 Write # 时,它将数据域分界,可确保每个数据域的完整性,因此可用 Input # 再将数据读出来。
此命令将表达式的值放入数据文件中,数据放置方式同Print命令,使用“;”和“,”的方式也是一样的,每个Print#命令尾部无“;”和“,” 则下一个Print#命令的数据换一行。如果使用“,”分隔,则在下一区段(14个字符)放置数据。
需要注意的是,当紧凑格式下(;),数值之间会有一个空格,字符串紧挨着输出。这样不利于字符串与字符串的区分。
写入的数据没有分隔符,如果需要分隔符,不能使用"""这种字符串方式,而是需要使用chr函数,将双引号放入(chr(34))。
例如:
Print #1,chr(34);"Beijing";chr(34);",";chr(34);"Tianjing";chr(34)
数据文件中的数据是:"Beijing","Tianjing"
Print #1,"Beijing";"Tianjing"
数据文件中的数据是:BeijingTianjing
Print #1,-1;2
数据文件中的数据是:-1 2
说明:Print#语句只是将数据放入缓冲区中,而没有将数据放到外存中,只有在下面3种情况时才会将数据写入外存:关闭文件;或者缓冲区已经满;或者缓冲区未满,但执行下一个Print语句。
Write # 语句
格式: Write #文件号,[表达式表]
功能:将数据写入顺序文件。
此命令将表达式的值放入数据文件中,但区别于Print#语句的是Write#语句是紧凑方式写数据到数据文件中。表达式表示用“,”“;”都是紧凑格式输出。
本命令能自动地在数据项之间插入逗号,并给字符加上双引号。
一旦最后一项被写入,自动插入新的一行。
对于Write#命令尾部无“;”和“,” 则下一个Write#命令的数据换一行。
使用Write#语句写入的正数的前面没有空格。
如果使用Write#将数据写入一个用Lock限定的顺序文件中,则发生错误。
例如:
Write #1, -1, 2, 3 或 Write #1, -1;2;3
数据文件中的数据是:-1,2,3
Write #1, "qwe", "aaa" 或 Write #1, "qwe"; "aaa"
数据文件中的数据是:"qwe","aaa"
返回页首
2、顺序文件的读操作
Input # 语句
格式: Input #文件号,变量表
功能:从一个顺序文件中读出数据,并把这些数据项赋值给程序变量。
只能用于以 Input 或 Binary 方式打开的文件。
在用Input#语句把读出的数据赋值给数值变量时,将忽略前导空格、回车或换行符。把遇到的第一个非空字符、非回车和换行符作为数值的开始,遇到空格、回车或换行符则认为数值结束。
对于字符串数据,同样忽略前导空格、回车或换行符,如果需要字符前的空格,应该在数据文件中用将字符串放在双引号中。
本命令也可用于随即文件。
通常用 Write # 将 Input # 语句读出的数据写入文件。
例如:
Input #1,a,b,c
将打开的文件取出3个数据放入内存中,赋值给指定的变量a,b,c
Line Input # 语句
格式:Line Input #文件号,字符串变量
功能:从已打开的顺序文件中读出一行并将它分配给字符串变量
通常用 Print # 将 Line Input # 语句读出的数据从文件中写出来。
Line Input # 语句一次只从文件中读出一个字符,直到遇到回车符 (Chr(13)) 或回车–换行符 (Chr(13) + Chr(10)) 为止。
回车–换行符将被跳过,而不会被附加到字符串上。
例如:
Dim a As String
Input #1,a
将打开的文件取出一行数据放入内存中,赋值给指定的变量字符串变量a。
Input$函数
格式: Input$(n,#文件号)
功能:从指定的文件中读出n个字符的字符串,它包含以 Input 或 Binary 方式打开的文件中的字符。
与 Input # 语句不同,Input 函数返回它所读出的所有字符,包括逗号、回车符、空白列、换行符、引号和前导空格等。
对于 Binary 访问类型打开的文件,如果试图用 Input 函数读出整个文件,则会在 EOF 返回 True 时产生错误。在用 Input 读出二进制文件时,要用 LOF 和 Loc 函数代替 EOF 函数,而在使用 EOF 函数时要配合以 Get 函数。
注意 对于文本文件中包含的字节数据要使用 InputB 函数。对于 InputB 来说,number 指定的是要返回的字节个数,而不是要返回的字符个数
例如:
Dim a As String
a=Input$(100,#1)
将打开的文件取出100个字节的数据放入内存中,赋值给指定的变量字符串变量a,数据个数包括不可显示的字符,例如回车、换行等。
例题:编写一个程序,有1个图片框、1个文本框和2个按钮,按下按钮1可以将文本框1中用户输入个内容放到文本文件1.txt的尾部,每次按下都可增加内容,每次输入的内容长度不等。按下按钮2,将数据文件的内容全部打印在图片框中。
分析:
按照要求设置窗体和控件。
编写代码:下载源程序
由于写数据放到文件尾部,因此在按钮1中打开文件为Append方式
按照下面方式编写代码: Private Sub Command1_Click()
Myfilename = FreeFile
Open "d:\1.txt" For Append As Myfilename
Write #Myfilename, Text1.Text
Close #Myfilename
End Sub
Private Sub Command2_Click()
Open "d:\1.txt" For Input As #1
Picture1.Cls
Do While Not EOF(1)
Input #1, mstr
Picture1.Print mstr
Loop
Close #Myfilename
End Sub
返回页首
行者驿站|洪恩在线|天极论坛|太平洋网络学院|信息一班
版权所有:曲靖农校 师伯良
E_mail:nxsbl@ynmail.com
三)写文件
1、 顺序文件
写顺序文件我们可以用Write # 和Print #语句向一个已经打开的文件中写入数据.
下面是他们的格式和说明:
Print # 的语法格式:
Print # 文件号,变量列表
例如,将文本框中的文本写到文件中,代码如下:
Open "file.txt" For Output As #filenum
Input #filenum, text1.text
Write # 语句的语法格式:
Write # 文件号,变量列表
说明:用Write # 语句写入的信息便于以后用Input #语句来读取数据,因为Write #语句自动将写入到文件中的信息用逗号分开,并为字符串数据加上双引号.例如:
Open "student.txt" For Output As #filenum
Write #filenum, "张三", "初一年级", 14
Write #filenum, "李四", "职业高中", 18
2、 随机文件
向随机文件中写入数据,使用Put #语句.语法格式如下:
Put [#] FileNum ,[RecNum],UserType
说明:
(1) FileNum 是要打开的文件号;RecNum是要写入的记录号,若省略,则再上一次用Get 和Put语句所读写过的记录的后一条记录中写入,如果没有执行过Get 和Put语句,就从第一条记录开始
(2)UserType 是包含要写入数据的用户自定义的数据类型变量.例如:我们向前面的student.txt文件中的第5个记录写入数据,可用这些语句:
stud.No = 0301
stud.Name = “王武”
stud.Age =20
Put #1 ,5,stud
如果要插入的数据不只一两条的话,首先要确定文件和每条记录的长度,这样就可以计算出文件中究竟有多少条记录.我们可以用Lof()函数返回文件的长度,Len()函数返回每个记录的长度,计算文件中的记录个数可以用文件的长度除以给个记录的长度.示例如下:
Nextrec= (Lof(1)\Len(UserType))+1
Put #1,Nextrec,UserType
3、二进制文件
下面是以二进制方式写入文件的语句格式及其说明:
格式:
Put [#]fileNumber ,[Pos], Var
功能: 用二进制方式,从文件的中指定的位置开始写入,所给变量长度的数据
说明:
(1)FileNumber是以二进制方式打开的文件号.
(2)Pos用来指定写操作发生时的字节位置,若省略,则使用当前文件指针位置.
(3)Var是用来存放写入的数据的变量.该语句会自动根据var变量包含的字节长度写入文件,如果Var是一个可变长度的字符串变量,则传送的字节数等于Var中目前的字节数.
使用方法可参考二进制文件的读操作.
首页 | 免费域名 | 个人服务器 | 一流信息监控拦截系统 | 虚拟主机知识库 | ASP 空间 | ASP技术大全 | 下载中心 | 客户服务中心
7i24 > ASP技术大全 > ASP组件专题 >
7i24 .Com
ASP中FSO的神奇功能 - 写文件
7i24.Com不停为您服务
ASP中FSO的神奇功能 - 写文件
2001-11-9 cneagle
原作者: 甘冀平
假设你想创建一个简单的留言簿,你可以建立一个数据库,在其中存储用户的信息。然而,如果并不需要数据库的强大功能,使用FSO来存储信息将节省你的时间和金钱。并且,一些ISP也许限制了web上的数据库应用。
假设你在一个表单中收集了一些用户信息,这里是一个简单表单HTML代码:
< html>
< body>
< form action="formhandler.asp" method="post">
< input type="text" size="10" name="username">
< input type="text" size="10" name="homepage">
< input type="text" size="10" name="Email">
< /form>
< /body>
< /html>
再看看formhandler.asp中处理表单的代码:
< %
' Get form info
strName = Request.Form("username")
strHomePage = Request.Form("homepage")
strEmail = Request.Form("Email")
' create the fso object
Set fso = Server.CreateObject("Scripting.FileSystemObject")
迄今为止,还没有新鲜的东西,无非是获取表单域的值并且赋值到变量。下面出现了有趣的部分 - 写文件:
path = "c: emp est.txt"
ForReading = 1, ForWriting = 2, ForAppending = 3
' open the file
set file = fso.opentextfile(path, ForAppending, TRUE)
' write the info to the file
file.write(strName) & vbcrlf
file.write(strHomePage) & vbcrlf
file.write(strEmail) & vbcrlf
' close and clean up
file.close
set file = nothing
set fso = nothing
回想一下,OpenTextFile方法返回一个TextStream对象,它是FSO模型中的另外一个对象。TextStream对象揭示了操作文件内容的方法,比如写、读一行、跳过一行。VB常量vbcrlf产生一个换行符。
在OpentextFile的命令参数中定义了TRUE,这就告诉了系统,如果文件不存在,就创建它。如果文件不存在,并且没有定义TRUE参数,就会出错。
现在转到目录c: emp,打开test.txt,你可以看到如下的信息:
User's name
User's home page
User's email
当然,这些单词可以被输入在表单中的任何内容所替换。
2002年1月9日 阅读 1787 次 发送此页给朋友 来源: 版权争议 删除
相关文章: 近期热点:
§ASP中FSO的神奇功能 - 权限许可
§ASP中FSO的神奇功能 - 权限许可
§ASP中FSO的神奇功能 - 使用FSO进行搜索
§ASP中FSO的神奇功能 - 用FSO进行内容管理
§ASP中FSO的神奇功能 - FSO不能做到的
上一篇: ASP中FSO的神奇功能 - 简介
下一篇: ASP中FSO的神奇功能 - 权限许可
返回上一层...
搜索: ● w3 JMail 4.3 中文使用手册 (6005)
● 如何把ASP编写成DLL (2860)
● ASP中FSO的神奇功能 - 简介 (2257)
● 给ASP增加绘图功能(画图组件) (2254)
● 在ASP中调用dll (1993)
● ASP中FSO的神奇功能 - 写文件 (1787)
● ASP的几大可扩展组件(一) (1717)
● ASP Image 使用范例 (1654)
● ASP中FSO的神奇功能 - 权限许可 (1617)
● Asp Image 简要介绍 (1443)
--------------------------------------------------------------------------------
(C)2001-2005 7i24.Com 保留所有权利
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -