用户名: 密码: 验证码: gdcode 注册

VFP基础教程第二章VFP语言基础

时间:2007-06-15 来源: 作者: 【字体: 减小 增大点击: 收藏 | 投稿
  
2.1程序设计概述 财软 联盟 fs119.net

1.程序设计方法简介

财.管家园.fs119.net

设计方法

财软联盟 fs119.net

主要概念 财.软联盟.fs119.net

设计过程 财.管家园.fs119.net

程序执行方式
财管,家园,fs119.net

结构化程序设计 功能模块(即过程、自定义函数) 编制各个功能模块,再用主程序将它们串起来 将应用程序分解成若干功能模块,通过各模块的相互调用来完成整个执行过程,是过程驱动的。 面向对象程序设计 类、对象、属性、事件、方法 设计类、子类、对象(设计外观、设置属性、为事件编写方法程序) 将应用程序分解成具有特定属性的对象,通过调用各对象的不同方法来完成相关事件,是事件驱动的。

2.数据类型 财软.联盟.fs119.net

VFP包含下列数据类型:

财,软联盟,fs119.net

通用的数据类型 字符型
Character
财 管家园 fs119.net

货币型
Currency 财软联盟.fs119.net

日期型
Date
财,软联盟,fs119.net

日期时间型
DateTime

财软联盟.fs119.net

逻辑型
Logical 财管家,园,fs119.net

数值型 Numeric
财软,联盟,fs119.net

仅用于字段的数据类型 双精度型 Double 财管家 园 fs119.net

浮点型 Float 财.管家园.fs119.net

整型 Integer 财管家,园,fs119.net

通用型 General

财管家,园,fs119.net

备注型 Memo 财.管家园.fs119.net

 

3.数据容器 财,管家园,fs119.net

VFP中用来存储数据的容器有:常量、变量、数组、记录和对象。 财管.家园.fs119.net

1)常量constants):

财软联.盟.fs119.net

一个在操作过程中保持不变的数值或字符串。 财管 家园 fs119.net

常用的常量类型 财管 家园 fs119.net

常量类型 财管家 园 fs119.net

数值型常量 财管,家园,fs119.net

字符型常量 财管家园,fs119.net

逻辑型常量

财管家园,fs119.net

日期型常量 财.软联盟.fs119.net

表示方式

财,软联盟,fs119.net

-25.36

财 软联盟 fs119.net

"abc","123","中国"
财软联.盟.fs119.net

.T..F.
财,软联盟,fs119.net

{^2005/07/10}
财软联,盟,fs119.net

2)变量(variables

财软联盟.fs119.net

是内存中的一个存储单元的位置,其中的内容可以变化,但标识该存储位置的名称(即变量名)不变。

财管家,园,fs119.net

变量的命名习惯类型变量代号 财软联,盟,fs119.net

如:cStud、nCj、dCsrq——

财管 家园 fs119.net

分别代表一个字符型、数值型、日期型的变量名 财管.家园.fs119.net

变量的赋值方式:1)用STORE命令如:STORE"王兰"TOcStud 财 软联盟 fs119.net

2)用赋值操作符=如:cStud="王兰"

财软,联盟,fs119.net

变量的作用域:即变量起使用的有效范围。 财 管家园 fs119.net

变量作用域
财管.家园.fs119.net

定义作用域的关键字 财管家,园,fs119.net

特点
财管,家园,fs119.net

局部变量

财 管家园 fs119.net

localvariable(本地变量)
财软联 盟 fs119.net

LOCAL 只能在一个函数或过程中被访问,其他过程或函数不能访问此变量的数据。当其所属程序停止运行时,局部变量将被释放。 私有变量 privatevariable

财软联,盟,fs119.net

PRIVATE 私有变量在VFP中是默认的,不需要特殊的关键字定义。但是,如果在更高一级例程(routine)中已经有同名变量,可以用PRIVATE关键字予以声明,以限定其范围。当定义此变量的例程结束时,此变量也被相应释放。可使用私有变量在被调用的函数中共享数据。 公共变量 publicvariable 财软联盟 fs119.net

PUBLIC 可用于所有过程和函数,而不限于定义该变量的过程和函数。可使用全局变量在多个过程或函数之间共享数据,在命令窗口中创建的任何变量自动具有全局属性。

财管家园.fs119.net

变量的访问:

财软联.盟.fs119.net

当变量和字段同名时,字段有优先被访问权。要在变量名前加m.m->以示区别,如m.cStud 财管.家园.fs119.net

(3)数组(array)

财.管家园.fs119.net

是存储在一个变量中由单个变量名引用的有序数据集合。在VFP中,一个数组中的数据不必是同一种数据类型。常用的有一维数组,二维数组。

财管家,园,fs119.net

数组元素的标识:通过一个数值下标来引用,如AA[2],AA[2,3] 财软联.盟.fs119.net

数组类型的声明: 财管家 园 fs119.net

私有数组——DECLAREDIMENSION定义

财 软联盟 fs119.net

全局数组——PUBLIC命定义

财软联,盟,fs119.net

局部数组——LOCAL定义

财软联.盟.fs119.net

数组元素的赋值

财管家园.fs119.net

用赋值语句:如AA=45 财管家园 fs119.net

SCATTER从当前记录中取特定字段的值赋给数组: 财管家园 fs119.net

如:scatterfieldsxh,xm,xbtoaa

财 管家园 fs119.net

(数组长度、类型自动与所给字段相同)

财管家园,fs119.net

COPYTOARRAY从当前记录中取所有字段的值赋给数组: 财管家园 fs119.net

如:copytoarrayaa

财管家园.fs119.net

(数组长度、类型自动与表中全部字段相同)

财管,家园,fs119.net

把数组中的数据传给当前表中的当前记录财管家 园 fs119.net

gatherfrom数组名[fields字段名表]

财管家园,fs119.net

用数组向当前表添加记录

财软联.盟.fs119.net

appendfromarray数组名[for条件][[fields字段名表]

财管,家园,fs119.net

(用二维数组可以同时添加多条记录)

财软联盟.fs119.net

数组处理的常用函数: 财管 家园 fs119.net

排序SORT(),搜索ASCAN(),删除ADEL(),插入AINS() 财管.家园.fs119.net

(4)记录财管家.园.fs119.net

表中的一行,由字段组成。 财管家,园,fs119.net

(5)对象财.软联盟.fs119.net

对象是类的一个实例,类是对拥有数据和一定行为特征的对象集合的描述。VFP对象可以是表单、表单集、控件。 财软联盟 fs119.net

  财 管家园 fs119.net

财软.联盟.fs119.net

财软,联盟,fs119.net

财管家 园 fs119.net


财 管家园 fs119.net

财管家 园 fs119.net

2.2VFP6.0的语言成分 财管 家园 fs119.net

1.命令

财管.家园.fs119.net

即:由用户发出的、指示VFP进行某种操作的指令。 财.软联盟.fs119.net

USEaaa&打开一个名为aaa.dbf的数据表

财.管家园.fs119.net

2.函数 财软联 盟 fs119.net

即:一个预先编制好的模块,可由VFP程序在任何地方调用。 财软联 盟 fs119.net

函数的使用方法:名称、功能、参数、返回值 财管,家园,fs119.net

几个常用函数
财软联盟,fs119.net

名称 命令格式
财软联盟 fs119.net

示例 财软联.盟.fs119.net

字符串截取函数 SUBSTR(expC,expN1[,expN2])

?SUBSTR(“ABCDEFG”,2,4)

财管家.园.fs119.net

结果是:BCDE

财软.联盟.fs119.net

LEFT(expC,expN) ?LEFT(“ABCDEFG”,2)结果是:AB RIGHT(expC,expN)

?RIGHTT(“ABCDEFG”,4)

财,软联盟,fs119.net

结果是:DEFG 财管,家园,fs119.net

字符串查找函数 AT(expC1,expC2[expN]) ?AT(“B”,“ABCDE”)结果是:2

?AT(“A”,“ABCDEASD”)

财管 家园 fs119.net

结果是:1

财管.家园.fs119.net

?AT(“A”,“ABCDEASD”,2) 财管,家园,fs119.net

结果是:6 财软 联盟 fs119.net

大小写字母转换函数 财管家园.fs119.net

LOWER(expC) ?LOWER(“DFGHa”)结果是:dfgha UPPER(expC) ?UPPER(“asdf”)结果是:ASDF 数值函数 MAX(exp1,exp1[,exp3,…] ?MAX(15,23,4,56)结果是:56 MIN(exp1,exp1[,exp3,…] ?MIN(15,23,4,56)结果是:4 ABS(expN ?ABS(-15.83)结果是:15.83 INT(expN ?INT(25.62)结果是:25 压缩空格函数 ALLTRIM(expC)

?ALLTRIM("ADBG")

财.管家园.fs119.net

结果是:ADBG 财管,家园,fs119.net

类型转换函数 STR(expN1[,expN2][,expN3]) ?STR(789.678,6,2)结果是:789.68 CTOD(expC)

?CTOD(“98/10/15”) 财管 家园 fs119.net

结果是:98/10/15 财管.家园.fs119.net

VAL(expC) ?VAL("123.45")结果是:123.45 DTOC(expD)

?DTOC({98/12/15}) 财软.联盟.fs119.net

结果是:98/12/15

财.软联盟.fs119.net

日期时间函数 DATE() ?DATE()结果是:2000/03/15 DATETIME()

?DATETIME()

财 管家园 fs119.net

结果是:2000/03/1510:15:30

财管家园.fs119.net

YEAR(expD) ?YEAR({87/03/25})结果是:1987 数据库函数 RECNO() DBC() SEEK() 其它函数
财软联盟 fs119.net

LEN() DELETED() EOF() BOF() FOUND() EMPTY(exp) INLIST(,,) RECCOUNT() SELECT() BETWEEN(,,) IIF(,,) TABLEREVERT() LOCK() CHR() ASC() TABLEUPDATE() FSIZE() TAG() INKEY()

自定义函数

财管,家园,fs119.net

由用户为自己的应用程序创建的专用函数,可作为独立的程序文件保存在磁盘上也可作为过程文件存放在其他程序中。

财管 家园 fs119.net

3.表达式

财软联,盟,fs119.net

即:变量、操作符、常量、函数、字段名、控制以及属性的组合,求值结果为单个值。 财.管家园.fs119.net

表达式的类型: 财软联盟 fs119.net

算术表达式:由算术操作符和数值型数据构成的表达式。 财 软联盟 fs119.net

字符表达式:由字符操作符和字符型数据构成的表达式。

财管,家园,fs119.net

日期表达式:由日期操作符和日期、时间型数据构成的表达式。

财管家园 fs119.net

逻辑表达式:由逻辑操作符和逻辑型数据构成的表达式。

财软.联盟.fs119.net

名称表达式

财,软联盟,fs119.net

由圆括号括起来的一个字符表达式,用来替换命令或函数中的名称。

财管,家园,fs119.net

例:DBF_NAME="学生成绩登记表"

财软联盟 fs119.net

USE(DBF_NAME) 财管 家园 fs119.net

宏替换:用宏替换符号&表示,它与名称表达式具有相似的作用。

财管家园.fs119.net

例:已知A="1",B="2",C12="GOOD" 财软联,盟,fs119.net

则C&A&B="GOOD"

财软.联盟.fs119.net

4.操作符

财软联 盟 fs119.net

数值操作符 () ^或** * / %(取余数) - 关系操作符 < <= > >= <>或!=或#== 逻辑操作符 ()表达式分组 NO或!(非) AND(和) OR(或) 日期和时间操作符 - 注意:日期型:天数时间型:秒数 字符操作符: - $ 两个特殊的操作符 圆点操作符.):用于分隔对象的名称以及分隔对象中的属性、事件、方法。 范围转变操作符(::):提供了从一个子类中调用一个父类的方法。 财软联,盟,fs119.net

财软联盟 fs119.net

财软联盟,fs119.net


财管家园.fs119.net

财软联.盟.fs119.net

2.3程序设计基础

财管,家园,fs119.net

1.基本概念 财.软联盟.fs119.net

程序:为解决某一问题而设计的一系列指令。

财管家园 fs119.net

主程序:通常被用户直接执行的程序。 财.管家园.fs119.net

子程序:在程序中被调用的程序。 财管家园.fs119.net

源程序:由人用源语言编写的计算机程序,必须翻译成机器语言后才能被执行。 财软联盟 fs119.net

目标程序:是源程序经过编译后所产生的机器语言程序。

财 软联盟 fs119.net

可执行程序

财管家园.fs119.net

源程序被编译后产生的可被机器直接执行的程序,具有.EXE扩展名。在VFP中是指由项目管理器连编生成的、可脱离VFP环境运行的程序。

财软 联盟 fs119.net

应用程序财软联 盟 fs119.net

指为完成专门工作而设计的一组相互联系的例行程序和子程序。在VFP中是指一组VisualFoxPro程序、表单、菜单和其他文件经项目管理器连编后形成的单个程序,不能脱离VFP环境运行,扩展名为.APP。 财软联,盟,fs119.net

例行程序财软联.盟.fs119.net

按某种顺序排列的、使计算机能执行某种任务的指令集合,可以是一种专用的程序或作为程序的一部分。它可由若干个子程序组成。

财软联盟,fs119.net

2.程序控制 财软联,盟,fs119.net

(1)顺序语句 财软联,盟,fs119.net

即按程序中的语句顺序依次执行。

财管家 园 fs119.net

(2)分支语句

财软联盟 fs119.net

条件语句

财管 家园 fs119.net

情况语句
财管,家园,fs119.net

IF条件 命令组1 财管家 园 fs119.net

[ELSE

财软,联盟,fs119.net

命令组2] 财管,家园,fs119.net

ENDIF 财管家.园.fs119.net

DOCASE CASE情况1 财管家,园,fs119.net

命令组1 财管 家园 fs119.net

CASE情况2
财.管家园.fs119.net

命令组2
财软,联盟,fs119.net

财软联盟,fs119.net

[OTHERWISE 财软联,盟,fs119.net

其它命令组] 财管家园.fs119.net

ENDCASE

财软.联盟.fs119.net

3.循环语句

财管.家园.fs119.net

FOR 循环语句(预知循环次数) 财软联,盟,fs119.net

FOR变量=初值TO终值[STEP步长]

命令组

财软.联盟.fs119.net

ENDFOR|NEXT 财管,家园,fs119.net

DOWHILE 循环语句(未知循环次数) 财管家园 fs119.net

DOWHILE条件

命令组

财软联.盟.fs119.net

ENDDO

财管家 园 fs119.net

SCAN
财,软联盟,fs119.net

循环语句(针对全部记录)

财管家园,fs119.net

SCAN[范围][FOR|WHILE条件]

命令组

财管.家园.fs119.net

ENDSCAN 财软联.盟.fs119.net

循环结构中的LOOP命令和EXIT命令: 财软联,盟,fs119.net

LOOP是短路语句,表示从此开始下一次循环;

财管家园.fs119.net

EXIT是退出语句,表示跳出循环。 财管.家园.fs119.net

4.子程序 财管家园,fs119.net

子程序的的形式可以是一个程序文件,也可以是一个过程或自定义函数。 财软联 盟 fs119.net

  子程序 财管家园,fs119.net

自定义函数
财软.联盟.fs119.net

过程 财 软联盟 fs119.net

特点

财管家园 fs119.net

总是被其他程序调用而不单独执行,可以调用其他子程序,不一定要返回一个值。 能以一个独立的文件储存,也可包含在调用程序中,必须返回一个值。 是一个程序段,是程序的组成部分,一般放在程序的最后。 定义方法
财 管家园 fs119.net

与程序相同,只是在子程序的结尾加需一条返回命令:

RETURN[表达式|TOMASTER|TO程序文件名] 财管.家园.fs119.net

FUNCTION函数名

或:MODIFYCOMMAND函数名

财管家园 fs119.net

PARAMETERS数表

财.管家园.fs119.net

命令组

财.软联盟.fs119.net

RETURN表达式 财软联,盟,fs119.net

注:用此命令定义的函数以独立的文件形式储存。 财.软联盟.fs119.net

PROCEDURE过程名

PARAMETRS参数表 财 管家园 fs119.net

命令组

财软联盟 fs119.net

RETURN 财管家 园 fs119.net

调用方法
财 软联盟 fs119.net

DO子程序名[WITH参数表] =函数名(参数表) DO过程名WITH参数表

财软联盟 fs119.net

3.创建应用程序 财管家 园 fs119.net

方法一: 财.管家园.fs119.net

在命令窗口中输入:MODIFYCOMMAND程序名 财软联盟,fs119.net

方法二

财软联 盟 fs119.net

单击文件菜单→新建→程序→新文件→在编辑窗口中编辑程序→完成后关闭→给出合适的程序名及保存位置。 财软联,盟,fs119.net

 

财软联盟 fs119.net

程序的注释:方法1:*|NOTE<注释内容>可出现在程序中的任何地方

财管.家园.fs119.net

方法2:&&<注释内容>一般用于命令的尾部 财软.联盟.fs119.net

给程序加注释的目的是为了提高程序的可读性。 财,管家园,fs119.net

面向过程的程序设计三步曲:输入→处理→输出

财,管家园,fs119.net

4.修改应用程序

财.软联盟.fs119.net

方法一:

财软联.盟.fs119.net

在命令窗口中输入:MODIFYCOMMAND程序名|?

财软,联盟,fs119.net

注:?表示不知道程序名,要从打开对话框中选定。 财管家.园.fs119.net

方法二

财管家,园,fs119.net

单击文件菜单→打开→选择所需程序并打开→在编辑窗口中对程序进行修改→完成后关闭退出。

财管家园.fs119.net

5.执行应用程序

财软,联盟,fs119.net

方法一:在命令窗口中输入:DO程序名|?

财管家,园,fs119.net

方法二:从程序菜单中选择执行→从打开对话框中选择所需程序并执行之。 财管 家园 fs119.net

6.程序设计的基本步骤 财 管家园 fs119.net

(1)对问题进行说明 财管家园.fs119.net

(2)分解问题 财软.联盟.fs119.net

(3)编制各模块 财,软联盟,fs119.net

(4)测试并完善各模块 财软 联盟 fs119.net

(5)组装全部模块

财管家园,fs119.net

(6)整体测试

财软联 盟 fs119.net

财管家.园.fs119.net

财管家园 fs119.net


文章摘自网络,如有侵权,请与我们联系.
数据统计中!!
Google.cn搜索关键字: 基础 语言 教程 第二章 程序 变量 函数 命令 结果 数据
Google.cn搜索相关文章:
谷歌中搜索全球网 VFP基础教程第二章VFP语言基础
百度中搜索 VFP基础教程第二章VFP语言基础
谷歌中搜索www.fs119.net VFP基础教程第二章VFP语言基础
上一篇:VFP基础教程第三章表的创建和使用
下一篇:VFP基础教程第一章数据库系统基础知识

精品课程推荐


相关文章
  • VFP基础教程第一章数据库系统基础知识 2007-06-15 11:10:54
  • VFP基础教程第二章VFP语言基础 2007-06-15 11:10:54
  • VFP基础教程第三章表的创建和使用 2007-06-15 11:10:52
  • VFP基础教程第四章数据库的创建和使用 2007-06-15 11:10:52
  • VFP基础教程第五章创建查询和视图 2007-06-15 11:10:51
  • VFP基础教程第六章面向对象的程序设计 2007-06-15 11:10:50
  • 关闭此页 | 打印本文 | 加入收藏 | 推荐本文 | 网友评论 | 打印

    用户名: 密码: 匿名? 注册
    相关栏目
    每日新新闻索引
    热点专题
    最新主题
    推荐大折扣培训课程