官术网_书友最值得收藏!

3.1 常量與變量

常量是指在程序運行過程中固定不變的數(shù)據(jù),在Visual FoxPro中,常量包括數(shù)值型常量、字符型常量、日期型常量、日期時間型常量和邏輯型常量。

1.常量

(1)數(shù)值型常量

數(shù)值型常量即數(shù)學中的常數(shù),由數(shù)字(0~9)、小數(shù)點和正負號構(gòu)成的,最大長度為20個字符。例如,3.14、-53、5543等。

(2)字符型常量

字符型常量也稱字符串,它由中英文字符、數(shù)字、空格等ASCII字符組成,使用時必須用定界符括起來,定界符包括單引號(''),雙引號("")和方括號([ ])。如果定界符成為常量的組成部分,則應使用另外的定界符括起來。例如,"I’m a teacher."。

注意:定界符的作用是確定字符串的起始位置和終止界限,它本身不是字符型常量的內(nèi)容。不包含任何字符的字符型常量“”稱為空串,空串與包含空格的字符型常量(" ")不同。

(3)日期型常量

日期型常量是用來表示一個日期,其表示方式是用符號{ }將日期括起來,花括號中包含以分隔符“/”分隔的年、月、日3部分內(nèi)容,還可以用連字符“-”和句點“.”作為分隔符。

①傳統(tǒng)日期格式:{MM/DD/YY}或{MM/DD/YYYY},其中MM、DD、YY分別表示月、日、年。

例如,{0617/15}或{06/17/2015},表示2015年6月17日。

②嚴格日期格式:{^YYYY-MM-DD},其中符號“^”表明該日期格式是嚴格的,并按照年、月、日的格式來解釋日期。

例如,{^2015-06-17},表示2015年6月17日。

注意:系統(tǒng)默認的日期格式為嚴格的日期格式,若要使用傳統(tǒng)的日期格式必須先執(zhí)行set strictdate to 0命令;若再要用嚴格的日期格式須先要執(zhí)行set strictdate to 1命令或通過函數(shù)轉(zhuǎn)換才能進行。

(4)日期時間型常量

日期時間型常量是用符號{}括起來的日期時間型數(shù)據(jù)序列,括號內(nèi)主要包括日期和時間兩部分內(nèi)容,其格式為{<日期>,<時間>}。<日期>部分的格式與日期型常量相似,<時間>部分的格式為[HH[;MM[:SS]]][A/P]。這里HH、MM、SS分別表示時、分和秒,A(或AM)和P(或PM)分別表示上午和下午。

例如,?{^2015-06-20,11:43:30 A}。

(5)邏輯型常量

邏輯型常量只有兩個值:真與假,邏輯真(.T.或.Y.),邏輯假(.F.或.N.),前后兩個句點是定界符,不能省略。邏輯型數(shù)據(jù)只占用一個字節(jié)。

2.變量

變量是在命令或程序執(zhí)行過程中其值可以發(fā)生變化的量,主要有字段變量、內(nèi)存變量、系統(tǒng)變量、對象變量和數(shù)組變量5種類型。

(1)字段變量

字段變量是指表中已定義的任意一個字段,由于在一個數(shù)據(jù)表中字段的值是隨記錄行的變化而變化的,所以它為變量。字段變量是定義在表中的變量,隨表的存取而存取,因而是永久性變量。字段名就是變量名,變量的數(shù)據(jù)類型為Visual FoxPro中的任意數(shù)據(jù)類型,字段值就是變量值。字段變量通常簡稱為字段。

(2)內(nèi)存變量

內(nèi)存變量是指內(nèi)存中的一個存儲單元,該單元的名稱稱為內(nèi)存變量名,該單元內(nèi)存放的數(shù)據(jù)稱為內(nèi)存變量的值,而內(nèi)存變量的類型取決于內(nèi)存變量值的類型,它可以是數(shù)值型、字符型、邏輯型、日期型和日期時間型。

Visual FoxPro的內(nèi)存變量分為“系統(tǒng)內(nèi)存變量”和“用戶內(nèi)存變量”兩種。前者是啟動Visual FoxPro系統(tǒng)后自動產(chǎn)生的內(nèi)存變量,它們決定系統(tǒng)的運行狀態(tài)。后者則是用戶定義的內(nèi)存變量。用戶最多可以定義1 024個內(nèi)存變量。

①內(nèi)存變量的命名規(guī)則:

a.以字母(漢字)或下畫線開頭。

b.只能含字母、數(shù)字和下畫線,不允許有空格和特殊字符。

c.不應超過128個字符,其中每個漢字占2個字符。

d.不應是Visual FoxPro的保留字,也不應是保留字的前4個字符(如該變量只由4個字符組成)。

②使用STORE命令為內(nèi)存變量賦值。

格式1:<內(nèi)存變量名>=<表達式>

格式2:STORE <表達式> TO <內(nèi)存變量名列表>

