您的位置: 网站首页 > 程序开发 > Visaul FoxPro程序设计 > 第5章 Visual FoxPro程序设计基础 > 【5.2 Visual FoxPro的基本语句】

5.2 Visual FoxPro的基本语句

 

5.2  Visual FoxPro的基本语句

在每种结构程序设计之中,经常要插入一些基本的语句,才能够灵活地按照用户的要求和需要设计数据库。

5.2.1  赋值语句

在程序中若要使用(引用)变量,必须在使用(引用)之前为变量设定一个初值或改变它的现行值。赋值语句可以将指定的值赋给内存变量或对象的某个属性,其一般格式为:

STORE <表达式> TO <名称列表>    <名称> = <表达式>

说明:

1“名称”是内存变量名或属性名,“名称列表”是多个“名称”的列表,各名称之间用逗号分隔。

2“表达式”可以是算术表达式、字符串表达式、日期表达式、关系表达式或逻辑表达式,首先计算(表达式),然后再赋值。计算所得的表达式值将赋给相应的变量或对象。

3STORE可以给多个变量或属性赋值,"="只能给一个变量或属性赋值。

例如,

STORE 40*2-3 TO A,B,C

THISFORM.Caption="仓库管理系统"

4内存变量的类型由<表达式>的类型决定,而属性的类型则须与表达式的类型一致。

5若要对日期型内存变量赋值,如果<表达式>是日期型常量,则必须用花括号“{ }括起来,并在前面加上一个符号(^);如果<表达式>是字符串,则必须用转换函数将其转换为日期型。

例如,

today = {^20070122}

today = CTOD("01222007")

6)不要将赋值号(=)与数学中的等号混淆。如x=30应读作将数值30赋给变量“x”或是使变量“x”的值等于30。下面两个语句的作用是不同的:

x=y

y=x

7z=x+y不能写成x+y=z

5.2.2  语句的续行

赋值号的左边只能是一个变量名,不能是表达式。当一条语句很长时,在代码编辑窗口阅读程序时将不便查看,使用滚动条又比较麻烦。这时,就可以使用续行功能,用分号(;)将较长的语句分为两行或多行,例如,

THISFORM.Label1.Caption = "对于一个较长的标题,标签控件提供了两种属性:"+; "AutoSizeWordWrap来改变控件尺寸以适应较长或较短的标题。"

注意:作为续行符的分号只能出现在行尾。

5.2.3  注释语句

为了提高程序的可读性,通常应在程序的适当位置加上一些注释。注释语句用来在程序中包含注释,Visual FoxPro中提供行首和行尾两种注释语句。

1)行首注释。如果要在程序中注释行信息,可以使用行首注释语句,其语法格式为:

NOTE [<注释内容>] * [<注释内容>]

说明:

<注释内容>指要包括的任何注释文本。在NOTE关键字与注释内容之间要加一个空格。可以用一个星号(*)来代替NOTE关键字。

程序运行的时候,不执行以NOTE*开头的行,如果要在下一行继续注释,可在本注释行尾加上一个分号(;),或直接按回车键再另用一个注释语句。

2)行尾注释。如果要在命令语句的尾部加注释信息,应该使用行尾注释语句,其语法格式为:

&& [<注释内容>]

【例5-1程序中的各种注释命令示例。

****************************

*  程序:仓库管理系统          *

*  日期:20071          *

****************************

set directory to curdir()

_screen.autocenter=.T.

do form 仓库管理

on shutdown quit

READ EVENTS

5.2.4  暂停语句

WAIT语句用来暂停程序的执行并显示提示信息,按任意键或单击鼠标后继续执行程序。其语法格式为:

WAIT [<提示信息>] [TO <内存变量>] [WINDOW [AT <,>]] [TIMEOUT n]

说明:

1<提示信息>是指定要显示的自定义信息。若省略,则显示默认的信息“按任意键继续”。

2TO <内存变量>将按下的键以字符形式保存到变量或数组元素中。若<内存变量>不存在,则创建一个;若按键是“不可打印”字符或单击鼠标,则内存变量中存储空字符串。

3WINDOW[AT <,>]指定显示的信息窗口在屏幕上的位置。若省略AT <,>,则显示在屏幕的右上角。

4TIMEOUT n指定自动等待键盘或鼠标输入的秒数,此项为可选项,且需要放在语句的最后。

【例5-2程序中的等待命令示例。

WAIT "是否确定删除该条记录?(Y/N)" TO YN

IF UPPER(YN)="N"      &&如果输入Nn

    CANCEL

ENDIF

5.2.5  常用显示语句

Visual FoxPro中,虽然可以使用菜单或工具栏取代大多数命令操作,但在许多情况下,使用命令可以简化操作。而其中的调试、显示命令主要用于程序设计的调试阶段,可以随时在屏幕上显示程序运行的中间值或运行结果,跟踪程序的运行。

1\\\命令

格式:\命令输出文本,                 \\命令输出文本

功能:在屏幕上输出文本。

说明:\命令在屏幕上新起一行输出文本,             \\命令从屏幕上当前行紧跟着输出文本。

例如,\这是显示文本的例子

    \\不换行输出

      \结束

2? | ??命令

格式:? | ?? 表达式[FUNCTION 参数] [FONT 字体名,字体大小]

功能:在屏幕上显示表达式的内容。

说明:?表达式用于对表达式进行计算,然后在屏幕上新起一行显示计算结果;??表达式则不换行,而且接着当前行直接输出。

3???命令

格式:??? 表达式

功能:将字符串表达式的内容发送到打印机。

说明:该命令后的表达式必须为一个字符串表达式,如果是其他类型的表达式,则必须转化为字符串类型。该命令在调度打印机时使用。

5.2.6  结束程序运行命令

一个Visual FoxPro程序通常是由多个程序功能模块组成的,各程序模块间可按需要进行多级调用。而一个程序模块运行结束后可返回到调用它的上级模块,也可以直接返回到其最上级的主程序模块,或者回到系统的交互状态,甚至退出Visual FoxPro返回到操作系统中。因此,可采用以下的不同命令来指明本程序模块运行结束后的  去向。

1RETURN

此命令表示返回到上级程序模块。若本程序模块是以菜单方式或在命令窗口调用执行的,则返回到交互状态。

2RETURN MASTER

此命令表示返回到最上级主程序。

3CANCEL

此命令表示强行停止程序执行,关闭所有文件,返回系统交互状态。

4QUIT

此命令表示停止所有程序运行,并关闭所有文件,然后退回到操作系统中。

注意:一个独立的程序也可以没有专门的结束命令,这时系统在执行完最后一条程序语句时,也将自动返回到系统交互状态。