网络开发 调用API函数 报表打印 常用技术 经验汇总 控件使用 软件工程 数据处理
您的位置:首页 >> vfp教程 >> 网上文摘 >> 数据处理 >> 正文

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
摘自《中国计算机世界》

[返回]

     

首页 | 设为首页 | 加入收藏 | 关于本站 | 友情链接 | 版权声明

     
 
Copyright© www.bianceng.cn Powered by 编程入门网 All Rights Reserved
吉ICP备06005558号