第一范文网 - 专业文章范例文档资料分享平台

第二章 VFP的常量、变量和表达式

来源:用户分享 时间:2020-06-22 本文由青青子衿 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

第二章 VFP的常量、变量和表达式

2.1 常 量................................................................................................................................... 1 2.2 变 量................................................................................................................................... 2 2.3 表 达 式 ............................................................................................................................. 15

2.1 常 量

常量就是固定不变的数据,VFP主要支持六种类型的常数:字符常数、日期常数、逻辑常数、数值常数、货币常数和日期时间常数。

VFP有两种类型的数值:N(数值)和F(浮点数)。全部数值常数只是N型(不是F型),即是整型数和实型数(包含小数的为实型数)。VFP数值的有效位数不能超过16位。例如:-8.63,936875等。其数值范围是-.9999999999E+19至.9999999999E+20(内存中8个字节,表中1到20个字节)。

字符常数(有时叫字符串),包括所有可打印的ASCII字符以及空格符,还包括所有汉字系统可打印的汉字和各种符号,使用时须用单引号或双引号或方括号括起来。例如:[迎新春佳节],\数54\,\成都:ˋ十一ˊ庆祝会\等。VFP的字符常数有“任何字符均合法”的特点,比如它可以插入二进制0进入字串(不象大多数xBASE语言以二进制0作为字符串的结束),从而保持了字符串中实际字符数的情况,它还可以键入带音乐符号的字符和图形字符等。VFP可达2G字符,由引号符引上。

VFP的日期常数以8位mm/dd/yy即月/日/年的形式出现,比如06/25/95,也可以yy.mm.dd等多种形式出现。在VFP中,日期常数除可以多种形式出现外,还可象在字符串中使用引号的方式,用花括号来规定:{01/23/84}。日期常数中三个整数的解释取决于SET DATE的当前设置,例如常数1-2-3的值,当设置为TO AMERICAN(美国式)时,是3年的第1月第2天;当设置为TOFRENCH (法国式)时,是3年第2月第1天;当设置为JAPAN(日本式)时,是1年第2月第3天。当键入了一个错误的日期时,比如{01/45/84},VFP将返回一个空白日期{ / / }。空白日期也可用括号括上空格来表示,如{ }。

逻辑常数真为.T.(.t.)或.Y.(.y.),假为.F.(.f.)或.N.(.n.)。字母前后的圆点是必须的,取消了会与T变量等混淆,但大小写字母不重要,.T.与.t.等效。

日期时间常数是按月、日、年和时间排列的年代日期数据,其值的范围是01/01/0001到12/31/9999,加上00:00:00 a.m到11:59:59 pm。

<>货币常数

货币常数是金融量常数其值范围是$-922337203685477.5807到$922337203685477.5807。 另外还有Variant型,它可以包括VFP任何数据型和null(空)值。一旦一个值被存贮到一个Variant,则此Variant的数据类型便被假定为它包含的该值的数据型。在语言的语句中Variant以e标示。

2.2 变 量

变量就是其值可以改变的数据项,它包括字段变量(field)和内存变量(memvar)两种。内存变量又包括一般内存变量、系统内存变量和数组变量。

2.2.1 字段变量

表中的每一个字段就是一个字段变量,字段名就是字段变量的变量名。字段变量的当前值等于表中当前记录该字段所对应的内容。字段变量更进一步的值随着当前记录号的改变而改变。打开表,该表的所有字段变量产生;关闭表,该表的所有字段变量同时从内存消失,但随着表,记录的字段仍存在于磁盘中。

例2.1: USE RS ? 姓名,职称 王权 助工 ? \姓名\,\职称\ 姓名 职称 USE

? 姓名,职称 该变量未找到

上面用了一个命令“?”,它是用来显示表达式值的命令。 命令格式:?/??[<表达式表>]

&&关闭RS表

&&打开RS.DBF表,(表结构见例1.3)

作用:计算?/??后的表达式值并显示出来。单个?命令从当前光标所在行下一行起始位置显示,??命令从当前光标所在位置开始显示,不带任选项的?将产生一个换行。VFP还有个命令???,它允许用户将输出值直接送往打印机。

说明:执行接通打印机命令(SET PRINT ON)后,?/??的表达式的值便可在打印机上打印出来,在执行命令前按CTRL+P也能实现联机打印。此命令也能用于显示当前记录的备注字段的内容。

格式:?/??<备注型字段名>

例2.2: 显示RS表中第一条记录的简介备注字段的内容。 USE RS ?简介

1998年毕业于四川大学,2001年调我单位工作。 &&“简介”这个备注字段的内容

表文件在使用前首先要用USE<文件名>打开,在VFP中一般可以同时打开255个表(实际上是受内存限制,内存大还可更多),为使它们之间互不干扰,系统允许开辟32767个工作区(前10个工作区1至10习惯用A至J表示,工作区11到32767中指定的别名是w11到w32767)。用户可以在不同工作区中打开不同的表文件,一个工作区只能打开一个表。选择工作区命令如下:

格式:SELECT <工作区号>|<别名> 作用:激活工作区

