当前位置:编程学习 > Foxpro >>

visual foxpro 中 list 和display的区别?(希望可以详细点)

答案:显示记录格式 list|display[[fields]<字段名表>]<范围> for<条件> 区别在于:若<范围>和for<条件>均默认,list显示所有记录,display仅显示当前记录;若记录很多,一页显示不下时,list连续显示,display分页显示。
其他:list显示当前库中所有记录
disp 显示当前记录
带参数的列外
如disp all 效果和list一样 连续显示表或环境信息。

LIST   [FIELDS FieldLIST]    [Scope] [FOR lExpression1]
 [WHILE lExpression2]   [OFF]   [NOCONSOLE]   [NOOPTIMIZE]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
或者
LIST FILES   [ON Drive]    [LIKE FileSkeleton]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
或者
LIST MEMORY   [LIKE FileSkeleton]   [NOCONSOLE]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
或者
LIST STATUS   [NOCONSOLE]   
[TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
或者
LIST STRUCTURE   [IN nWorkArea | cTableAlias]   [NOCONSOLE]
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
备注
除了下列差别,LIST 命令与 DISPLAY 命令相同: 

ADDITIVE 
添加到命名文件的尾部。如果省略 ADDITIVE, 则文件用表达式值复盖。 
LIST 的默认范围是所有记录。 
信息充满 Visual FoxPro 主窗口或用户自定义窗口以后,LIST 不给提示,继续显示。 
当 SET DELETED 为 ON 时,LIST 不显示带删除标记的记录。 
--------------------------------------------------------------------------------------------------------------
在 Visual FoxPro 主窗口或用户自定义窗口中显示与当前表有关的信息。

DISPLAY [[FIELDS] FieldList] [Scope] [FOR lExpression1] 
   [WHILE lExpression2] [OFF] [NOCONSOLE] [NOOPTIMIZE] 
   [TO PRINTER [PROMPT] | TO FILE FileName [ADDITIVE]]
参数
FIELDS FieldList 
指定要显示的字段。如果省略了 FIELDS FieldList,就默认显示表中所有的字段。 
除非明确地将备注字段名包含在字段列表中,否则不显示备注字段的内容。备注字段的显示宽度由 SET MEMOWIDTH 决定。 

Scope 
指定要显示的记录范围。只显示在指定范围中的记录。范围子句有:ALL、NEXT nRecords、RECORD nRecordNumber 和 REST。包含 Scope 的命令只对活动工作区中的表进行操作。 
有关范围子句的详细内容,请参阅“帮助”中的 scope(作用域)子句。 

DISPLAY 默认的范围是当前记录 ( NEXT 1 )。 

FOR lExpression1 
指定只显示满足逻辑条件 lExpression1 的记录。这就允许您筛选出不想要的记录。 
如果 lExpression1 是一个可优化表达式,Rushmore 优化用 DISPLAY ... FOR创建的查询。要获得最佳效果,请在 FOR 子句中使用可优化表达式。

详细信息, 参见SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。 

WHILE lExpression2 
指定一个条件,只要逻辑表达式 lExpression2 求值为“真”(.T.),就显示记录。 
OFF 
不显示记录号。如果省略了 OFF,就在每个记录前显示记录号。 
NOCONSOLE 
不向 Visual FoxPro 主窗口或活动的用户自定义窗口输出。 
NOOPTIMIZE 
使 DISPLAY 的 Rushmore 优化无效。
详细信息, 参见SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。 

TO PRINTER [PROMPT] 
将 DISPLAY 的结果定向输出到打印机。 
在 Visual FoxPro 中,可以包含可选的 PROMPT 子句,在打印开始前显示一个对话框。在此对话框中可以调整打印机的设置,包括打印的数目和要打印的页。可调整的打印机设置依赖于当前安装的打印机驱动程序。请将PROMPT 直接放在 TO PRINTER 后面。 

TO FILE FileName 
将 DISPLAY 的结果定向输出到 FileName 指定的文件中。如果文件已经存在,且 SET SAFETY 设置为 ON,将提示您是否要改写此文件。 
ADDITIVE 
添加到命名文件的尾部。如果省略 ADDITIVE, 则文件用表达式值复盖。 
备注
DISPLAY 显示当前表记录的内容和表达式的结果。如果有更多信息需要显示,而在窗口中显示不完,就显示第一屏信息,然后暂停。按任意键或在任意位置单击鼠标可以看下一屏的信息。DISPLAY 与 LIST 相似,只是 LIST 在显示同样信息时连续输出而不暂停。

DISPLAY 也可用来显示表达式的结果,它可以包括字母和数字的组合、变量、数组元素、字段和备注字段。如果 SET HEADINGS 为 ON,字段名和表达式将显示出来。

示例
下面的示例打开 testdata 数据库的 customer 表, 显示第一个记录的内容。

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE customer  && 打开 Customer 表

CLEAR
DISPLAY FIELD cust_id, company, contact OFF NEXT 10 list 显示表中所有记录
disp 显示当前记录 

上一个:高分,找一个真正懂FOXPRO的人帮我解决表单运行中出现的一个错误,自己找半天找不出来
下一个:请教高人:如何在FOXPRO用一条替换命令来完成此题,非常感谢!!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,