用FoxPro实现英语单词排序 刘冬生 1998年 第18期 13版   最近有些拥有计算机的人在用诸如译林、UCDICT等翻译软件学习英语时,要将查询的历史记录按顺序打印出来,以便记忆。其格式如下:   famous   adj.著名的;极好的   essential   n.要素;本质;要点;精髓   adj.本质的;实质的;根本上的;必要的   communicator   n.传达者;发报机   ……   上述格式的特点是每个英语单词之间有一空行,每个单词的解释有若干行,我们只要将第一行的单词存入一字符型的字段中,将其若干行解释内容存入一备注型字段中,对字符型字段进行排序之后,即可输出排好序的内容,而格式完全不变,源程序如下:   ***程序名:ec.prg   ***排序之前的文件名:ec.log,排序之后的文件名:ec.txt   set talk off   crea table ec (aa c(60)) &&创建一个数据库,用来存放排序之前的单词   appe from ec.log sdf   sele 2   crea table tmp (aa c(40),bb m(10)) &&创建临时数据库   sele 1   go top   do while .not.eof()   if !empty(aa)   sele 2   appe blan   repl aa with trim(a.aa)   sele 1   do while !empty(aa)   skip   sele 2   repl bb with bb+trim(a.aa)+chr(13) &&加回车换行符,以保持原有格式   sele 1   enddo   else   sele 1   skip   endif   enddo   sele 2   set uniq on &&打开唯一性开关,避免出现重复的单词   inde on lower(aa) to tmp &&以小写为准进行排序   set prin to ec.txt   set devi to prin   do while .not. eof()   @prow(),0 say trim(aa)   @prow()+1,0 say trim(bb)   skip   enddo   set devi to scre   set prin to   close data   !del ec.dbf   !del tmp.*   retu   以上程序在FOXPRO 2.5、386~586机上运行通过。