VFP编程技巧 -电脑资料
在VFP中如何历遍所有文件夹和文件
在VFP中,能象一些杀毒软件那样,找遍磁盘的所有文件夹和文件吗?
答案是肯定的,而且很简单:
*利用VFP的Create Cursor -SQL命令建立有5个字段的临时库
*结合前面提到的ADIR()函数便可完成,
VFP编程技巧
。下面是具体代码:
dqml=''C:'' &&需扫描的盘符
use
Create Cursor mylsdbf (wjmc c(120),wjcd n(10),wjrq d,wjshj c(10),wjsx c(6))
xGS=1
xCD=0
append BLANK
REPL wjmc WITH dqml
do while !eof()
nRecn=Recn()
dqml=allt(wjmc)+''\''
x=adir(Mysz,(dqml+''*.*''),''rashd'')
if x<>0
for I=3 to x
Mysz(I,1)=dqml+Mysz(I,1)
xGS=xGS+1
xCD=xCD+Mysz(I,2)
endf
append from array Mysz for allt(wjmc)<>''.'' AND allt(wjmc)<>''..'' and ''D''$wjsx
endi
go nRecn
skip
endd
use
这里有以上例子的源代码实例下载
在VFP如何利用低级文件操作函数读取*.INI文件
VFP为我们提供了16个低级文件操作函数,充分利用这些函数,几乎可对所有文件进行本来只有汇编、C等语言才能进行的操作。
*.INI文件其实也是ASCII码文本文件,只不过有其特定的规律而已。
下面以读取system.INI中[boot.description]关键字里的mouse.drv标识符中的值为例来说明:
nPath_ls=fullpath(''command.com'',2)
nPath=strtran(nPath_ls,''COMMAND.COM'',''system\'') &&取得Windows\system\的目录名
dkwjm=nPath+''system.ini'' &&需打开文件的路径和文件名
Fp=Foren(dkwjm,0) &&以只读(默认方式0可以不用)打开文件
if Fp<0
wait wind ''打不开您指定的文件''
retu
endi
do while !Feof(Fp)
wjnr=Fgets(Fp) &&从打开的文件中读取一行
if atc(''mouse.drv'',wjnr)=1
exit
endi
endd
=Fclose(Fp) &&关闭打开的文件
x=atc(''='',wjnr)
nQdz=iif(x>1,suns(wjnr,x+1),'''') &&nQdz=''标准鼠标''字符串
retu
我只不过是说明如何运用VFP提供的这些函数,至于如何建立和改写文件,为何用Fgets()来读取数据而不用Fread()来读取数据等,可以查阅VFP帮助,
电脑资料
《VFP编程技巧》()。VFP3.0的帮助是一本很好的中文教科书。
如何改变文件的最后修改日期和时间
在WINDOW 9X下我们没办法来改变一个文件的日期和时间,那在VFP能办到吗?
在WINDOW 9X下文件的日期和时间有创建、修改和访问三种,在通常情况下我们所说的文件日期和时间指的是修改这一项。
那在VFP下如何改文件日期和时间呢:
Fp=Foren(''需打开的文件'',2) &&以读写方式打开文件
if Fp<0
wait wind ''打不开您指定的文件''
retu
endi
wjnr=Fread(fp,1) &&从打开的文件头中读一个字节到wjnr
=Fseek(Fp,0,0) &&将文件指针移到文件头(回到原来的位置)
=Fwrite(Fp,wjnr,1) &&向打开的文件头中写入一个字节
=Fclose(Fp)
&&关闭打开的文件即把读取的那个字节原封不动的再写入文件,从而达到了将当前系统
的日期和时间来改写文件的日期和时间目的。
如何在程序的开始检测权限和根据权限操作
在一个程序的开始部分,如何根据不同的口令字来区分不同的登权限,各自的
口令字和权限设置又如何加以保密,以防止非法查看和修改?
我们辛辛苦苦编制的程序又如何根据每台机器的硬件来加以判断用户的合法
与非法,以防止非法拷贝?
针对以上问题,我编制了一个简单的程序实例供有兴趣的朋友参考。
该实例并非十分完美,也很简单,意在提供一种思路,大家可根据自己的情
况,加以完善。
实例共有一个数据表和四个模块组成,分别是:
一、KLK.DAT
这是经过vfpjmdbf.vcx加密后的数据表,解密后的表结构如下:
========================================================
表文件名: KLK.DBF
数据记录数: 3
最近更新的时间: 10/17/1999
代码页: 936
字段 字段名 中文含义 类型 宽度 小数位 索引 排序
1 BH 编号 字符型 2
2 XM 姓名 字符型 8
3 PASSKL 口令字 字符型 12
4 QX 权限 数值型 1
5 VARJB 硬盘卷标 数值型 12