用FoxPro实现英语单词排序
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机上运行通过。