visual foxpro “%”是什么意思
追问:?3*4%5
结果是2
这个照理结果不是12吗?
4%5=4
然后3乘以4=12啊?不是的,例如
?3*4%5
结果是2
答案:VFP是由FoxPro发展而来,并且根据“可视化编程”的需要,增加了一些新的操作。它的语句、函数和语法规则与Xbase(如dBASE、FoxBase、FoxPro)语言基本上是兼容的,而且功能更加强大。
一、数据和数据类型
1.数据的分类
数据是计算机程序处理的对象,也是运算产生的结果。
按数据的类型分类:数值型数据、字符型数据、逻辑型数据等。
按数据的处理层次分类:常量、变量、函数和表达式。
2.数据的类型
数据类型是数据的基本属性。对数据进行操作的时候,只有同类型的数据才能进行操作,若对不同类型的数据进行操作,将被系统判为语法出错。
(1)字符型(Character):由字母(汉字)、数字、空格等任意ASCII码字符组成。
字符数据的长度为0~254,每个字符占1个字节。
(2)货币型(Currency):在使用货币值时,可以使用货币型来代替数值型。
货币型数据取值的范围是:
-922337203685477.5807~922337203685477.5807
小数位数超过4位时,系统将进行四舍五入的处理。每个货币型数据占8个字节。
(3)日期型(Date):用以保存不带时间的日期值。
日期型数据的存储格式为“yyyymmdd”其中yyyy为年,占4位,mm为月,占2位,dd为日,占2位。
日期型数据的表示有多种格式,最常用的格式为mm/dd/yyyy。
日期型数据取值的范围是:公元0001年1月1日一公元9999年12月31日。
(4)日期时间型(DateTime):用以保存日期和时间值。日期时间型数据的存储格式为 “yyyymmddhhmmss”其中yyyy为年,占4位,mm为月,占2位,dd为日,占2位,hh为时间中的小时,占2位,mm为时间中的分钟,占2位,ss为时间中的秒,占2位。
日期时间型数据中可以只包含一个日期或者只包含一个时间值,缺省日期值时,系统自动加上1999年12月31日,省略时间值时,则自动加上午夜零点。
(5)逻辑型(Logical):用于存储只有两个值的数据。存入的值只有真(.T.)和假(.F.)两种状态,占1个字节。
(6)数值型(Numeric):用来表示数量,它由数字0~9、一个符号(+或-)和一个小数点(.)组成。数值型数据的长度为1~20,每个数据占8个字节。
数值型数据取值的范围是:
-0.9999999999E+19~0.9999999999E+20
以下数据类型只能被用于数据表中的字段:
(7)双精度型(Double):用于取代数值型,以便能提供更高的数值精度。双精度型只能用于数据表中字段的定义,它采用固定存储长度的浮点数形式。与数值型不同,双精度型数据的小数点的位置是由输入的数据值来决定的。每个双精度型数据占8个字节。
(8)浮点型(Float):只能用于数据表中字段的定义,包含此类型是为了提供兼容性,浮点型在功能上与数值型等价。
(9)通用型(General):用于存储OLE对象,只能用于数据表中字段的定义。该字段包含了对OLE对象的引用,而OLE对象的具体内容可以是一个电子表格、一个字处理器的文本、图片等,是由其他应用软件建立的。
(10)整型(Integer):用于存储无小数部分的数值,只能用于数据表中字段的定义。在数据表中,整型字段占用4个字节,取值范围是:
-2147483647~2147483647
整型以二进制形式存储,不像数值型那样需要转换成ASCII字符存储。
(11)备注型(Memo);备注型用于字符型数据块的存储,只能用于数据表中字段的定义。在数据表中,备注型字段占用10个字节,并用这10个字节来引用备注的实际内容。实际备注内容的多少只受内存可用空间的限制。
备注型字段的实际内容变化很大,不能直接将备注内容存在数据表(.DBF)文件中。
系统将备注内容存放在一个相对独立的文件中,该文件的扩展名为.DBT。
由于没有备注型的变量,所以对备注型字段的处理,需转换成字符型变量,然后使用字符型函数进行处理。
二、常量与变量
在程序的运行过程中,把需要处理的数据存放在内存储器中,称始终保持不变的数据为“常量”,称存放可变数据的存储器单元为“变量”,其中的数据称为变量的值。
1.常量
常量是一个命名的数据项,在整个操作过程中其值保持不变。如PI值,即3.1415926535是数值型常量。 VFP定义了如下类型的常量:
数值型常量,如:20,16,100,1
字符型常量,用单引号或双引号括起来的字符串,如:"ABCD"
逻辑型常量,只有两种:.T.和.F.
日期型常量和日期时间型常量,如:{^1999-04-22},{^1999-04-24 10:00am}
2.变量
VFP有3种形式的变量:
内存变量——存放单个数据的内存单元
数组变量——存放多个数据的内存单元组
字段变量——存放在数据表中的数据项
每个变量都有一个名称,叫做变量名,VFP通过相应的变量名来使用变量。变量名的命名规则是:
(1)以字母、数字及下划线组成,中文VFP可以使用汉字作变量名。
(2)以字母或下划线开始,中文VFP可以汉字开始。
(3)长度为1~128个字符,每个汉字占2个字符。
(4)不能使用VFP的保留字。
变量的作用域包括定义它的过程以及该过程所调用的子过程范围。
三、运算符与表达式
运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符,而参与运算的数据称为操作数。表达式用来表示某个求值规则,它由运算符和配对的圆括号将常量、变量、函数、对象等操作数以合理的形式组合而成。
表达式可用来执行运算、操作字符或测试数据,每个表达式都产生唯一的值。表达式的类型由运算符的类型决定。在VFP中有5类运算符和表达式:
算术运算符和算术表达式
字符串运算符和字符串表达式
日期运算符和日期表达式
关系运算符和关系表达式
逻辑运算符和逻辑表达式
1.算术运算符与算术表达式
算术表达式也称数值型表达式,由算术运算符、数值型常量、变量、函数和圆括号组成,其运算结果为一数值。例如:50*2+(70—6)/8的运算结果为108.00。算术表达式的格式为:
<数值1><算术运算符1><数值2>[<算术运算符2><数值3>…]
(1)算术运算符。
VFP提供的算术运算符如表1。1所示。在这6个算术运算符中,除取负“-”是单目运算符外,其他均为双目运算符。它们运算的含义与数学中基本相同。
表1.1 算术运算符
运算符 名称 说 明
+ 加 同数学中的加法
- 减 同数学中的减法
* 乘 同数学中的乘法
/ 除 同数学中的除法
^或** 乘方 同数学中的乘方,如4^3表示43
% 求余 12%5表示12除以5所得的余数2
算术运算符的优先权依次为:
( ) → ^、** → *、/ → % → +、-
(2)表达式的书写规则。
算术表达式与数学中的表达式写法有所区别,在书写表达式时应当特别注意:
每个符号占1格,所有符号都必须一个一个并排写在同一横线上,不能在右上角或右下角写方次或下标。例如:23要写成2^3,Xl十X2要写成X1+X2。
原来在数学表达式中省略的内容必须重新写上。例如:2X要写成2*X。
所有括号都用小括号(),且括号必须配对。例如:3[x+2(y+z)]必须写成3*(x+2*(y+z))。
要把数学表达式中的有些符号,改成VFP中可以表示的符号。例如:要把2πr改为2*pi*r。
2.字符串运算符与字符串表达式
一个字符串表达式由字符串常量、字符串变量、字符串函数和字符串运算符组成。它可以是一个简单的字符串常量,也可以是若干个字符串常量或字符串变量的组合。VFP提供的字符运算符有两个(其运算级别相同),如表1-2所示。
表1-2 字符运算符
运算符 名称 说明
+ 连接 将字符型数据进行连接
- 空格移位连接 将前一数据尾部的空格移到后面数据的尾部
字符串表达式的格式为
<字符串1><字符串运算符1><字符串2>
[<字符串运算符2><字符串3>…]
例如:
"ABCl23"+"666xyz"连接后结果为:"ABCl23666xyz"
"计算机"+"世界" 连接后结果为:"计算机世界"
"ABC "-"DEFG" 连接后结果为:"ABCDEFG "
"ABC "+"DEFG" 连接后结果为:"ABC DEFG "
字符串表达式的值为字符串。
在字符串中嵌入引号,只需将字符串用另一种引号括起来即可。例如:
QM="'"
S=S+QM+ALLTRIM(THIS.Edit1.Value)+QM+","
3.日期时间运算符与日期时间表达式
日期型表达式由算术运算符“+、-”、算术表达式、日期型常量、日期型变量和函数组成。日期型数据是一种特殊的数值型数据,它们之间只能进行加“+”、减“-”运算。有下面3种情况:
两个日期型数据可以相减,结果是一个数值型数据(两个日期相差的天数)。例如:
{^1999/12/19}-{^1999/11/16}结果为数值型数据:33
一个表示天数的数值型数据可加到日期型数据中,其结果仍然为一日期型数据(向后推算的日期)。例如:{^1999/11/16}+33结果为日期型数据:{^1999/12/19}
一个表示天数的数值型数据可从日期型数据中减掉它,其结果仍然为一日期型数据(向前推算的日期)。例如:{^1999/12/19}-33 ,结果为日期型数据:{^1999/11/16}
VFP将无效的日期处理成空日期。
4.类与对象运算符
类与对象运算符专门用于实现面向对象的程序设计。有以下两种:
.——点运算符,确定对象与类的关系,以及属性、事件和方法与其对象的从属关系。
::——作用域运算符,用于在子类中调用父类的方法。
5.名表达式
在VFP中,许多命令和函数需要提供一个名。可在VFP中使用的名有:
表/.DBF文件名 、 表/.DBF别名 、 表/.DBF字段名 、 索引文件名、文件名、 内存变量和数组名、窗口名、 菜单名、表单名、 对象名、 属性名、 …
在VFP中定义一个名时,需要遵循以下原则:
名中只能使用字母或下划线开始。
名中只能使用字母、数字和下划线字符。
不能使用VFP的保留字。
名的长度可以为1—128个字符,但自由表中的字段名、索引标记名最多为10个字符。文件名按操作系统的规定。
名不是变量或字段,但是可以定义一个名表达式,以代替同名的变量或字段的值。
名表达式为VFP的命令和函数提供了灵活性。将名存放到变量或数组元素中,就可以在命令或函数中用变量来代替该名,只要将存放一个名的变量或数组元素用一对括号括起来。如:
STORE "CITY" TO a
REPLACE (a) WITH "Beijing"
字段名CITY被存放在变量a中,在使用REPLACE命令时,名表达式(a)
其他:有两个意思,一个是除模运算,就是取余数,如16%3=1 (商5余1),另一个是表示字符串,如"刘%",表示姓刘的所有人。 数据库 计算机二级的内容!不是很难! 格式控制符,自己看书上有
上一个:启动Visual foxpro的时候错误,
下一个:visual foxpro 中选项按钮组控件怎么两层 显示