文件语句使用讲座 在qb中学习完基本的语句后,最最值得大家认真学习的内容就是有关文件的部分了,QB的文件操作在所有编程语言中是最方便、最简单、最强大的,而且和底成DOS中断很配合,学了以后在vb中也可以使用! 我看到初学者有个误区,以为文件操作最难,实际上,这个放在最后一章,并不是最难,在我看来所有的都一样难,也都一样简单,最难的是书上没有讲的,可能写教材的人也不知道如何用(这个应该不可能),这个才难!相关知识(充实中....)文件的扩展名对与qb来说无所谓,都可以用open语句打开一、体验建立一个文件初步练习生成一个文件OPEN "TEMP.TXT" FOR OUTPUT AS #1 '打开,建立一个名字为temp.txt的文件,文件号为1PRINT #1,"这是一个测试文件" '往1号文件里写CLOSE #1 '关闭1号文件(只有关闭以后,内容才真正的写进去)你可以在WIN下用记事本打开TEMP.TXT 这个文件,就会看到你刚刚输入的数!如果你不会用记事本,就请用下面的代码OPEN "TEMP.TXT" FOR OUTPUT AS #1PRINT #1,"这是一个测试文件"CLOSE #1SHELL "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 #1print "文件的大小是 " ,lof(1) EOF get 语句的例子open "qb.exe" for binary as #1print "文件的大小是 " ,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 #1do i=i+1 LINE input #1, look$ '读一个行文字 print look$ '显示文字 if (i mod 22)=0 then a$=input$(1) '等待,按任一键继续loop until EOF(1) 二 写个文件粉碎机 文件粉碎机介绍:当你删除一个文件以后,实际上并没有真正的删除,即使你清空了回收站也一样,如果你先把这个文件里的内容改变成垃圾,然后在删除,那么即使被恢复,也没有用,写这个程序很简单clsfile$="qb.exe"open file$ for binary as #1print "文件名是 - > ",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,所以写入的是全0loop until eof(1)print "ok , 已经全部清除"当然你觉得一遍不够的话反复多弄几次,不过w的直变化一下最好!如果你把file$="qb.exe"改成win系统中的重要文件,那么系统 就无法启动了!

评论