重组人干扰素怎么打:有关操作文本文件的一些问题

来源:百度文库 编辑:九乡新闻网 时间:2024/07/08 17:03:04

有关操作文本文件的一些问题

(2009-07-30 08:26:41)转载 标签:

杂谈

分类: vf学习

在VF中,有时需要把表内容转换成.txt文件,以前对这方面内容不够重视,没有很好的学习,现整理一下:

1 库文件复制为标准格式的数据文件

copy to bz.txt sdf next ... for ...  while ...  fields ...

2文本数据文件复制到在DBF文件

append form...sdf...  用法和copy to 一样

3几个打开TXT文件的函数

dd=fcreat('路径+文件名',n)  dd为打开文件的句柄,n为0时(默认),可读写文件,为1时只读,为2时隐藏
当一个文件已存在时,则会导致原文件内容丢失,为避免,应用file()函数来测试文件是否存在

dd=fopen(路径+文件名',n)   n为0时只读(默认),为1时只写,为2时可读和写

=feof(dd)      判断是否在文件头

=fflush(dd)    更新并保存文件 将在缓冲区内打开的文件数据写入磁盘。并释放内存

=filetostr('路径+文件名')   将文件内容返回为一串字符

=fputs(dd,内容,写入符数)  写入字符,并在字符串的后面自动写入回车符及换行符chr(10)
=fwrite(dd,内容,写入符数)  写入字符,该函数适用于非文本文件和二进制文件。

fread(dd,读取的字节数)
fget(dd,读取的字节数)   默认最多可返回254个字节,但是,该函数遇回车符chr(13)时,将停止读取

=fseek(dd,字节数1,移到到位置n)  字节数为正时向文件尾移动,n为0表示文件头(默认),为1表示文件指针当前位

置,为2表示文件尾。=seek(dd,0,0)表示移动到文件头。=seek(dd,0,2)可返回文件的总字节数。=fseek(dd,0,1)返回文

件指针的当前位置。 =fseek(dd,10,1)将文件指针从当前位置向后移动10个字节。
ferror() 取得低级文件执行的错误码错误号 错误原因  如果低级文件函数执行成功,则 FERROR( ) 函数返回 0;如

果函数执行不成功,此函数返回一个正值。下列出了 FERROR( ) 函数返回的各个错误编号及错误原因 2文件没有

找到      4 打开的文件太多(文件句柄不够)        5 不能访问            6给出的文件句柄无效            8内存不足         25移动

文件指针时出错(无法将指针移到文件开始位置之前)         29磁盘已满         31 打开文件时出错


  VFP数据表加密解密程序

数据表加密解密程序
此程序在VPF6中通过并且无论经过多少次加密都一次解出
加密程序
newname="mmsd.dbf"
dbf_f_name=UPPER(ALLTRIM(newname)) && 文件名处理(变成大写)
hhandle=FOPEN(dbf_f_name,2) && 打开文件或通信端口,供低级文件函数使用
IF hhandle>0 &&如果fopen()打开文件,返回一个大于零的值
   fbyte=FREAD(hhandle,1)  && 读一个字节
   =FSEEK(hhandle,0)  && 将句柄移到头(在低级文件函数打开的文件中移动文件指针)
   =FWRITE(hhandle,IIF(fbyte==CHR(48),CHR(0),CHR(0))) &&改变数据库的关键命令
    ***向低级文件函数打开的文件或通信端口写入字符串
   =FCLOSE(hhandle) &&刷新并关闭低级文件函数打开的文件或通信端口
   hhandle
ENDIF hhandle>0
RETURN
解密程序如下
newname="mmsd.dbf" 
dbf_f_name=UPPER(ALLTRIM(newname)) && 文件名处理(变成大写)
hhandle=FOPEN(dbf_f_name,2) && 打开文件或通信端口,供低级文件函数使用
IF hhandle>0 && 打开文件或通信端口,供低级文件函数使用
   fbyte=FREAD(hhandle,1) && 读一个字节
   =FSEEK(hhandle,0) && 将句柄移到头(在低级文件函数打开的文件中移动文件指针)
   IF fbyte=CHR(0) .OR. fbyte=CHR(26)
      =FWRITE(hhandle,IIF(fbyte==CHR(0),CHR(48),CHR(48)))
   ENDIF
ENDIF
=FCLOSE(hhandle)
RETURN

 

JUSTDRIVE( ) 函数     从完整路径中返回驱动器的字母

JUSTEXT( ) 函数       从完整路径中返回文件扩展名的字符。

JUSTFNAME( ) 函数     从完整的路径和文件名中返回文件名部分

JUSTPATH( ) 函数      从包括完整路径和文件名中返回路径名。

JUSTSTEM( ) 函数      从包含完整路径和文件名中返回文件根名(扩展名前的文件名)。