a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 171|回复: 1

[Visual FoxPro] 2012计算机等级考试二级VFP第一章辅导资料11

[复制链接]
发表于 2012-7-31 22:17:54 | 显示全部楼层 |阅读模式
第二章 VFP语言基础
- n+ O. i8 Q4 o. Y1 n# B! X2.1 程序设计概述    1. 程序设计方法简介 4 b* E. ^9 G( S/ q
   设计方法
. p% E5 k( }3 b- P- u主要概念
. Y, X: E& g! T& G0 ?设计过程
0 R. c0 }8 m" H: f, y$ X程序执行方式
% s# j% ~- @7 C: d, v1 u5 {结构化程序设计
1 ^9 x: t7 E  z1 |9 T功能模块(即过程、自定义函数)
6 O% {/ H, L& l3 X( x7 D& f2 \0 C编制各个功能模块,再用主程序将它们串起来
& F9 i. V. l7 W! E. j  `将应用程序分解成若干功能模块,通过各模块的相互调用来完成整个执行过程,是过程驱动的。 2 T8 m: U( a3 c3 ~( g! `1 S* u
面向对象程序设计 1 q) Y, T) |/ M
类、对象、属性、事件、方法   G# C, J7 A* Z  s$ }4 ]1 p8 h
设计类、子类、对象(设计外观、设置属性、为事件编写方法程序)
8 H) }1 `9 H. Y( k8 B9 {* d! ]将应用程序分解成具有特定属性的对象,通过调用各对象的不同方法来完成相关事件,是事件驱动的。
' z8 E- a9 v4 C7 [4 p( M2 H. P
. v+ O, K2 p2 Q, h" G  e  {3 V  2.数据类型   VFP 包含下列数据类型:
! S9 s8 W8 v# h   通用的数据类型
8 [  x$ D" D# m- D+ O' p2 ]% K3 s& X3 X  m( p
字符型    Character
/ @4 g  n$ r9 M; ]# K) j. w( s' h6 f1 A# @. g! P4 z+ a& B% w. `3 j4 |
货币型    Currency
+ [6 k4 u- @. q" H! C9 V4 m- v6 q. K* A% U  ?4 J' g
日期型    Date, ^, H5 \  y' Q7 Y( o
) n/ [( v  U( B) ~
日期时间型    DateTime% Y7 O7 p4 h: V* m; O) A

) s8 x0 T, k' ]& v# n; h+ E逻辑型    Logical. l( z/ u2 ], y/ X% ?; D# Z
# t* o2 m5 y1 ^* w" d
数值型    Numeric- c8 `; K, @) w8 {6 o3 C
仅用于字段的数据类型
3 C  c( F/ J4 l& T- ]" u+ |( `% o/ N3 d; D4 |! a5 U* o
双精度型    Double
, v% N/ b- v; Y3 ^+ b1 P6 O
2 A" Y! }0 R% W6 q  q6 g5 y浮点型    Float0 p  [, h! z! m
' i" Q6 P1 I5 a* V, e
整型    Integer
, u+ ~5 |7 X: _% l6 C: D- K% Q
8 Z1 A5 B7 U0 x% L- s通用型    General2 M+ {6 w* r. w/ A( n2 M
* u6 g; B" Y9 M$ I8 b
备注型    Memo, B6 q* I2 R: q# z, \8 u
 
% D$ O7 [1 W: e( @0 e0 _8 F1 i3 [& ^, _  J* W
  3. 数据容器
- F3 B6 e/ l* [3 M5 s  VFP中用来存储数据的容器有:常量、变量、数组、记录和对象。
. U6 ?" V' h( B) [  (1) 常量(constants):
" J0 j# v. N+ m9 q( `. G9 {  一个在操作过程中保持不变的数值或字符串。   常用的常量类型 ! C% _3 j7 R5 ~
   常量类型
% {% l. S" D# G* k, A5 \/ x! M  Z/ }数值型常量
0 {0 u# c- ]2 [4 P# F# q字符型常量
6 S5 G6 O8 }0 k; M5 J# g# n逻辑型常量 ; L. g9 ^6 g' e6 r$ ]
日期型常量
$ v' E) y& Y0 z; n- K表示方式
$ |; y4 O/ E) c) H-25.36
3 M2 U2 u( D2 S' H+ I"abc","123","中国"
! @0 ~$ U- t9 C3 t/ N.T. .F.
  ]# @8 v* z, c; U2 r6 c8 P{^2005/07/10}
1 O8 ?' a7 I$ x; Z6 ^2 i# @+ w+ C; L4 z$ _! z% L
 
回复

使用道具 举报

 楼主| 发表于 2012-7-31 22:17:55 | 显示全部楼层

2012计算机等级考试二级VFP第一章辅导资料11

 (2)变量(variables):
  u: x8 C, Y9 I, r. M$ m. ^  是内存中的一个存储单元的位置,其中的内容可以变化,但标识该存储位置的名称(即变量名)不变。 1 j" V5 j7 @% Q& s. J
  变量的命名习惯: 类型变量代号 ) U6 U7 L6 A0 w  Z0 o( A! Q& a+ n1 {
  如:cStud 、nCj 、dCsrq —— ' v+ P% N# Z; Y
  分别代表一个字符型、数值型、日期型的变量名
+ y( ?* U3 R3 L# \, p8 Y  变量的赋值方式: # U0 P2 ~- j# l5 _
  1) 用 STORE 命令 如:STORE "王兰" TO cStud / q+ G0 Z( P1 i: ~  ^
  2) 用赋值操作符 = 如:cStud = "王兰"   变量的作用域: 即变量起使用的有效范围。   c% @5 T& D( S) g) l) g
   变量作用域 $ P4 J" M" o9 C) e2 @
定义作用域的关键字
" a. G+ R. z1 X# g( }- f特点
( B: O$ l- |# c
1 ^1 I7 C$ i& b$ s % u( L. b3 M/ O0 q
4 t0 A* |; B% Q( M" H+ R0 a: g% ^

+ F$ p$ [) D" h2 E( h局部变量    local variable(本地变量) 0 ?9 p9 b0 Z' _) ?- p2 o6 Z* k1 O
LOCAL' W( n6 w. K# u) e
只能在一个函数或过程中被访问,其他过程或函数不能访问此变量的数据。当其所属程序停止运行时,局部变量将被释放。 / d* `1 n+ D) @7 ]7 U

1 N2 V- j, T: E8 R  w/ q私有变量    private variable   \4 G" n8 y- {
PRIVATE
3 G5 K: l5 I9 w* U9 R% `: G私有变量在 VFP 中是默认的,不需要特殊的关键字定义。但是,如果在更高一级例程(routine)中已经有同名变量,可以用PRIVATE 关键字予以声明,以限定其范围。当定义此变量的例程结束时,此变量也被相应释放。可使用私有变量在被调用的函数中共享数据。 1 _' b% J1 g, @5 m% ^+ Z

8 |4 [* ?; J; }# @公共变量    public variable 8 q1 w6 T) t) l& W
PUBLIC1 F4 o+ C& a! c* E# C. t1 I
可用于所有过程和函数,而不限于定义该变量的过程和函数。可使用全局变量在多个过程或函数之间共享数据,在命令窗口中创建的任何变量自动具有全局属性。
6 x, q: o1 F3 S+ O5 o3 z) L' i
2 \$ {; {  S# Q5 V  变量的访问: - q1 f# e' N! \- o3 d# x
  当变量和字段同名时,字段有优先被访问权。要在变量名前加 m. 或 m -> 以示区别,如 m.cStud
& h) B. k6 z' _  (3)数组(array):
% s  l$ e- M  y- R( u  是存储在一个变量中由单个变量名引用的有序数据集合。在 VFP中,一个数组中的数据不必是同一种数据类型。常用的有一维数组,二维数组。 9 r' C- p$ b$ q
  数组元素的标识:通过一个数值下标来引用,如 AA[2],AA[2,3]
$ f& V1 P4 ?4 O  数组类型的声明:
' [( i0 d5 ^9 K7 X0 K2 e6 ^  私有数组 ——用DECLARE 或 DIMENSION定义 4 A& d8 ~6 E6 ?/ U+ U6 [  A7 o; t
  全局数组 ——用PUBLIC命定义
5 E7 v; J; D. P  局部数组 ——用LOCAL定义
9 ?2 B% K, V" L! E$ T7 i3 X9 u% F+ E9 S  数组元素的赋值: 9 ]6 ]* w1 @( k% ^% x0 f( ]5 `) A9 M
  用赋值语句: 如 AA=45 9 V& K7 j' p, h' J
  用SCATTER从当前记录中取特定字段的值赋给数组:
, T2 ~/ {8 p! ^5 r2 `" n* i4 O  如: scatter fields xh, xm, xb to aa
+ s: W$ X( T4 s8 ?1 h9 s+ ]3 e. [  (数组长度、类型自动与所给字段相同)
% t6 \# f6 G+ x: j2 E( i  用 COPY TO ARRAY从当前记录中取所有字段的值赋给数组: 5 I* z! o3 q, v& H  V
  如: copy to array aa
' t0 M: R8 s' ^' }, G) J  (数组长度、类型自动与表中全部字段相同) " P: B+ D. U4 j2 b+ o$ E. P
  把数组中的数据传给当前表中的当前记录: & q) O0 n, D9 K$ c
  gather from 数组名 [fields 字段名表] + v- W, C/ ?& C5 M; g8 [
  用数组向当前表添加记录:
" K  t$ u' z% f0 r  append from array 数组名 [for 条件] [[fields 字段名表]
4 Y/ f7 _. k0 D/ X  (用二维数组可以同时添加多条记录) , W5 r) C, F0 Z6 b7 f& ]
  数组处理的常用函数: : a5 ?% m, [; x& [6 E* P# {
  排序SORT(),搜索ASCAN(),删除ADEL(),插入AINS()
5 q6 n$ J( Z; W7 c, Y4 [2 A  (4) 记录:
- p; \2 @4 @: p2 |. I8 |7 g  表中的一行,由字段组成。 ! T; k! D- D8 T" l6 A
  (5) 对象:   对象是类的一个实例,类是对拥有数据和一定行为特征的对象集合的描述。VFP对象可以是表单、表单集、控件
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-7 10:37 , Processed in 0.182309 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表