| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 677 人关注过本帖
标题:[求助]几个简单问题求助
只看楼主 加入收藏
tay_pop
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-11-15
收藏
 问题点数:0 回复次数:2 
[求助]几个简单问题求助
小弟是初学VFP 有几个问题在书上和网上找了半天也没有答案,希望高手指点下! 先谢过啦!!

1 INDEX ON 性别 TO INRS TOTAL TO TRS ON 性别
其中INRS 和 TRS 是什么意思啊 搞不懂。。。

2 还有退出应用程序的命令是什么。。。。

3 如何接受从键盘输入的数据 是有固定的命令么。

可能这些问题都比较弱,但我是真的想学,身边又没有懂这些的朋友,希望有高手帮帮忙!谢谢啦
搜索更多相关主题的帖子: 简单问题 TRS 性别 INRS 
2006-11-15 21:51
pogai
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-3-3
收藏
得分:0 

怎么把两条命令写在一起了。
index命令:
创建一个索引文件,利用该文件可以按某种逻辑顺序显示和访问表记录。

INDEX ON eExpression TO IDXFileName | TAG TagName
[ COLLATE cCollateSequence ] [OF CDXFileName] [FOR lExpression]
[COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE]
参数
eExpression
指定一个索引表达式,该表达式中可以包含当前表中的字段名。在索引文件中,按索引表达式给每一个表记录都创建一个索引关键字,Visual FoxPro 使用这些关键字来显示和访问表中的记录。
注意 不要使用变量, 数组元素, 或另一个工作区中的字段或字段表达式作为 eExpression。如果你访问一个包含变量或不再存在或不能找到的字段的索引, Visual FoxPro 产生一条错误信息。
备注字段不能单独用于索引文件的表达式; 它们必须与其它字符表达式组合使用。如果你包含前缀是表别名或工作区的字段到索引表达式中, Visual FoxPro 产生一条错误信息。
虽然在包含别名字段的情况下,可以用 Rushmore 技术优化 FOR 子句,但在创建索引时最好避免使用别名字段。在有些情况下(USE ... AGAIN、SQL 查询等等),Visual FoxPro 会自动给表指定一个不同的别名,这时可能不能正确更新或使用索引。有关 Rushmore 技术的详细内容,请参阅 用 Rushmore 查询优化数据访问速度。
如果要建立一个具有可变长度关键字的索引,关键字会被空格填充。Visual FoxPro 不支持可变长度的索引关键字。

索引关键字的长度可以为 0。例如,当索引表达式是空备注字段的一个子字符串时,所创建的索引关键字长度就为 0。当 Visual FoxPro 创建索引时,它检验表中第一个记录的字段,如有一个字段为空,可能需要向第一个记录中这样的字段内填入一些临时数据,以免产生长度为 0 的索引关键字。

.idx 索引的索引关键字长度必须在 1 到 100 个字符之间。 .cdx 索引的索引关键字必须在 1 到 240 字符之间。

TO IDXFileName
创建 .IDX 索引文件。索引文件的默认扩展名为 .IDX,可以使用一个与之不同的扩展名,也可以在 Visual FoxPro 配置文件内改变索引文件的这个默认扩展名。创建索引文件时,必须遵循标准 MS-DOS 的文件命名规则。
TAG TagName [COLLATE cCollateSequence] [OF CDXFileName]
创建一个复合索引文件。复合索引文件是一种可包含任意数量的独立标识(索引项)的单个索引文件,每一个标识都由其唯一标识名确定。标识名必须以字母或下划线开头,最多可由 10 个字母、数字或下划线组成。复合索引文件中的标识数目仅受可用内存和磁盘空间的限制。
多项复合索引文件一般是压缩的。创建复合索引文件时不必包含 COMPACT 。复合索引文件的扩展名为 .CDX。

COLLATE cCollateSequence 子句指定一个非默认设置 MACHINE 的比较序列。cCollateSequence 参数必须是可用的 Visual FoxPro 比较序列。关于设置比较序列的详细信息, 参见 优化国际化应用程序 和 set collate 命令。

可创建的复合索引文件有两种类型:结构复合索引文件的和非结构复合索引文件。

在 TAG TagName 参数中不包含可选的 OF CDXFileName 子句,便可以创建结构复合索引文件。结构复合索引文件的基本名(不含扩展名的文件名)总是与表的基本名相同,并且自动与表同时打开。

如果一个表的复合索引文件不能被定位、已被删除,或者已被重命名,则在打开该表时会显示一个对话框。这时如果在对话框中选择默认的“取消”按钮,则不打开表;如选择“忽略”按钮,则打开该表,并且删除表头中的标记。表头表明该表与结构复合索引文件相关联。

