FOXbase+运用技巧三则 云南 杨涛 1995-01-20 在字符型字段及明细型字段中,经常会遇到特殊字符的输入。如“句号、顿号”、“ψ”等,通常的方法是用区位码输入,有些汉字系统也可以用动态键盘,但总是要不断地变换输入方式,击键次数多,记忆困难。利用FOXbase+提供的功能键设置命令SET FUNCTION可以将常用的特殊字符定义在F2~F10的9个功能键上,使用起来方便自如。以下的程序定义了“、。ψⅠⅡⅢⅣ±×”等九个特殊符号: set func 2 to "、" set func 3 to "。" set func 4 to "ψ" set func 5 to "Ⅰ" set func 6 to "Ⅱ" set func 7 to "Ⅲ" set func 8 to "Ⅳ" set func 9 to "±" set func 10 to "×" 2.自动获取字段宽度 带横竖线的中文报表打印中,需按照每个字段的宽度,动态地安排数据及表格的打印位置。FOXbase+没有提供自动获取字段宽度的命令及函数,本人编制的这段小程序,能够自动 获取指定数据库的每个字段宽度存入数组xj。程序第三行将打开的数据库文件结构存入新生成的临时文件“lsvj”中,第十行再从临时文件中将字段宽度信息存入数组,最后删除临时文件。 use 数据库名 nn=fcou() &&取字段数 copy to lsvj stru extended use lsvj dime xj(nn) xj=0 go 1 n=1 do while n<=nn xj(n)=field_len skip n=n+1 enddo use erase lsvj.dbf 3.在自定格式文件中显示记录号和记录数 系统默认的编辑格式中,具有当前记录号提示,全屏幕编辑还有记录数提示。但用户自己编辑格式文件后,上述两种自动提示消失,使用不方便,在格式文件中加入以下程序语句,就能够两种提示同时显示,以便操作。 @ 5,50 say “记录号:” @ 5,58 say recno() @ 7,50 say "记录数:" @ 7,58 say reccount() 以上程序在TMS-286/20机,FOXBASE+2.1运行通过,汉字系统:SuperCCDOS5.0。