简洁高效的FoxPro通用数据输入程序
下面假设数据库文件名为MAIN.DBF,以修改库中原有数据为例,给出完整的通用数据输入核心源程序如下:
clea
set talk off
use main
*以下7行读取字段个数,并将各字段名称赋给数组S
s1=fcou()
dime s(s1)
i=1
do whil i<=s1
s(i)=fiel(i)
i=i+1
endd
do whil.not.eof()
j=1
* j=1 首先显示所有字段的原来值
* j=2 然后进行各个字段依次输入
do whil j<=2
i=1
do whil i<=s1
if j=1
@i,10 say s(i)+“:”+spac(10-len(s(i)))
else
@i,21 get &s(i)
read
*以下if嵌套实现Ctrl+W强制完成数据输入
if read()=270
exit
endi
endi
@i,21 say &s(i)
*以下if嵌套实现字段间的上下移动
if read()=4.and.i<>1
i=i-1
else
i=i+1
endi
endd
j=j+1
endd
if read()=270
exit
endi
skip
endd
rele s
set talk on
clos all
retu
以上通用数据输入核心源程序虽然很短小但是非常有效,除了未考虑特殊的General和Picture字段类型输入,其它所有类型的字段均可自动匹配。如果您正在编写输入模块,不妨作个参考,将这段程序追加到模块主体,按照您的具体要求,在适当的地方略加几条语句,并稍微润色@语句的行列值,再在SKIP位置加上记录上下翻阅或跳转,则可完成。