提示 如果一个结构复合索引已经与它的表脱离关系,则用下面的命令可以使它重新和表相关联:
USE TableName INDEX CDXFileName
在 TAG TagName 参数之后包含 OF CDXFileName,便可以创建非结构复合索引文件。与结构复合索引不同的是,必须明确使用 SET index 命令或 USE 命令中的 INDEX 子句打开非结构复合索引文件。

如果一个复合索引文件已经创建并打开, 发出 INDEX 带 TAG TagName 添加一个标识到复合索引文件中。

CDXFileName 的名字与结构复合索引是非关联的。确信在表被修改后重新索引它 如果是非关联的结构复合索引。

FOR lExpression
指定一个条件,只显示或访问满足这个条件表达式 lExpression 的记录,索引文件只为那些满足条件表达式的记录创建索引关键字。
如果 lExpression 是一个可优化表达式,Rushmore 将优化 INDEX ... FOR lExpression 命令。

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

COMPACT
创建一个压缩的 .IDX 文件。
ASCENDING
指定 .CDX 文件为升序。在默认情况下,按升序创建 .CDX 标识(包含 ASCENDING 参数可以将索引文件的排序方式明确指示出来)。同样,包含 DESCENDING 可按降序索引一个表。
DESCENDING
指定 .CDX 文件为降序。在创建 .IDX 文件时不能包含 DESCENDING 参数,但可以用 SET INDEX 或 SET ORDER 命令将 .IDX 索引文件指定为降序。
UNIQUE
对于一个索引关键字值,只有第一个满足该值的记录包含在 .IDX 文件或 .CDX 标识中。利用 UNIQUE 子句可以避免显示或访问记录的重复值。所有添加到表中的记录,如果与表中原有记录有重复的索引关键字值,则不包含在索引文件之内。使用 index 命令的 UNIQUE 选项,与在执行 INDEX 或 REindex 命令之前执行 SET UNIQUE ON 命令完全等效。
在 UNIQUE 索引或索引标识处于激活状态时,如果更改了一个有重复索引关键字值的记录,则同时需要更新索引或索引标识。但在重新用 REindex 命令重索引该文件之前,仍然不能访问下一个有相同索引关键字值的记录。

CANDIDATE
创建候选结构索引标识。只有在创建结构索引标识时才能包含关键字 CANDIDATE;否则,Visual FoxPro 会产生错误信息。
使用候选索引标识可以避免索引表达式 eExpression 指定的字段或字段组合有重复值。Candidate(候选)一词是指索引类型;因为候选索引中不同的记录没有重复值,所以它们可以作为主索引的“候选”索引。

如果一个字段或字段组合已包含重复值,那么为它创建候选索引标识时,Visual FoxPro 会产生错误信息。

有关候选索引标识和主索引标识的详细内容,请参阅 设置主索引或候选索引。

ADDITIVE
所有先前已打开的索引文件保持打开状态。如省略 ADDITIVE 子句,则在用 index 命令创建索引文件或表时,关闭所有先前已打开的索引文件(结构复合索引文件除外)。

备注
在具有索引文件的表中,可以按索引表达式所规定的顺序显示或访问记录,但并不按索引文件更改表的物理存储顺序。

如果 SET TALK 设置成 ON,则在索引过程中,Visual FoxPro 会报告已建立索引的记录数目。索引过程中显示记录的计数器间隔可由 SET ODOMETER 指定。

使用 DISPLAY STATUS 命令可以显示打开的索引文件的许多内容,其中包括所有打开的索引文件的文件名、类型(结构、非结构的 .CDX、.IDX)、索引表达式、排序序列以及主控索引文件名或主控标识名。

可以打开的索引文件(.CDX 或 .IDX)数目只受内存或系统资源的限制。在 Visual FoxPro、FoxPro for Windows 和 FoxPro for MS-DOS 中,能打开的文件总数目由 MS-DOS 的配置文件 CONFIG.SYS 中的 FILES 设置决定。有关 FILES 设置的详细内容,请参阅 MS-DOS 手册。

索引类型 Visual FoxPro 允许创建两种类型的索引文件:

包含多个索引标识项(索引名)的 .CDX 复合索引文件
包含一个索引项的 .IDX 单项索引文件
也可以创建结构复合索引文件,这种索引文件在打开表时自动打开。

提示 因为结构复合索引文件随表的打开而自动打开,所以这种类型比较常用。
包含 COMPACT 子句可创建压缩的 .IDX 索引文件,复合索引文件总是压缩的。

索引的顺序与更新 表的显示或访问顺序只由一个索引文件(主控索引文件)或标识(主控标识)控件。有一些命令(如 SEEK 命令)使用主控索引文件或标识搜索记录,但是在修改表时,所有已打开的 .IDX 和 .CDX 索引文件都将被更新。使用 USE 命令的 INDEX 子句或 SET INDEX 和 SET ORDER 命令可以指定主控索引文件或标识。


