获得多个库结构的小程序

Author: 何庆 Date: 1998年 第02期 13版

  众所周知,在FoxPro中可以利用LIST STRU和DISP STRU命令来显示数据库结构。但是当数据库很多时,这样的操作就很繁琐。而我们在分析某一MIS(管理信息系统)时,常常需要知道系统中众多数据库的结构。下面的小程序可以解决这个问题。它可以将指定目录下所有数据库的库结构保存到根目录下的stru.txt文件中。
  源程序如下:
  CLEAR
  CLOSE ALL
  path=' '
  @1,1 SAY'请输入数据库文件所在路径:'
  @1,col()+2 GET path
  read
  set default to alltrim(path)
  dbf_num=ADIR(dbf_name,'*.dbf','H')
  IF dbf_num=0
  WAIT WINDOW '指定路径下找不到数据库文件!' NOWAIT
  RETURN
  ENDIF
  =fopen('c:\stru.txt',2)
  FOR i=1 TO dbf_num
  USE dbf_name(i,1)
  LIST STRU TO FILE c:\tmp.txt
  !copy c:\stru.txt+c:\tmp.txt c:\stru.txt
  !del c:\tmp.txt
  ENDFOR
  其中,ADIR(dbf_name,'*.dbf','H')函数将指定目录下所有后缀为.dbf的文件(包括隐含文件)的文件信息存入数组dbf_name中,并返回文件个数。ADIR()存入数组中的信息是:文件名,文件长度,建立文件的日期,时间和文件的属性。如数组不存在,FoxPro将自动建立它。
  本程序已在FoxPro2.5b中调试通过。