微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题关于结构扩展文件的自动生成
栏目多媒体技术与产品
作者四川 郑直
发布1996-11-22
  1.DBFSTR串定义中字段名'FIELD-LEN'和'FIELD-DEC'均只有九个字符,其后面应再加上一个回车符CHR(13),光标才能从CREAT TEMP界面的字段名域移入类型域并正确续用其后的字符输入,否则不能生成正确的结构扩展库文件。
  2.Keyboard为FoxBase提供的命令而非Keyboard()函数。
  另外,CREAT界面中类型域既可以用类型字符串首字符“C、N、D、L、M”直接选择,也可以用适当数量(默认类型排列的顺序数减一)的空格符CHR(32)加回车符选择;“N”型字段的零小数位可以不输,即原串定义的“0”可不要;字段类型为默认“C”型时可直接回车;执行Keyboard命令之前宜先执行Clea type命令以清除键盘缓冲区。
  由于使用现有的结构扩展文件的快速响应和CREAT交互式界面的不友好性,这种方法只适宜作为一种补救性的设计措施。若考虑到有可能无任何现有库利用的情况,建议应尽可能自备结构扩展文件。的确需要自动生成时宜在应用程序的初始化阶段完成为好。
  下面提供一个完整的结构扩展文件自动生成子程序,定义串使用空格符加回车符选择字段类型,可指定工作区和结构扩展文件名。
  程序在汉字FoxBase+2.10系统调试通过。
  *程序名称:EXTDBF.PRG
  *功能:自动生成结构扩展文件
  *入口参数:AREA__<expC>指定工作区号(0~10)
  *DBFNAME__<expC>指定结构扩展文件名
  *调用方式:DO EXTDBF WITH AREA,DBFNAME
  1 PARA AREA,DBFNAME
  2 SET TALK OFF
  3 SET ECHO OFF
  4 SET SAFE OFF
  5 SET BELL OFF
  6 SET STAT OFF
  7 SET SCOR OFF
  8 INSTRING="FIELD-NAME"+CHR(13)+"10"+CHR(13);
  +"FILED-TYPE"+CHR(13)+"1"+CHR(13);
  +"FILED-LEN"+CHR(13)+CHR(32)+CHR(13)+"3"+CHR(13)+CHR(13);
  +"FILED-DEC"+CHR(13)+CHR(32)+CHR(13)+"3"+CHRR(13)+CHR(13);
  +CHR(13)+CHR(13)+CHR(13)
  9 CLEA TYPE
  10 KEYB (INSTRING)
  11 OLD-AREA=LTRI(STR(SELE()))
  12 SELE &AREA
  13 CREA &DBFNAME
  14 SELE &OLD-AREA
  15 RETU