📄 低级文件操作.txt
字号:
用技巧
VFP6.0低级文件操作函数应用一例
江西方圆广告有限公司
贺伟群
---- 前段时间公司买了一台考勤机,随机带的考勤软件是用FOXPRO编写的DOS版本,使用起来很不方便,最近从经销商手上得到了一个与考勤机通讯的WINDOWS 9.X程序,于是自己用VISUAL FOXPRO6.0开发了一套WINDOWS 9.X版本的考勤管理软件,但使用通讯程序所得到的文件是一个文本文件,所以要对数据进行处理之前还得导入表中。通过使用VISUAL FOXPRO6.0自带的几个低级文件操作函数能很好地解决此问题。先来介绍一下几个通用的低级文件操作函数。
---- 1. FOPEN(<文件名>)[,< 读写权限数字 >])
---- 功能:打开一个低级文件
---- 返回:数字,表示打开文件的句柄数,句柄数 >0,表示文件打开成功。
---- 2. FCLOSE(< 句柄 >)
---- 功能:关闭一个低级文件
---- 返回:逻辑,.T. 表示关闭成功,否则为 .F.。
---- 3. FSEEK(< 句柄 >,<字节数>[,< 移动属性 >])
---- 功能:在低级文件中移动文件的指针
---- 返回:字符。
---- 4. FPUTS(< 句柄 >)[,< 表达式数字 >])
---- 功能:读低级文件的字节。
---- 5.FPUTS(< 句柄 >,< 要输出的字符串 >[,< 字节数 >])
---- 功能:将指定的字符表达式的内容写到低级文件中。
---- 返回:数字,表示写入文件的字节数,若FPUTS( )
---- 写失败,返回值为0。
---- 6.FEOF(< 句柄 >)
---- 功能:测定文件指针是否到尾
---- 返回:逻辑,.T. 表示到尾,否则为 .F. 。
---- 所要转换的文本文件tr01.dat的格式如下:
044 9908160852 1
019 9908161155 1
024 9908161156 1
---- 转换后的数据库worktime.dbf结构如下:
1. 员工编号 character 6
2. 日期 date 8
3. 时间 character 5
4. 标志 character 1
---- 程序清单如下:
set talk off
set consol off
set date ansi
handle=fopen("tr01.dat")
=fseek(handle,0,0) &&指针移到文件头
use worktime.dbf
dele all
pack
go bottom
do while .not.feof(handle)
append blank
no=fgets(handle,3)
date1=alltrim(fgets(handle,8))
date2=fgets(handle,2)
date3=fgets(handle,2)
time1=fgets(handle,2)
time2=fgets(handle,2)
flag1 =fgets(handle,3)
repl 员工编号 with alltrim(no)
repl 日期 with ctod(alltrim(date1+"."
+ date2+"."+ date3))
repl 时间 with alltrim(time1+
":"+ time2)
repl 标志 with alltirm(flag1)
skip
enddo
use
=fclose(handle)
set console on
---- 我们可以把以上程序放入CLICK事件中或作为单独的程序都可使用此程序。以上程序在VFP6.0中运行通过。 免 费 订 阅
实用技巧分类
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -