2024年5月6日发(作者:)

巧用VFP中的列表框ListBox控件

易学文

【摘 要】The ListBox control in VFP provides convenience for program

design,query,modify and -er,the user must understand

the basic syntax of the query,the keywords of modify the query file or

select statement,refine the query,which undoubtedly increases the

difficulty of set query conditions by adding or removing a list box

con-trols,it will be more convenient for uses to use.%VFP中的列表框

ListBox控件,为程序设计、查询、修改、运行提供了方便。然而,用户必须懂得

查询语句的基本语法,修改查询文件或 selcet语句的关键字,重新定义查询,这

无疑增加了使用难度。通过增加或移去列表框控件值的方法设置查询条件,用户使

用起来会更加便捷。

【期刊名称】《黄冈职业技术学院学报》

【年(卷),期】2015(000)002

【总页数】3页(P97-99)

【关键词】VFP;ListBox控件;属性;设置技巧

【作 者】易学文

【作者单位】黄冈职业技术学院,湖北 黄冈 438002

【正文语种】中 文

【中图分类】TP311.11

列表框主要用于选择一组指定的数据,用户从列表中选取选项,然后执行所需的操

作。VFP中的列表框ListBox控件,便于用户进行程序设计、查询、修改和运行。

然而,在VFP中进行查询时,用户必须懂得查询语句的基本语法,修改查询文件

或selcet语句的关键字重新定义查询,这无疑增加了使用难度。笔者在运用VFP

中的列表框ListBox控件进行程序设计、查询、修改与运行的过程中,探索了VFP

中的列表框ListBox控件的使用技巧,现以新生报到管理系统为例,通过增加或移

去列表框控件值的方法来设置查询条件,用户使用起来会更加便捷[1]。

1 主要实现过程

1.1 建立学生信息表()

学生信息表的主要内容包括录取号、考生号、姓名、性别、身份证号、民族、院系

名称、录取专业、科类、省市名称、地址、中学名称、成绩等。

1.2 建立表单文件 (modify form xsbcx),表单的主要包括2个列表框

(list1,list2),7个命令按钮,如图1所示。

1.3 设置事件代码

1.3.1 打开命令按钮

打开命令按钮的功能是打开任意数据表文件,并将其表结构显示在列表框list1中,

如图2所示,主要事件代码如下(click事件)[1]:

图1 建立表单文件的列表框控件和命令按钮控件

clos all&&关闭当前所有数据表文件

publ f1,tj1&&定义2个全局变量,f1记录打开的数据表名,tj1记录查询条件

f1=getfile("dbf")&&将打开类型为dbf的数据表名赋值给变量f1

if empty(f1)&&判断变量f1是否为空,即是否选择数据表文件

retu

endif

use(f1)

copy stru extend to f2&&将选择的数据表结构拷贝到临时文件f2中

use f2

scan

m(field_name)&& 将 f2表中的值添加到list1列表框中

ends

h

图2 选择数据表后列表框list1中显示xsb表的字段

1.3.2 单个选择命令按钮

单个选择命令按钮实现的功能是将列表框list1中的字段值,添加到列表框list2中,

如图3所示,主要事件代码如下(click 事件)[2]:

if dex>0 && 判断是否选择列表框list1中的数据

m()&&在列表框2中增加列表框1所

选字段值

item(dex)&&列表框1删除已选择字

段值

endif

图3 设置查询条件

1.3.3 单个移去命令按钮

单个移去命令按钮实现的功能是将列表框list2中的字段值,移动到列表框list1中,

与单个选择命令按钮功能相反,主要事件代码如下(click事件):

if dex>0 && 判断是否选择列表2中的数据

m()&&列表框1增加列表框2所选字

段值

item(dex)&&列表框2删除已选择字

段值

endif

1.3.4 全部选择命令按钮

全部选择命令按钮的功能是将列表框1中全部数据,添加到列表框list2中,主要

事件代码如下(click事件):

for i=1 to unt

dex=1

m()

item(1)

endfor

1.3.5 全部移去命令按钮

全部移去命令按钮的功能是将列表框list2中全部数据,全部移动到列表框list1中,

此功能与全部选择命令按钮相反,主要事件代码如下(click事件):

for i=1 to unt

dex=1

m()

item(1)

endfor

1.3.6 查询命令按钮

查询命令按钮的功能是根据用户选择的查询条件,执行查询,如图4所示,其主

要事件代码如下(click 事件)[3]:

if unt=0

=messagebox("没有选择字段!",48,"警告!")

retu

endif

tj1=""

for i=1 to unt

dex=i

tj1=tj1+allt()+","

endfor

tj1=subs(tj1,1,len(tj1)-1)

sele&tj1 from(f1)

图4 查询结果

1.3.7 退出命令按钮

退出命令按钮功能为退出当前程序,主要事件代码为(click事件):

clos all

dele file

release f1,tj1

release thisform

2 小结

以上程序在VFP6.0中运行通过。文中介绍的列表框使用技巧是笔者在日常编程过

程中探索总结的一些小技巧,通过定义命令按钮的事件代码,设置列表框的属性值,

能够完成不同条件的查询要求,方便用户解决实际问题。

参考文献:

[1]Microsoft Corporation.希望图书创作室译.Microsoft Visual FoxPro6.0中

文版语言参考手册[M].1999.

[2]罗颂,詹斌,余健.Visual FoxPro 6.0 课程设计案例精编[M].清华大学出

版社,2008.

[3]史济民,汤观全.Visual Foxpro及其应用系统开发[M].清华大学出版社,

2000.