注意 替换关键字段修改当前记录在索引中的相对位置。因此你在执行 REPACE ALL 或 SCAN...ENDSCAN 修改一个范围的索引时应该小心。这也适用于在使用了 FOR 子句创建的索引上的 REPLACE 操作。
用户定义函数 索引表达式中虽然可以包含用户自定义函数,但最好不要这样做,因为索引表达式中使用用户自定义函数会增加创建或更新索引所需的时间。另外,如果索引表达式中使用了用户自定义函数,有可能不更新这个索引。

如果索引表达式中使用了用户自定义函数,则应该保证 Visual FoxPro 能够找到这个函数。当 Visual FoxPro 创建索引时,索引表达式存储在索引文件中,但用户自定义函数并不存储在索引文件中,索引文件中只保存指向用户自定义函数的引用。







total命令:
计算当前选定表中数值字段的总和。

TOTAL TO TableName ON FieldName [FIELDS FieldNameList] [Scope]
[FOR lExpression1] [WHILE lExpression2] [NOOPTIMIZE]
参数
TableName
指定存放计算结果的表的名称。如果指定的表不存在,Visual FoxPro 将创建它;如果表存在,并且 SET SAFETY 为 ON,则 Visual FoxPro 将询问是否要改写这个已存在的表。如果 SET SAFETY 为 OFF,则不做任何提示直接改写输出表。
FieldName
指定总计时作为分组依据的字段。表必须以该字段排序,或者打开的索引或索引标识必须以该字段作为其关键字表达式。
FIELDS FieldNameList
指定要总计的字段。列表中的字段名用逗号分隔。如果省略了 FIELDS 子句,默认合计所有的数值型字段。
Scope
指定要合计的记录范围。范围子句有:ALL,NEXT nRecords,Record nRecordNumber 和 REST。有关范围子句的详细内容,请参阅联机主题中的 scope(作用域)子句 或 语言概述。
TOTAL 命令默认的范围是全部 (ALL) 记录。

FOR lExpression1
指定一个条件,只有满足该逻辑条件 lExpression1 的记录包含在总计中。
如果 lExpression1 是可优化表达式,那么 Rushmore 可以优化 TOTAL ... FOR 创建的查询。为了达到更好的性能,请在 FOR 子句中使用可优化表达式。

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

WHILE lExpression2
指定一个条件,只要逻辑表达式 lExpression2 计算为“真”(.T.) 时,当前表中的记录就包含在总计中。
NOOPTIMIZE
关闭 TOTAL 的 Rushmore 优化。
详细信息, 参见SET OPTIMIZE 和 用 Rushmore 查询优化数据访问速度。

备注
要使用此命令,当前工作区中的表必须经过排序或索引。对于具有相同字段值或索引关键字值的各组记录,将分别计算其总计值。总计结果放入另一个表的记录中,同时在此表中还将对这些字段值或索引关键字值创建一条记录。

如果第二个表中数值字段的宽度不足以放置总计值,将会发生数值溢出错误。当发生数值溢出错误时,Visual FoxPro 保存总计值最主要的部分:

小数位被截断,即对总计值余下小数位进行圆整。
如果总计值仍然不能放下,例如包含七位以上的数字,这时将采用科学计数法表示。
最后,用星号代替字段的内容。

2006-11-16 08:36
pogai
Rank: 1
等 级:新手上路
威 望:1
帖 子:90
专家分:0
注 册:2006-3-3
收藏
得分:0 
退出应用程序,要看你点击什么地方了?
如果是点击主窗口右上角的那个叉叉关闭按钮的话,用on shutdown quit;
如果是点击表单中用自创的按钮,用thisform.release



wait:接受键盘输入的一个字符
accept:接受键盘输入的一串字符,一般以回车结束
input:同上,但要按照VFP的数值类型输入来确定类型数据,也是以回车结束。


inputbox()函数:
显示被参数化视图使用的, 用于输入单个串的模式对话框。
INPUTBOX(cInputPrompt [, cDialogCaption [, cDefaultValue [, nTimeout [,cTimeoutValue]]]])
参数
cInputPrompt
指定在输入文本框上显示的提示信息。
cDialo
指定显示在对话框标题栏中的文本。
cDefaultValue
指定显示在输入文本框中的默认值。
nTimeout
指定一个超时值, 单位为 1/1000 秒。
cTimeoutValue
指定如果发生超时返回的值。

备注
对话框显示一个编辑框和 OK 和 Cancel 按钮。OK 按钮总是返回文本框内容。取消按钮总是返回空串。超时总是返回 cTimeoutValue 中指定的文本或在未传递 cTimeoutValue 时返回空串。

示例
Y = "Nothing at all"
Y = INPUTBOX("TypeHere","Input ",Y,5000)
&& 显示 对话框 for 5 seconds,
&& then displays anything typed or "Nothing at all"
2006-11-16 08:43
快速回复:[求助]几个简单问题求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016798 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved