计算机二级VFP考试讲义_第1页
计算机二级VFP考试讲义_第2页
计算机二级VFP考试讲义_第3页
计算机二级VFP考试讲义_第4页
计算机二级VFP考试讲义_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 第 1 章 数据与数据运算 一、数据类型 1. 数值型( N):由数字、小数点和正负号组成。(包括整数和实数),占 8 字节内存,精度 16 位。例如数值型常量: 12、 3.45、 -6.78、 5.878E12、 1.6E-12 等。 2. 字符型( C):每个字符占一个字节,最长 255 个字符。 3. 逻辑型( L):只有真、假两个值( .T. 、 .t.、 Y.、 y 、 .F.、 .f.、 .N.、 .n.)占 1 字节。 4. 日期型( D):占 8 个字节,取值范围: 0001 年 1 月 1 日 9999 年 12 月 31 日。日期的表示格式很多,可用有关命令设置: a) SET DATE TO MDY/DMY/YMD 该命令设置日期表示形式。 b) SET CENTURY TO ON/OFF 表示日期时是否指明“世纪”。 c) SET STRICTDATE TO 0/1/2 是否采用严格日期格式对待输入日期值。此设置命令取“ 1/2”值时,日期需按照严格日期表示法 yyyy-mm-dd的表示格式输入,否则会弹出“出错”对话框;取“ 2”值时 CTOD()、 CTOT()函数也采用严格日期格式转换字符;若设为 0,则日期的输入可按其它形式,但可能被系统按不同日期解释。 d) SET MARK TO / /; 该命令用于设置日期分隔符,若缺省设置值,则用默认“ /”为分隔符。 5. 日期时间型( T):占 8 个字节, , ,如常量 2001-03-22,11:30 p。日期的表示范围同上,时间从 00: 00 : 00AM 11: 59: 59PM,缺省日期为 1899 年 12 月 30 日,缺省时间为午夜零点。 6. 货币型( Y):占 8 个字节,货币型常量以前置符号 $打头,保留小数 4 位。 7. 对象型( O): windows 中的对象,如 VFP 主窗口对象为“ _SCREEN”。 (以上 7 种数据类型可用于内存变量和数 组,前 6 种还可用于字段变量,但下列数据类型只能用于字段变量) 8. 双精度型( N):占 8 个字节 9. 浮点型( N):占 8 个字节 10. 整数型( N):占 4 个字节 11. 通用型( G):占 4 个字节,专门用来存储 OLE 对象,如电子表格、字处理文档或图片等由其它程序产生的对象。 12. 备注型( M):占 4 个字节,用于存放较多的文本信息,会产生与表同名的备注文件“ * fpt”。 13. 二进制字符型( C):使用方法与字符型同,只是直接以二进制形式存储。 14. 二进制备注型( M):使用方法与备注型同,只是直接以二进制形式存储。 二、常量与变量 1. 常量(部分数据类型的常 量说明): a) 字符型常量必须用单引号、双引号、或方括号括起来。如某种括符本身也是字符串内容,则用另一种括符括起该字串。 b) 日期型常量必须用一对花括号包括。对于空值的日期,可用 、 /、 -表示。 c) 日期时间型常量的空值表示成 -,: ,货币常量用 $开头。 d) 符号常量的定义及取消:例: #define PI 3.1415926535 #undef PI 2. 变量:在程序执行过程中其值可变的数据项。实际上是用标识符命名的存放数据项的计算机内存单元。变量有变量名、变量值、变量类型、长度、变量作用域等属性。变 量名可由字母、汉字、数字或下划线组成,但须以字母或汉字开头,长度不超过 10 个字符。 VFP 的变量可分为字段变量和内存变量,表中的字段名就是字段变量。内存变量不必先声明,如与字段变量同名,由于字段变量优先级较高,需在访问时加前缀 M(或 M),内存变量的类型随所赋值的类型变化而变化。可作为内存变量的类型包括前述 7 种基本类型。 a) 简单内存变量的赋值: 3. 数组:要先用 DIMENSION 或 DECLARE 声明,下标最小为 1,默认各元素值为。 F 。;一个数组中各元素的数据类型可以不同;可用一维数组方式访问二维数组;仅在赋值号 左边或作为输入对象时可直接用数组名给该数组的全部数组元素赋同一值。 例如: DIMENSION x(5), y(2, 3) 4. 内存变量常用命令: 2 a) 赋值:内存变量 =表达式 STORE 表达式 TO 内存变量列表 b) 显示:(包括变量名、作用域、类型、取值) LIST MEMORY LIKE NOCONSOLETO PRINTERPROMPT / TO FILE DISPLAY MEMORY LIKE NOCONSOLETO PRINTERPROMPT / TO FILE 说明: LIKE 短语表示只显示与通配符相匹配的内存变量; 子句 TO PRINTER/TO FILE 表示将显示的内容同时送往打印机或文本文件中; LIST 命令连续流动显示,而 DISPLAY 是分屏显示; 子句 NOCONSOLE 表示不输出到显示器; 子句 PROMPT 表示要求弹出打印设置框。 ? 显示输出各表达式值时自动换行 ? ? 在同一行上显示各表达式值 c) 清除: CLEAR MEMORY RELEASE RELEASE ALL EXTENDED LIKE/EXCEPT 子句 EXTENDED 表示在程序中还可删除公共内存变量; 短语 EXCEPT 表示删除之外的其余内存变量。 d) 保存和恢复: SAVE TO ALL LIKE/EXCEPT RESTORE FROM ADDITIVE 内存变量文件的扩展名为。 MEM; 子句 ADDITIVE 表示以追加方式添加内存变量,否则恢复前会先清空原有内存变量。 SAVE SCREEN TO RESTORE SCREEN FROM 以上为保存和恢复当前屏幕内容的命令;无可选项屏幕内容存入缓冲区。 5. 记录字段与数组元素的数据交换: 记录字段复制为数组元素: SCATTER FIELDS MEMO TO BLANK SCATTER FIELDS LIKE/EXCEPT MEMO TO BLANK 选用 MEMO 短语可同时复制备注型字段; BLANK 表示产生一空数组。 数组元素复制成记录: GATHER FROM FIELDS MEMO GATHER FORM FIELDS LIKE/EXCEPT MEMO 1.3 表达式 1. 数值运算符及表达式 () *或 *, / % +, 2. 字符运算符及表达式 +、 3. 日期(或日期时间)运算符及表达式 +、 该表达式只有三种形式: 两日期(或日期时间)型数据相减,结果为相差的天数(或秒数); 日期(或日期时间)型数据加上一个整数,结果是一个新的日期(或日期时间); 日 期(或日期时间)型数据减去一个整数,结果是一个新的日期(或日期时间)。 4. 关系运算符及表达式 、 =、 =、 = =、 F; = = 只用于字串的精确比较; $ 包含于,也只能用于字符型数据; = 也可用于字串的非精确比较,但其结果与 SET EXACT ON/OFF 有关。 5. 逻辑运算符及表达式 NOT或! AND OR 作业 : 实验内容:学习内存变量、数组变量的定义,赋值,显示,学习各种表达式和运算符。复习函数的使用。 一、内存变量的赋值和使用 1、等号赋值 2、 store命令 3 ?和 ?的使用方法 (显示值 ) 4 List memo like (显示名称 ,类型 ,值 ) 练习:观察下列命令的作用和显示结果 X1=8*4 ? x1 X2=PQR xy=.t. xyz=1996/12/30 list memory like x* store 计算机 TO xy,x3 save to f1 all like x? release x1,x2 list memory like x? restore from f1 list memory like x? 二、数组的定义和使用(参考教材) 练习一 DIMENSION array1(2) DISPLAY MEMORY LIKE array1 STORE A TO array1(1) STORE 2 TO array1(2) DISPLAY MEMORY LIKE array1 Array1=100 DISPLAY MEMORY LIKE a* 练习二、 DIMENSION mm(2,3) DISPLAY MEMORY LIKE m* 练习三、 4 DIMENSION sample(2,3) STORE Goodbye TO sample(1,2) STORE Hello TO sample(2,2) STORE 99 TO sample(6) STORE .T. TO sample(1) CLEAR DISPLAY MEMORY LIKE sample 三 .运算符 : 1数值运算符: ? (4-3) * (12/nVar2) ? 3 * 2 ? 3 2 ? 2 * 7 ? 14 / 7 ? 15 % 4 ? IIF(YEAR(DATE( ) % 4 = 0, Summer Olympics this year; , No Summer Olympics this year) 2、关系运算符: ? 23 ) 【功能】返回 的自然对数值。 【说明】 值必须大于零。 【例如】 输入语句: ?LOG( 16.5) ,LOG( 10) ,LOG( 1) 显示结果: 2.80 2.30 0.00 ( 2)求四舍 五入函数 ROUND() 【格式】 ROUND( , ) 【功能】返回 按 所指定的保留小数位数进行四舍五入的值。若 的值为负,则返回小数点左边为 绝对值个数零的整数值。 【例如】: 输入语句: ?ROUND( 68.345,2) ,ROUND( 68.745,0) ,ROUND( 68.345,-1), ROUND( 68.345,-2) 显示结果: 68.35 69 70 100 注意:在执行函数 ROUND( 68.345,-1)时,小数点左边的数是两位 68,由于参数 2 为 -1,则返回值是整数且应带一个 0,故经四舍五入后, 8 进位到 6 则首位变为 7,第二位按规定是 0。所以该函数的返回值是 70。 (3)求最大值函数 MAX() 【格式】 MAX( , , ) 【功能】返回表达式串 , , 中的最大值。 8 【说明】这些表达式必须具有相同数据类型(可以同是字符、数值或日期)。 【例如】 输入语句: ?MAX( -23,3.56) ,MAX( BOOK,PEN,READ) 显示结果: 23 READ &比较字符的 ASCII 大小 ( 4)求最小值函数 MIN() 【格式】 MIN( , ) 【功能】返回表达式串 , , 中的最小值。 【说明】这些表达式必须具有相同数据类型(可以同是字符、数值或日期)。 【例如】 输入语句: ?MIN( -23,3.56,12.8,23.1) ,MIN( BOOK,PEN,READ) 显示结果: -23 BOOK ( 5)求余函数 MOD() 【格式】 MOD( , ) 【功能】返回 除以 的余数。 【说明】 mod(a,b):当 a,b 同号时,结果为 b 的符号 当 a,b 异号时,值为 a/b 的余数(符号为 a 的符号) +b 【例如】 输入语句: ?MOD( 25,4) ,MOD( 25,-4) ,MOD( -25,4) ,MOD( -25,-4) 显示 结果: 1 -3 3 -1 ( 6)求绝对值函数 ABS() 【格式】 ABS( ) 【功能】 返回 的绝对值,参数的类型为 N 型,得到的函数值的类型为 N 型。 【例如】 输入语句: ?ABS( -26.2) ,ABS( 26.6) ,ABS( -50) 显示结果: 26.2 26.6 50 注意:语句 ? |是非格式输出语句 ,具有计算功能。语句在命令窗口输入。 ( 7)取整函数 INT() 【格式】 INT( ) 【功能】 返回 的整数部分。 【例如】 输入语句: ?INT( 26.2) ,INT( 26.9) ,INT( -26.2) ,INT( -26.9) 显示结果: 26 26 -26 -26 ( 8)求平方根 SQRT() 【格式】 SQRT( ) 【功能】返回 的平方根。 【说明】 的值必须为正数或零。 【例如】 输入语句: ?SQRT( 25.9) ,SQRT( 8*8) ,SQRT( ABS( -36) 显示结果: 5.09 8.00 6.00 ( 9)求指数函数 EXP() 【格式】 EXP( ) 【功能】返回以 e 为底, 为幂次的指数值。 9 【例如】 输入语句: ?EXP( 5.5) ,EXP( 1) ,EXP( -5) ,EXP( -6) 显示结果: 244.69 2.72 0.01 0.00 2字符处理函数 ( 1)宏代换函数 & 【格式】 &. 【功 能】在字符型内存变量前使用 &,将用该内存变量的值去替换 &和内存变量名 . 此外,利用可选的句号分隔符“ .”及 ,还可将额外的 值添在其尾端, 而且 本身也可以是一个宏。即用该内存变量的内容替换 &. 也可以理解为 &的作用是 去掉一重定界符 【例如】输入下列语句序列 STORE LIYI TO XM &赋值语句 STORE XM TO ZXM ?&ZXM 显示结果: LIYI 输入语句: XM=LIYI &赋值语句 ?&XM 显示结果: LIYI 输入语句序列: N=1 M=2 X12=COMPUTER ?X&N.&M 显示结果: COMPUTER 注意:赋值语句的功能是将表达式的值送到变量中。 【例如】 x=88 y=99 z=x+y ?&z*2 ?x+y*2 278 z=(x+y) ?&z*2 ?(x+y)*2 374 (2)测试字符串长度函数 LEN() 【格式】 LEN( ) 【功能】返回 值的字符个数。 可以是一个字符串、备注字段或字符类型字段。若 为一空字符串,则返回数值零。 【例如】 输入语句: ?LEN( Append Blank) 显示结果: 12 (3) 截子串函数 SUBSTR() 【格式】 SUBSTR( , , ) 【功能】返回 中,从 值开始,由 值指定个数的字符串。如果无 选项,则从 值位置开始直到 值尾部。 10 【例如】 输入语句: X=OUTPUT UNIT ?SUBSTR( X,4,3) ,SUBSTR( X,1) 显示结果: PUT OUTPUT UNIT (4)求子串起始位置函数 AT() 【格式】 AT( , , ) 【功能】 返回 第一次出现在 中的整数位置值(从左到右计数)。若 未出现在 中,则返回零值。如果有可选项 ,则在 中从 值代表出现 的次数开始查找。 【例如】 输入语句: ?AT( d,DATA) ,AT( R,RETURN,2) 显示结果: 0 5 (5) 左截子串函数 LEFT() 【格式】 LEFT( , ) 【功能】返回从 最左边计起的 值个字符。 【例如】 输入语句: ?LEFT( INPUT UNIT,5) 显示结果: INPUT (6) 右截子串函数 RIGHT() 【格式】 RIGHT( , ) 【功能】返回从 最右边计起的 值个字符。如果 值小于或等于零,则返回空字符串。 【例如】 输入语句: ?RIGHT( INPUT UNIT,5) &表示空格 显示结果: UNIT ( 7)产生空格函数 SPACE() 【格式】 SPACE( ) 【功能】返回一个由 值确定的空格组成的字符串。 【例如】 输入语句: ?INPUT+DATA ?INPUT+SPACE( 5) +DATA 显示结果: INPUTDATA INPUT DATA (8) 删除字符串前置空格及尾部空格函数 ALLTRIM() 【格式】 ALLTRIM( ) 【功能】返回删除了 的前置空格及尾部空格的字符串。 【例如】输入下列语句序列 X=计算机 Y= 应用 ?ALLTRIM( X+Y) ?ALLTRIM( X) +ALLTRIM( Y) 显示结果:计算机 应用 计算机应用 11 (9) 删除字符串前置空格函数 LTRIM() 【格式】 LTRIM( ) 【功能】返回删除了 的前置空格的字符串。 【例如】输入下列语句序列(表示空格) X=计算机 Y=应用 ?LTRIM( X+Y) ?LTRIM( X) +LTRIM( Y) 显示结果:计算 机应用 计算机应用 (10)删除字符串尾部空格函数 RTRIM() 【格式】 RTRIM( ) 【功能】返回删除了 的尾部空格的字符串。 【例如】输入下列语句序列 X=计算机 Y=应用 ?RTRIM( X+Y) ?RTRIM( X) +RTRIM( Y) 显示结果:计算机应用 计算机应用 ( 11)转换字符串函数 字符插入或替换函数 STUFF() 【格式】 STUFF (, , , ) 【功能】在 中插入或替换一字符串。在 中从 决定的位置开始,删除由 决定的字符个数,然后在该位置插入 。如果 为零,则仅将 插入 中。如果 为一空字符串,则仅从 中清除 个字符而不加入任何字符。 【例如】 输入语句: ?STUFF( ABCDEFG,5,2,123) ?STUFF( ABCDEFG,5,0,123) ?STUFF( ABCDEFG,5,2,) 显示结果: ABCD123G ABCD123EFG ABCDG 小写字母转大写字母函数 UPPER() 【格式】 UPPER( ) 【功能】将 中的所有小写字母转换成大写字母,其它字符不变。 【例如】 输入语句: ?UPPER( abcdefg) 显示结果: ABCDEFG 大写字母转小写字母函数 LOWER() 【格式】 LOWER( ) 【功能】将 中的所有大写字母转换成小写字母,其它字符不变。 【例如】 输入语句: ?LOWER( AbCdEfG) 显示结果: abcdefg 12 3 转换函数 ( 1) STR()函数 【格式】 STR( , , ) 【功能】先计算 的值,然后将此值转换成长度为 (如果指定了 )的字符串;如果指定了 ,则此字符串在小数点右边有 个数 字字符。 包括整数个数、小数点及右边的小数数字个数。 【说明】 数值表达式 2 确定返回字符串的长度(小数点和负号各占 1 位),当长度大于实际数值的位数时间,则在字符串的前面补上相应个数(表达式 2-实际长度)个空格,若表达式 2 的值比表达式 1 的整数部分的长度还小时,则输出的字符串为表达式 2 个 *;当输出的小数位数比实际的小数位数大时,则在字符串后补相应个 0,当小数位数小于实际位数时,小数位数自动按四舍五入处理。数值表达式 3 缺省只输出表达式 1 的整数部分;若同时缺省表达式 2 在字符串前补相应个数 0 到 10 位字符数据。 【例如】 输入语句: ?STR( 99.91,4,1) ,STR( 199.91,4,1) ,STR( 9999.91,4,1) 显示结果: 99.9 200 * ( 2) VAL()函数 【格式】 VAL( ) 【功能】从 的最左边字符开始,在忽略前置空格的情形下由左向右将阿拉伯数字字符转换成数值,直到遇到一个非数字字符为止。如果 的第一个字符不是阿拉伯数字,则 VAL()函数返回数值零。 【例如】 输入语句: ?VAL( 99.99ABC888) ,VAL( A101) 显示结果: 99.99 0.00 ( 3) CTOD()函数 【格式】 CTOD( ) 【功能】将 转换成日期型的值。 【例如】 输入语句: ?CTOD( 12/10/99) ?Ctod(99/12/10) 显示结果: 12/10/99 / / 注意: 的默认格式必须是:月 /日 /年或月 -日 -年 (其中年可以是 2 位也可以是 4 位),若是:年 -月 -日或年 /月 /日格式将得到 一个值: / /,当然也可使用命令 set date to 命令修改日期格式(参见第五章 Set Date to 命令或“工具”菜单下的“选项”中的“区域”设置)。 输入语句: Set Date to ymd &设置日期格式为:年 -月日 D1=CTOD(2003/10/01) ?D1 D2=CTOD(10-01-2001) ?D2 显示结果: 03/10/01 / / ( 4) DTOC()函数 【格式】 DTOC( , 1) 【功能】将 转换成日期格式字符串。 可以是系统日期函数、内存变量或数据库字段。有可选项 , 1,则与 DTOS()函数功能相同。 13 【例如】 输入语句: ?LEN( DTOC( DATE() 显示结果: 8 &09/28/01 这个结果也和系统日期的格式有关 (5)ASCII 字符对应数值函数 ASC() 【格式】 ASC( ) 【功能】返回 值最左边字符对应的 ASCII 码(十进制)。 【例如】 输入语句: ?ASC( a computer) ,ASC( Append) 显示结果: 97 65 ( 6)求数值对应的 ASCII 字符函数 CHR() 【格式】 CHR( ) 【功能】返回 值对应的 ASCII 字符。 【例如】 输入语句: ?CHR( 65) ,CHR( 33) ,CHR( 65+32) 显示结果: A ! a 4 日期函数 ( 1) DATE()函数 【格式】 DATE( ) 【功能】返回当前的系统日期。返回的日期格式可用 SET CENTURY、 SET DATE TO 命令来更改。 【例如】 输入语句: set century on &显示日期带世纪的两位数 ?DATE() 显示结果: 2002-07-21 ( 2) YEAR()函数 【格式】 YEAR( ) 【功能】返回以数值类型表示的 所代表的公元 4 位年份。 可以为系统日期函数、内存变量或数据库字段。 【例如】 输入语句: D1=CTOD( 12-30-99) ?YEAR( D1) D1=CTOD( 10-01-2001) ?YEAR( D1) 显示结果: 1999 2001 ( 3) MONTH()函数 【格式】 MONTH( ) 【功能】返回以数值类型表示的 所代表的月份。 可以为系统日期函数、内存变量或数据库字段。 【例如】 输入语句: D1=CTOD( 12-30-99) ?MONTH( D1) 显示结果: 12 ( 4) DAY()函数 14 【 格式】 DAY( ) 【功能】返回以数值类型表示的 所代表该月的第几日。 【例如】 输入语句: D1=CTOD( 12-30-99) ?DAY( D1) 显示结果: 30 ( 4) DOW()函数 【格式】 DOW( ) 【功能】返回以数值类型表示的 所代表该星期的第几天,星期日是第 1 天,星期六是第 7 天。 可以为系统日期函数、内存变量或数据库字段。 【例如】 输入语句: D1=CTOD( 10-01-2001) ?DOW( D1) 显示结果: 2 &星期一 ( 6) TIME()函数 【格式】 TIME( ) 【功能】返回当前的系统时间。 例如: 输入语句: ?TIME() 显示结果: 14:29:58 5测试函数 ( 1)测试文件头函数 【格式】 BOF( ) 【功能】测试当前工作区或指定工作区中数据表的记录指针是否指向第一条记录之前。返回值为逻辑型( L 型)数据。若记录指针指向第一条记录之前,则返回值为 .T.,否则,返回值为 .F.。缺省工作区是当前工作 区。 【例如】打开 XSDA.dbf(设记录条数大于等于 1),执行下列命令。 输入语句: Use XSDA &打开表 XSDA.DBF ?Recno() ?BOF() Skip 1 &将记录指针往文件头的方向移动一个记录位置 ?RECNO() ?BOF() 显示结果: 1 .F. 1 .T. ( 2)测试文件尾函数 【格式】 EOF( ) 【功能】测试当前工作区或指定工作区中数据表的记录指针是否指向最后一条记录之后。返回值为逻辑型( L 型)数据。若记录指针指向最后一条记录 之,则返回值为 .T.,否则,返回值为 .F.。缺省工作区是当前工作区。 【例如】打开 XSDA.dbf(设记录条数为 8),执行下列命令。 输入语句: Use XSDA &打开表 XSDA.DBF Go Bottom &将记录指针指向最后一条记录 ?Recno() 15 ?EOF() Skip &将记录指针往文件尾的方向移动一个记录位置 ?RECNO() ?EOF() 显示结果: 8 .F. 9 .T. ( 3)测试当前记录号函数 【格式】 RECNO( ) 【功能】返回值当前工作取区或指定工作区中打开的数据表的饿当前记录号,即记录指针当前指向的记录号。返回值为数值型 (N 型 ),缺省工作区好或别名时指当前工作区。 【例如】打开表 XSDA.DBF 后,将记录指针移动到第五个记录上。 输入语句: ?RECNO() 显示结果: 5 ( 4)测试查询结果函数 【格式】 FOUND( ) 【功能】在使用查找命令 LOCATE/CONTINUE、 FIND、 SEEK 后测试是否在当前工作区或指定工作区中是否找到满足条件的记录,返回的值类型为逻辑型( L 型),如果找到,则返回值为 .T.,否则返回值为 .F.,缺省工作区为当前工作区。 【例如】打开表 XSDA.DBF,使用查找命令 USE XSDA LOCATE FOR 性别 =“女“ &假设找到 ?Found() 显示结果: .T. ( 5)测试文件是否存在函数 【格式】 FILE( ) 【功能】测试在当前的计算机系统中是否存在指定的 ,返回值的类型为逻辑型( L 型),如果存在,则返回 .T.,否则,返回 .F.。 【例如】在当前计算机系统中存在数据表 XSDA.DBF。 输入语句: ? File(“ XSDA.DBF” ) 显示结果: .T. ( 6)测试表文件是否存在函数 【格式】 DBF( ) 【功能】测试当前工作区或指定工作区中是否存在数据表文件,返回的值类型为逻辑型( L 型),如果存在,则返回值为 .T.,否则返回值为 .F.,缺省工作区为当前工作区。 ( 7)测试记录个数函数 【格式】 RECCOUNT( ) 【功能】 返回当前工作区或指定工作区中数据表的记录总数,返回的值类型为数值型( N 型),缺省工作区为当前工作区。 【例如】打开表 XSDA.DBF(共 8 条记录) 输入语句: USE XSDA ?RECCOUNT() 显示结果: 8 ( 8)选择工作区函数 【格式】 SELECT( 0/1/别名 ) 16 【功能】 返回当前工作区号或未使用工作区的最大编号,选 0 或缺省 0/1/别名返回当前工作区号;选 1 返回未使用工作区的最大编号。返回的值类型为数值型( N 型)。 【例如】设选择 2 号工作区,测试工作区号。 输入语句: ?SELECT() ?SELECT(1) 显示结果为: 1 32767 ( 9)测试类型函数 【格式】 TYPE( ) 【功能】返回值是 中字符串所表示的表达式的类型。 【例如】 输入语句: ?TYPE( 12*2) ,TYPE( x12) ,TYPE( .F.) ,TYPE( date() ) X12=abcd ?TYPE( x12) 显示结果: N U(未知) L D C (10)条件赋值函数 IIF() 【格式】 IIF( , , ) 【功能】按 的逻辑值决定返回 的值或 的值。若 的逻辑值为真,则返回 的值,若 的逻辑值为假,则返回 的值。 【例如】 输入语句: x=4 ?IIF( x0,1,-1) 显示结果: 1 ( 11)测试光标所在列函数 COL() 【格式】 COL() 【功能】返回屏幕上当前光标所在的列数( 0 79)。 ( 12)测试光标所在行函数 ROW() 【格式】 ROW() 【功能】返回屏幕上当前光标所在的行数( 0 24)。 ( 13)读一键函数 【格式】 INKEY( 数值型表达式 ) 【功能】返回从键盘输入的一个键的键值。等待用户按键时间为 数值型表达式 秒钟。若 数值型表达式 为 0 则无限期的等待,若省略 数值型表达式 则不等待,若超过时间用户未按键,则返回 0。 【例如】 输入语句: ?INKEY( 3) ?INKEY( ) ?INKEY( 0) 显示结果: 97 &从键盘输入小写字母 a 0 &不等待,直接返回 0 99 &无限期的等待,直到输入小写字母 c 第 2 章 表的建立和操作操作 17 2.1 表的建立 2.1.1 数据表结构 表 .1 学生 .DBF 学号 姓 名 性 别 出生年月 入学成绩 简 历 照 片 00201 张 伊 男 81/12/30 560.50 Memo Gen 00202 李光华 女 82/05/02 580.00 Memo Gen 00301 汪 海 女 82/03/25 579.00 Memo Gen 00303 李嘉陵 男 83/01/06 580.00 memo Gen 00203 魏微微 女 82/03/09 592.50 memo Gen 2.1.2 建立表结构 1.命令方式 : create 学生 (首先建立默认目录) create table 学生 (学号 C(8),姓名 C(8),出生日期 D,入校总分 N(3,0),个人信息 M) 2.菜单方式 2.1.3 输入数据 1.输入各种类型的数据 注意: 1)、文件名和文件位置,查找文件 2)、关闭就存盘 3)、观察状态栏 4)、字段名输错、字段宽度或类型设计错了、多输或少输了字段名、字段位置调整 需要使用: Modify Structure 5)、如果字段值需要修改,输入命令 browse。 显示菜单 上有 浏览 和 编辑 选项也可以进行操作。如果要添加新的记录输入 append。 6)、输入数据时不要输入空格。输入数据时最好是出现蓝色光标时。 7.) 备注型( M)、通用型号( G)的使用方法: 备注型:存放备注字段(宽度为 2)。系统默认显示为 memo 或者 Memo(有内容时) 通用型:存放通用字段(宽度为 2)。系统默认显示为 gen 或者是 Gen(有内容时) 2 个字节存取的是地址指针,指向备注文件(文件名和表文件名一样,扩展名为 .FPT)对应的内容。 操作 方法:详见 26 页 重要提示:只要表中有备注或者通用字段(不管是一个或者多个),或者两个同时都有,系统就会自动产生一个与表文件名相同的备注文件,扩展名为 FPT 2.追加记录 追加输入命令 (末尾添加 ): append blank append from 菜单方式 : 2.2 打开 显示和关闭表 2.2.1.开表和关闭表 use 命令 1、 表建立时就会被打开,一般来讲:表被打开时状态栏上有东东。 2、 如果表没有被打开,则可以象 word 打开文档一样打开表。 方法:在资源管理器(我的电脑)中双击表。文件菜 单中打开表 建议大家使用第三种方法:命令: use 表名 书 P27 页 注意:表是否在默认目录中。打开表时 ,只读 和 独占 方式的设置。 3、 当表被打时 , 除了状态栏上有东西外,主工作区可能看不见其它的东西 ,在 ”表 ”菜单下选 ”浏览 ”。 4、 关闭表的方法: use 打开新的表的同时也会把以前的打开的表关掉 5、 关闭一切东东: close all/database 18 6、 关于关闭的语句: P29 close all 、 clear all、 clear memory 、 use 、 close database 、 close table 其中 clear all=close all + clear memory 菜单方式 2.2.2 表文件的显示 1. 显示表结构 display/ list structure to printer/ to file 2.显示记录 disply/list 范围 for/while fields to printer / to file off 说明: 1).范围 :默认为 all,允许有: all、 next 、 record 、 rest all :全部记录 next :从当前记录开始的 N 条记录 record :第 N 条记录 rest :当前记录起到最后一条记录为止的所有记录 例如: use 学生 list go 2 list next 2 list rest 2)、条件 : for/while 例如:显示出姓张的男生 list for substr(姓名 ,1,2)=”张 ” and 性别 =”男 ” 也可以改为: list for at(“张 ”,姓名 )=1 and 性别 =”男 ” list for left(姓名 ,2)=”张 ” and 性别 =”男 ” 注意: for 默认的范围是 all 使用 while go 1 list while left(姓名 ,2)=”张 ” and 性别 =”男 ” go 1 list while left(姓名 ,2)=”张 ” and 性别 =”女 ” 比较发现: while 是当碰到第一条不满足条件的记录时就停止工作 3)、 fields 字段名表 例如: list fields 姓名 ,性别 ,入校总分 list for 性别 =”男 ” fields 姓名 ,简历 list for “张 ”$姓名 fields 姓名 , 入校总分 ,照片 list for 入校总分 =580 and 性别 =”男 ” or 入校总分 570 and 性别 =女 姓名 ; ,出生年月 ,性别 , 入校总分 说明:( 1) $符号是判断前面一个字符串是否属于后面那个字符串。 ( 2)在 list 后需使用字段名表时, fields 可以不写,也可以写,最好是写。 ( 3)使用字段名表,备注字段可以显示其内容,通用型字段无法显示内容。 2).To printer: 到打印机 5).To file : 这 里的文件类型是 TXT 6).OFF:不显示 记录号 7)List 和 display 区别: 19 a.list 默认参数是全部记录, display 默认参数是当前记录 b.list 显示时,如果有很多条记录,就会一次显示完,而 display 会分屏显示 c.list=display all(分屏显示) , list next 1=display 例如: list for 性别 =男 display for 性别 =男 go 2 list next 3 go 2 disp next 3 结论:当 list 和 disp 不 单独使用,要加范围和条件参数时,是完全一样的(除了分屏显示外)。 单独使用时: list 显示全部, disp 显示当前记录。 3.表的浏览 菜单方式 : 窗口分割器 命令方式 : BROWSE Fields for rest 2.3 表的修改与编辑 2.3.1 修改表结构 MODIFY STRUCTURE 2.3.2 表记录的修改和编辑 1.指针记录的定位 记录指针 , 当前记录 , 当前记录号 记录号反映了记录存放的物理顺序 (1).命令方式 :绝对移动 : go/ goto 命令 基本使用方法: go 数字、 go top(第一条记录)、 go bottom(最后一条记录) 相对移动 skip 数字 说明: skip = skip 1 skip 3 skip -2 使用函数: recno()、 bof()、 eof() 重点掌握: EOF()、 BOF()的含义。 BOF(): begin of file:文件开始,第一条记录的前面,记录号为 1 EOF(): end of file:文件结束,最后一条记录的后面,记录号为最后一条记录的记录号 +1 请分别描述下列 值为多少: use 学生 Go 1 disp ?recno(),bof() skip 1 ?recno(),bof() go bottom ?recno(),eof() skip ?recno(),eof() 思考 : use 学生 list disp 20 disp 将会显示什么结果 ,为什么 ? 2. 修改记录 (1)BROWSE FIELDS FOR P51 (2)成批修改记录 (重点 ) 【格式】 REPLACE WITH ADDITIVE , WITH ADDITIVE . FOR WHILE 【功能】用指定 的值替换当前表中指定范围内满足条件的记录中指定 的值 . ADDITIVE 用于备注型字段 ,表将表达式值添加到字段原有内容后 ,否则取代原有内容 . !若命令中 和 选项均缺省,则只对当前记录进行替换操作 数据库 数据库是一个数据容器 ,包含多个表和表之间的关系(视图,索 引关系,存储过程等)。 表(自由表):独立存在的二维表 数据库表(数据表):数据库中的二维表,可以单独使用 6.1 数据库的创建与管理 6 1 1 创建 菜单方式 命令方式 : CREATE DATABASE 数据库名 扩展名: DBC 6 1 2 管理 项目管理器 6 1 3 数据库的打开,修改,关闭 1打开: OPEN DATABASE 数据库名 EXCLUSIVE/SHAREDNOUPDATEVALIDATE 独占 /共享 只读 检查有效性(校验) *打开一个数据库的同时不会关闭另外一个数据库 *打开很多个以后想指定某个为当前数据库,使用 set database to 库名 2修改 : MODIFY DATABASE 数据库名 例如: CLOSE ALL CREATE DATABASE ABC CREATE DATABASE ABC1 CLOSE ALL OPEN DATABASE ABC1 OPEN DATABASE ABC MODI DATABASE SET DATABASE TO ABC1 MODI DATABASE 3关闭 CLOSE DATABASE 关闭当前数据库 CLOSE DATABASE ALL 关闭所有已经打开的数据库 CLOSE ALL 关闭所有打开的数据库和表 CLEAR ALL 关闭所有打开的数据库和表,清除内存变量 6 1 4 数据库对表和管理 1)库中新建表 2) 自由表添加到库中 3) 数据表从数据库中删除(移去或者删除) 21 4) 表的操作:修改表结构,浏览表中数据 5) 连接、视图等 6 1 5 数据库文件的查看 (了解 ) USE 数据库名 .DBC /*打开数据库库文件 MODI STRU /*修改数据库库文件的结构 BROWSE /*浏览数据库库文件内容 由此可以看见:数据库的实质其实也是二维表(容器表)。 6.2 数据字典 6 2 数据字典 数据字典: 一张特殊的表,存放表中各种数据的定义或者设置信息(包括表的属性、字段属性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论