功能:計算<表達式>,并將計算結(jié)果賦值給內(nèi)存變量。

說明:表達式可由常量、變量、函數(shù)和運算符組成。內(nèi)存變量名列表中的內(nèi)存變量應用逗號分隔,該命令可以同時為多個內(nèi)存變量賦值。

例如:

store 7 to m  &&將7賦值給變量m

store 5*12 to a,b  &&先計算表達式5*12的值,再將值分別賦給a,b

注意:在store 5*12 to a,b中,不能改寫為a,b=5*12。

③直接為內(nèi)存變量賦值。使用符號“=”可以直接為內(nèi)存變量賦值。

例如:

c1 =2 +7  &&將表達式2+7的和賦值給變量cl

c2 = cl +9  &&將計算表達式c1 +9后的值18賦給變量c2

說明:一個變量的值可以不斷變化,最終結(jié)果是它最后一次的賦值。

④顯示內(nèi)存變量。可以使用DISPLAY MEMORY命令或LIST MEMORY命令來查看已定義的變量。

格式:DISPLAY | LIST MEMORY

功能:該命令用于顯示已定義的變量名、作用范圍、類型和值。

說明:DISPLAY命令用于分屏顯示,LIST命令用于滾屏顯示。

【例1】定義內(nèi)存變量M的值為5,MN的值為“student”,并在屏幕上顯示出來。

在命令窗口中輸入:

⑤釋放內(nèi)存變量。內(nèi)存變量最多可定義1 024個,為了節(jié)省存儲空間,變量使用完以后應及時釋放,可以使用以下命令之一來釋放存儲空間。

格式1:RELEASE ALL

功能:該命令用于釋放全部內(nèi)存變量。

格式2:RELEASE<內(nèi)存變量列表>

功能:該命令用于釋放指定的內(nèi)存變量。

格式3:RELEASE ALL [LIKE模式| EXCEPT模式]

功能:該命令用于釋放與指定模式相匹配的內(nèi)存變量。

說明:[LIKE模式]子句用于指定要釋放與指定的模式相匹配的所有變量,可含通配符。[ EXCEPT模式]子句用于指定要釋放除與指定的模式相匹配之外的所有變量,可含通配符。

格式4:LEAR MEMORY

功能:該命令用于釋放全部內(nèi)存變量。

例如:

RELEASE cl,c2  &&釋放變量c1,c2

DISPLAY MEMORY  &&顯示的內(nèi)存變量就只剩下a,bl,b2

RELEASE ALL LIKE b*  &&釋放變量名以b為開頭的所有變量

DISPLAY MEMORY  &&顯示的內(nèi)存變量就只剩下a

⑥表達式顯示命令。

格式:?|??<表達式>

功能:計算表達式的值,并將其結(jié)果顯示在屏幕上。

說明:“?”表示換行顯示結(jié)果,“??”表示從當前行的當前列顯示結(jié)果。

【例2】內(nèi)存變量的應用。

在命令窗口中輸入:

(3)系統(tǒng)變量

Visual FoxPro提供了一批系統(tǒng)變量,它們都是以下畫線開頭,分別用于控制外圍設(shè)備(如鼠標、打印機等)、屏幕輸出格式或處理有關(guān)計算器、剪貼板和日歷方面的信息。

(4)對象變量

面向?qū)ο笳Z言中特有的變量類型,是一種集合變量,不僅可以包含數(shù)據(jù),還可以包含屬性和方法。

(5)數(shù)組

數(shù)組是按一定順序排列的一組內(nèi)存變量,在內(nèi)存中用一片連續(xù)的區(qū)域來存放,數(shù)組用統(tǒng)一的名稱來表示,稱為數(shù)組名,數(shù)組中的每一個內(nèi)存變量都稱為數(shù)組的元素,數(shù)組元素用數(shù)組名及它在數(shù)組中的排列標號(簡稱下標)來表示。例如,A(1)、A(2)、A(3)、A(4),其中A表示數(shù)組名,1、2、3、4為下標。根據(jù)下標的個數(shù)又可以把數(shù)組分為一維數(shù)組和二維數(shù)組,例如A(3)表示一維數(shù)組、B(3,4)表示二維數(shù)組。

主站蜘蛛池模板: 天长市| 称多县| 广东省| 博白县| 嘉祥县| 广元市| 沙田区| 宣化县| 辽源市| 嘉善县| 德保县| 丰顺县| 潍坊市| 杭州市| 分宜县| 茌平县| 鸡西市| 山阳县| 宜君县| 拉萨市| 色达县| 炎陵县| 临澧县| 通榆县| 甘肃省| 夏津县| 日喀则市| 定陶县| 天台县| 斗六市| 从江县| 莆田市| 教育| 信宜市| 溧阳市| 潼南县| 武乡县| 龙山县| 崇信县| 洞头县| 莱阳市|