回复7楼
使用vfp中的低级文件函数,象本帖的例子,如果date.dat 包含在编译的.exe文件中,则行用以下命令:
lsFileHandle=FOPEN("date.dat",10)&&使用FOPEN()打开文件date.dat,
&&由于date.dat 包含在编译的.exe文件,
&&系统调入.exe文件时会同时调入date.dat 在内存中,
&&FOPEN()会首先在内存中找相应的文件。找到后打开,并将文件句柄号传给lsFileHandle
&&参数10为只读打开,包含在编译的.exe文件中的date.dat 只能只读打开。
wrFileHandle=FCREATE("lsfile.dat",0)&&使用FCREATE()在当前目录建立一个临时文件
&&文件名暂定为lsfile.dat,参数0为读写建立,并将文件句柄号传给wrFileHandle
&& 然后使用以下循环将date.dat内容写到lsfile.dat中
=FSEEK(lsFileHandle,0,0) &&将date.dat的文件指针指向文件头
do whil not FEOF(lsFileHandle)&&文件指针到date.dat文件尾时结束
tempstring=FREAD(lsFileHandle,254)&&每254字节读取date.dat文件内容给tempstring
lslsstring=changstring(tempstring)&&将加密内容tempstring进行解密处理。
&&自定函数changstring()为解密及判断提取函数,处理后的内容传给lslsstring。
=FWRITE(wrFileHandle,lslsstring)&&将lslsstring写入文件lsfile.dat中
endd
=fclose(lsFileHandle)&&关闭文件date.dat
=fflush(wrFileHandle)&&将lsfile.dat的内存缓冲写入磁盘
=fclose(wrFileHandle)&&关闭文件lsfile.dat
**生成lsfile.dat文件后,对该文件进行处理。
**处理完后用delete file lsfile.dat删除文件lsfile.dat
**整个过程费时不足1毫秒,用户没有任何感觉,处理很隐蔽。