说明:当VFP等启动时,系统默认的工作区是1号工作区,所以到目前为止表操作均在1号工作区中进行。用户可以使用子句<工作区号>中的数值指定工作区号,如果工作区号为0,那么选择当前没有被使用的序号最小的工作区为当前工作区。<别名>是在打开表文件时由ALIAS任选项指定的名字,命令为:

USE <表文件名> ALIAS <别名>

如果未用ALIAS任选项,则表文件就是它的别名,也可以用工作区名作为已在该工作区中打开的表文件的别名。

在使用多工作区时,最后用SELECT命令选择的工作区为当前工作区(又称主工作区),其它工作区为非当前工作区(又称辅工作区)。进入系统后,如果不选择工作区,1号工作区则为当前工作区,对表的所有操作都在这当前工作区进行。其它任何工作区中的表字段均可

以被VFP的命令和函数访问。要访问非当前工作区中的已打开的表字段时,使用下面格式(在字段名前冠<工作区>或<别名>的前缀):

<别名>.<字段名>或<别名>→<字段名> <工作区名>.<字段名>或<工作区名>→<字段名>

另外,要注意的是,在不同工作区中打开的表都有其相应的记录指针,当前表记录指针的移动不会影响其它工作区中表记录指针的变化(只有在当前工作区与其它几个非当前工作区建立关联后,其它几个非当前工作区中的记录指针才能自动作相应的移动,多工作区的关联问题详见第三章),非当前工作区中的记录指针需要移动时,应用SELECT使该工作区变成当前工作区,然后移动记录指针到指定记录。

例2.3: 将1.1节图1-2中通讯地址表A1和用户订单表B1内用户号为0002的姓名、地址、商品号,总价显示出来。

SELECT 1 USE A1 SELECT 3

USE B1 ALIAS G订单 SELECT A GO 3

SELECT G订单 GO 2 SELECT 1

DI DISPLAY 姓名,地址,C→商品号,C.总价 &&C→商品号,C.总价为3号工作区

中商品号,;

Record # 姓名

3

郭亮

地址 457信箱

C→商品号 14B

C.总价 1500.00

&&A工作区即1号工作区

&&指向3号记录,即A1表中用户号为0002的记录 &&别名为G订单的工作区,即3号工作区 &&指向2号记录,即B1表中用户号为0002的记录

顺便说明一下,关闭多个工作区中表文件,可以分别切换各已经打开表文件的工作区为当前工作区,然后用USE命令一个一个地关闭,例如:

SELECT 1 USE SELECT C USE

也可以用 CLOSE DATABASE 一次完成关闭所有工作区的全部表。

2.2.2 内存变量

每个 内存变量 数据对象与字段变量一样具有一定的属性:标识符(变量的名字)、型(例如字符型或数字型)、值(当前内容)、宽度。标识符是用来识别变量的符号,VFP规定标识符可以由任何数量的字母字符、数字字符或下划线(_)组成,但仅是前10个字符(一个汉字为两个字符)有效,建议最多用8个字符,而且必须由一个字母字符或汉字开头,标识符的大小写字母等效。内存变量名一般不要与正打开的表的字段名同名,否则使用该内存变量时应在变量名前冠以前缀\→\,但对该内存变量的赋值不能加前缀。字段在一个特定的.DBF文件中有固定的宽度和型(备注型字段是特殊情况)。VFP的内存变量的型则是“动态型”,即在程序执行期间当变量建立时才赋予。这个特点给了早期FoxPro无意的面向对象的风格。尽管内存变量的型可以在程序执行中变化,但在任何瞬间一个标志的对象仅有一个型。VFP内存变量主要有如下的型:

A D N T

Array Data Number Date time

(数组型) C character (字符型) (日期型) L logical (逻辑型) (数字型) Y Currency (日期时间型)

(货币符号型)

数据对象的型决定了对象可以承担值的领域。C、D、L、Y、T、N型将在3.1.1节详述,这里不再赘述。另外还有Variant型,上节已述。 内存变量是现存的VFP数据类型的子集,此外的其它数据类型只存在于表的字段中。 内存变量通常在VFP程序执行时建立,程序完成后又消失,此外在内存变量还有生命期限范围—级的问题,没有此级权利的内存变量不起作用。内存变量不象字段存在于表中具有永久性,即程序未运行时也保留值。VFP表文件中的字段变量,只要在.DBF文件被USE(打开)时,便是活动的,这个特点区别于将变量的范围限制到程序模块的其它编程语言,而VFP的内存变量显示出象传统语言中的变量。

VFP默认1024个内存变量,但可多达允许65000个内存变量。用户可以通过设置系统配置文件CONFIG.FPW中的MVCOUNT参数(128~65000)进行改变系统默认值,但实际允许使用的个数受内存空间的限制。

一种特殊的内存变量叫系统内存变量(system memory),它是用来保持含有信息(例如,文本报表应打印的拷贝数等)的系统变量。可通过一个前导下划线(例如,_pcopies)来识别

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育第二章 VFP的常量、变量和表达式 全文阅读和word下载服务。

第二章 VFP的常量、变量和表达式 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1094703.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top