2.2.2学习指导
1.Visual FoxPro操作概述
1)Visual FoxPro的功能
①数据定义
②数据操纵
③数据控制
④程序文件的编辑、运行和调试
⑤应用程序界面设计
2)Visual FoxPro的工作方式
①菜单操作方式:是Visual FoxPro的一种重要的工作方式。Visual FoxPro的大部分功能都可以通过菜单操作来实现。
②命令操作方式:通过命令窗口直接输入Visual FoxPro命令执行相关操作。
③程序工作方式:由命令或语句组成程序文件。通过运行程序文件完成各种任务。
注意:Visual FoxPro启动后,命令窗口被自动设置为活动窗口,若要隐藏命令窗口,可以选择“窗口“菜单项中的”隐藏“选项。命令窗口被隐藏后,按快捷键Ctrl+F2,或在“窗口”菜单项中选择“命令窗口”选项,则命令窗口被激活展现出来。
2.Visual FoxPro命令的结构
1)一般格式
<命令动词> [<子句>]
命令动词:指明了该命令的功能。
短语:短语通常用来对所要执行的命令进行某些限制性的说明
2)关于命令格式的约定:
< >表示必须提供一个特定类型的值,以满足尖括号内项的要求;
[ ]表示方括号内的项是可选择的,即该项可以有也可以没有;
| 表示或者,即其中可选择一项。
注意:在实际键盘输入时,不输入“< > [ ] |”符号
3.命令中的常用短语,见表2-1所示。
字符串常量的定界符是什么 表2-1 命令中的常用短语
命令短语 | 具体内容 | 含义 |
<范围>子句 | ALL | 表示对数据表的所有记录进行操作 |
RECORD n | 对第n条记录进行操作 | |
NEXT n | 对从当前记录开始的n条记录进行操作 | |
REST | 对从当前记录到文件结束的所有记录进行操作 | |
FIELDS子句 | FIELDS <字段名表> | 对数据表的部分字段进行操作,字段之间用“,”隔开。不选择该子句,则命令对表中所有字段进行操作 |
FOR子句 | FOR <条件> | 见下面说明 ① |
WHILE子句 | WHILE<条件> | 见下面说明 ② |
TO RINTER|TO FILE子句 | TO RINTER |TO FILE <文件名> | 选择时,结果输出到打印机或文件,否则输出到屏幕 |
说明:
① FOR <条件>的作用是:在规定的范围中,按条件检查全部记录,即从第一条记录开始,满足条件的记录就执行该命令,不满足就跳过该记录,继续搜索下一条记录,直到最后一条记录。若省略<范围>则默认为ALL。
② WHILE <条件>的作用是:在规定的范围中,只要条件成立,就对当前记录执行该命令,并把记录指针指向下一条记录,一旦遇到使条件不满足的记录,就停止搜索并结束该命令的执行。即遇到第一个不满足条件的记录时,就停止执行该命令,即使后面还有满足条件的记录也不执行。若省略范围则默认为REST。
2.3 Visual FoxPro的数据及其运算
2.3.1本章要点
◆ 数据类型、常量及变量
◆ 内存变量的操作
◆ Visual FoxPro常用函数及其应用
◆ Visual FoxPro的运算符及表达式
2.3.2学习指导
1.数据类型
在Visual FoxPro系统中提供了多种不同的数据类型。主要常用的数据类型有字符型、数值型、货币型、日期型、日期时间型、逻辑型、备注型、通用型等。
2.常量
常量用以表示一个具体的、不变的值。主要包括:字符型常量、数值型常量、货币型常量、逻辑型常量、日期型常量、日期时间型常量。
1)字符型常量:是用定界符括起来的一串字符。字符型常量的定界符有半角状态下的:单引号、双引号和方括号。
注意:不含任何字符的字符串("")叫空串,包含空格的字符串(" ")是空格字符串,二者是有区别的。
2)数值型常量:由数字0~9、小数点和正负号组成。数值型常量有两种表示方法:小数形式和指数形式。
3)货币型常量:书写格式与数值型常量类似,但要加上一个前置的$。货币型数据在存储和计算时,采用4位小数。如果一个货币型常量多于4位小数,那么系统会自动将多余的小数位四舍五入。
4)日期型常量:是指放在一对花括号中,包括年、月、日3部分内容,各部分内容之间用分隔符分隔。分隔符可是斜杠(/)、连字号(-)、句点(.)和空格,其中“/”是系统在显示日期型数据时使用的默认分隔符。 日期型常量的格式如下:
①传统的日期格式
系统默认的日期型数据为美国日期格式“mm/dd/yy”(月/日/年), 传统日期格式中的月、日各为2位数字,而年份可是2位也可是4位数字,如{10/08/06}、{10-08-06}、{10 .08 .2006}
②严格的日期格式:{^yyyy-mm-dd}
花括号内第一个字符必须是字符(^);年份必须用4位(如2001、1999等);年月日的次序不能颠倒、不能缺省。如{^2008-01-23}
③影响日期格式的设置命令,如表2-2所示。
表2-2 影响日期格式设置的命令
命令格式 | 命令功能 |
set mark to [日期分隔符] | 用于设置显示日期型数据时使用的分隔符,如“-”、“.”等 |
set date to <参数> | 设置日期显示的格式 |
set century on /off | 用于设置显示日期型数据时是否显示世纪即是否用4位数字显示年份 |
set strictdate to [0|1|2] | 用于设置是否对日期格式进行检查。0表示不进行严格的日期格式检查:1表示进行严格的日期格式检查,它是系统默认的设置;2表示进行严格的日期格式检查,并且对ctod()和ctot()函数的格式也有效 |
5)日期时间型常量
包括日期和时间两部分内容: {<日期> <时间>}。
◆ <日期>部分与日期型 常量相似,也有传统的和严格的两种格式。
◆ <时间>部分的格式为:[hh[:mm[:ss]][a|p]].其中hh、mm和ss分别代表时、分和秒,默认值分别为12、0和0。AM和PM分别代表上午和下午,默认值为AM。如果指定的时间大于等于12,则自然为下午的时间。
6)逻辑型常量
逻辑型数据只有逻辑真和逻辑假两个值.
◆ 逻辑真的常量表示形式有:.T. 、.t.、.Y.和.y.
◆ 逻辑假的常量表示形式有:.F.、.f.、.N.和.n.
注意:前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。
3.变量
在命令执行过程中,其值可变化的量称为变量。变量的3个要素:变量名、数据类型和变量值。在Visual FoxPro中变量分为系统变量、字段变量和内存变量。内存变量又可分为简单内存变量和数组变量。
1)字段变量:字段变量就是表中的字段名,其值是表中对应的记录值。字段变量的名字、类型、长度等是在定义表结构时定义的。
2)内存变量:它是一种临时变量,是在程序执行过程中用于存放临时数据(中间结果或最终结果)的内存工作单元。
3)字段变量与数据库中的表有关,字段变量的值是当前所打开的表的当前记录的该字段的值。内存变量与数据库无关,是用来存放数据的内存区域。内存变量的数据类型由赋值给它的数据决定,是可以改变的。
注意:当字段变量与内存变量同名时,字段变量优先。内存变量应该用如下格式进行访问:M.内存变量名 或 M->内存变量名
4)变量命名规则
◆ 使用字母、汉字、下划线和数字命名。
◆ 命名以字母或下划线开头。除自由表中字段名、索引的TAG标识名最多只能10个字符外,其他的命名可使用1~128个字符。
◆ 为避免误解、混淆,避免使用Visual FoxPro的保留字。
◆ 文件名的命名应遵循操作系统的约定。
5)内存变量操作命令,见表2-3所示。
表2-3 内存变量操作命令
命令名称 | 命令格式 | 命令功能 |
内存变量赋值 | STORE <表达式> TO <内存变量表> | 把一个相同的值同时赋值给多个内存变量 |
<内存变量> = <表达式> | 计算<表达式>的值并赋值给指定一个内存变量 | |
输出内存变量值 | ?<表达式表> | 先回车换行,再计算并输出表达式的值 |
??<表达式表> | 在屏幕上当前位置,计算并直接输出表达式的值 | |
显示内存变量 | list memory | 连续显示当前内存变量的变量名,作用域,类型,值 |
display memory | 分屏显示显示当前内存变量的变量名,作用域,类型,值 | |
清除内存变量 | clear memory | 清除所有内存变量 |
release <内存变量名表> | 清除指定的内存变量 | |
release all[like<通配符>|except<通配符>] | 选用LIKE短语清除与通配符相配的内存变量,选用except短语清除与通配符不相匹配的内存变量。? 代表任意一个字符;* 代表任意个字符 | |
clear all | 清除所有的内存变量,并关闭所有打开的库文件及相关文件,设置1区为当前工作区。 | |
建立内存变量文件 | SAVE TO <内存变量文件名>|TO MEMO<备注字段名> [ALL LIKE|EXCEPT <通配式>] | 将内存变量保存到内存变量文件或指定的备注字段中去。系统自动给内存变量文件加上扩展名.MEM。 |
恢复内存变量文件 | RESTORE FROM 内存变量文件名|FROM MEMO 备注字段名 [ADDITIVE] | 从指定的内存变量文件或备注字段中,将保存的内存变量恢复到内存中来。若无ADDITIVE选项,则先清除当前内存中的全部内存变量后,再恢复;否则不清除,只将同名的内存变量覆盖。 |
定义数组内存变量 | DIMENSION | DECLARE<数组名1>(<下标上界1> [,<下标上界2>]) [,<数组名2> (<下标上界3> [,<下标上界4>])…] | 功能:定义一个或多个一维数组或二维数组。 说明: ①下标上界是一数量值,下标的下界由系统统一规定为1。 ②命令DIMENSION和DECLARE的功能完全相同。数组一旦定义,数组的每个元素的初值均为逻辑值.F.。 ③在定义数组时,数组名不能与同一环境下的简单变量同名。 |
4.函数
1)函数的概念
函数是系统内部已“编制”好的一段程序,其功能是用来实现数据处理中常用的特定运算与操作。在Visual FoxPro中提供了大量的函数。只要调用这些函数就能得到相应的输出结果。
函数的一般结构形式如下:
函数名([<参数名1>][,<参数名2>]…[,<参数名n>])
一个函数必须有一个函数名,函数名后面必须跟一对圆括号,圆括号中可以有0~n个参数,参数之间用逗号分隔。函数根据用户给定的参数,经过系统内部计算返回一个唯一的值,称为该函数的返回值。
函数可作为运算量用于表达式中参与运算,此时函数的返回值类型一定要与所在的表达式中其它运算量的类型一致。
在进行函数操作时,可以通过输出命令显示函数或表达式的值。
常用的函数输出格式:
◆ ?函数名([<参数名1>][,<参数名2>]…[,<参数名n>])
◆ ??函数名([<参数名1>][,<参数名2>]…[,<参数名n>])
2)常用函数,见表2-4所示。
表2-4 常用函数
函数分类 | 常用函数 |
数值函数 | ABS()、INT()、EXP()、LOG()、MAX()、MIN()、MOD()、RAND()、ROUND()、SQRT() |
字符串函数 | TRIM()、LTRIM()、ALLTRIM()、AT()、SUBSTR()、SPACE()、RIGHT()、LEFT()、LEN()、LOWER()、UPPER() |
日期与时间函数 | DATE()、TIME()、DAY()、MONTH()、YEAR()、DOW()、CDOW() |
类型转换函数 | VAL()、STR()、ASC()、CHR()、CTOD()、CTOT()、DTOC()、TTOC() |
测试函数 | BOF()、EOF()、DELETED()、FOUND()、RECNO()、RECCOUNT()、FILE()、IIF()、ISNULL()、EMPTY()、VARTYPE() |
系统对话框函数 | MESSAGEBOX() |
宏替换函数 | & |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论