⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档.txt

📁 けんさくするようのかんたんなプログラムです
💻 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 + -