正文

文件语句使用讲座2005-09-20 21:20:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/iamben250/5052.html

分享到:

文件语句使用讲座

   在qb中学习完基本的语句后,最最值得大家认真学习的内容就是有关文件的部分了,
QB的文件操作在所有编程语言中是最方便、最简单、最强大的,而且和底成DOS中断很配合,学了以后在vb中也可以使用!
   我看到初学者有个误区,以为文件操作最难,实际上,这个放在最后一章,并不是最难,在我看来所有的都一样难,也都一样简单,最难的是书上没有讲的,可能写教材的人也不知道如何用(这个应该不可能),这个才难!

相关知识(充实中....)
文件的扩展名对与qb来说无所谓,都可以用open语句打开

一、体验建立一个文件
初步练习生成一个文件
OPEN "TEMP.TXT" FOR OUTPUT AS #1  '打开,建立一个名字为temp.txt的文件,文件号为1
PRINT #1,"这是一个测试文件"        '往1号文件里写
CLOSE #1                          '关闭1号文件(只有关闭以后,内容才真正的写进去)

你可以在WIN下用记事本打开TEMP.TXT 这个文件,就会看到你刚刚输入的数!
如果你不会用记事本,就请用下面的代码

OPEN "TEMP.TXT" FOR OUTPUT AS #1
PRINT #1,"这是一个测试文件"
CLOSE #1
SHELL "NOTEPAD temp.TXT"   '调用记事本
这时就能看到你生成的文件了!
SHELL 可以调用外部的命令、程序 。  这个NOTEPAD实际上就是WINDOWS的记事本程序
二、有关文件语句的用法

OPEN 语句 的用法
格式:OPEN <文件名> FOR <读写方式> AS#<文件号>
<文件号>:
  即文件缓冲区号,每一个文件都要指定一个不同的文件号(1~225) 说明:
<文件名>:
  文件名不能大于8个,扩展名不能大于3个,不能包含非法字符(请看相关书疾)
<读写方式>:
<读写方式>:
随机方式很少用,不介绍
以OUTPUT方式打开文件,建立新文件,将删除已存在的文件。
以INPUT方式打开已存在的文件,读数据,从文件读入;
以APPEND方式打开文件,可在文件后面添加内容,不影响以前的东西
以BINARY方式打开文件,可在文件的任意位置读写
(2)CLOSE语句
关闭已用的文件
CLOSE [#<文件号1>][,#<文件号2>]……
关闭由文件号指定的文件缓冲区,将内容存盘,如不指定文件号,则关闭所有已打开的文件;
(3)、GET#语句(2进制方式用)
格式:GET #<文件号> [,<地址>][,<记录变量>]
功能: 用于从文件中读一个指定地址的记录,赋给一个记录变量。
(4)、PUT#语句 (2进制方式用)
格式:PUT #<文件号> [,<地址>][,<记录变量>]
功能: 将一个记录变量的内容写到指定地址的记录中去
(5)SEEK语句 (2进制方式用)
格式:SEEK#<文件号>,<字节位置>
把指针移动指定地方
(6)LOF语句
格式:LOF<文件号>
获得文件的大小!
(7)EOF语句
格式:EOF<文件号>
判断文件是否到最后!
三、 用例子来学习这些语句
  LOF语句的例子
open "qb.exe" for binary as #1
print "文件的大小是 " ,lof(1)
  
   EOF  get 语句的例子
open "qb.exe" for binary as #1
print "文件的大小是 " ,lof(1)
do
  i=i+1   '文件的地址指针
  get,i,a '在地址i处读一个数给a
  if eof(1) then exit do '当文件读完就退出
loop
有时候要简单的判断文件是否存在,可以用LOF,如果lof返回的是0,文件可以当不存在

当文件的指针到结尾的时候EOF返回是-1,在qb中-1的逻辑判断是真,如果没有到结尾,EOF返回是0,所以if eof(1) then exit do 就能判断文件是否读完,如果读完就可以结束循环!
四、实际运用
一、读一个文本文件,并显示
INPUT FILE$    '输入一个文件名
OPEN FILE$ FOR INPUT AS #1
do
   i=i+1
   LINE input #1, look$ '读一个行文字
   print look$         '显示文字
   if (i mod 22)=0 then a$=input$(1) '等待,按任一键继续
loop until EOF(1)

二 写个文件粉碎机
   文件粉碎机介绍:当你删除一个文件以后,实际上并没有真正的删除,即使你清空了回收站也一样,如果你先把这个文件里的内容改变成垃圾,然后在删除,那么即使被恢复,也没有用,写这个程序很简单
cls
file$="qb.exe"
open file$ for binary as #1
print "文件名是 - >  ",file$
print "文件的大小是  - > " ,lof(1)
locate 5,10:print "正在删除中 -> "
w%=0     
do
  i=i+1
  locate 5,27:print i  
  put #1,,w%       '往1号文件里写入变量w,w 的直是0,所以写入的是全0
loop until eof(1)
print "ok , 已经全部清除"

当然你觉得一遍不够的话反复多弄几次,不过w的直变化一下最好!
如果你把file$="qb.exe"改成win系统中的重要文件,那么系统 就无法启动了!

阅读(2629) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册