最新-VF程序設計基礎-課件_第1頁
最新-VF程序設計基礎-課件_第2頁
最新-VF程序設計基礎-課件_第3頁
最新-VF程序設計基礎-課件_第4頁
最新-VF程序設計基礎-課件_第5頁
已閱讀5頁,還剩163頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

最新-VF程序設計基礎-課件1第二章VisualFoxPro程序設計基礎第二章VisualFoxPro程序設計基礎22.1常量與變量常量通常是指以文字串形式出現(xiàn)在代碼中的數據,代表一個具體的、不變的值。變量用于存儲數據,一個變量在不同的時該可以存放不同的數據。常量、變量類型包括數值型(N)、貨幣型(Y)、字符型(C)、日期型(D)、日期時間型(T)、邏輯型(L)六種。第二章VisualFoxPro程序設計基礎2.1常量與變量第二章VisualFoxPro程序3第二章VisualFoxPro程序設計基礎2.1.1常量常量一個非常重要的特點是類型不同的常量書寫格式不同。

1.數據值型常量就是常數,用來表示一個數量大小的具體值,由0~9、小數點和正負號構成。數值型數據在內存中用8個字節(jié)表示。如:56780.15-56

也可以用科學記數法形式書寫來表示很大或很小的數:如2.845×1012用2.845E12表式,5.8×10-12用5.8E-12表式。第二章VisualFoxPro程序設計基礎2.1.14第二章VisualFoxPro程序設計基礎2.貨幣型常量表示貨幣值,和數值型常量類似,但要在前放一個美元符號($),如:$57$68.25-$78

此類型數據在存儲及運算時采用4位小數,如有多余的小數將四舍五入。它沒有科學記數法形式。貨幣型常量在內存中用8個字節(jié)表示。3.字符型常量也稱為字符串,通常用來表示人名、代碼編號、地名、性別、民族、書名等類似代表特定意義的信息。其書寫方法是用半角單引號、雙引號或方括號(定界符)把字符串擴起來,規(guī)定常量的起始和終止。第二章VisualFoxPro程序設計基礎2.貨幣型常5第二章VisualFoxPro程序設計基礎如:”FDSGED””北京”’海拉爾’[中國]”74568”’我是一個”中國人”’

定界符必須成對,如果定界符本身也做字符串內容必須用另一定界符定界。

不包含認何字符的字符串(””)叫空串。與只含空格的字符串(””)不同。

[要注意單問號(?)命令與雙問號(??)的功能]第二章VisualFoxPro程序設計基礎如:”F6第二章VisualFoxPro程序設計基礎

4.日期型常量有兩種書寫格式,即嚴格日期格式和傳統(tǒng)日期格式,其定界符都是一對花括花?;ɡㄌ杻饶辍⒃?、日間用斜杠(/)、連字號(—)、句點(.)或空格做分隔符分隔。日期型數據用8個字節(jié)表示。①嚴格日期格式書寫格式固定:{^yyyy-mm-dd},定界符內第一個字符必須是脫字符"^",年份必須4位,書寫不受任何環(huán)境設置命令影響,能表達一個確切的日期。如:{^2019-08-08}第二章VisualFoxPro程序設計基礎4.日期型7第二章VisualFoxPro程序設計基礎②傳統(tǒng)日期格式要根據系統(tǒng)設置來書寫,受SETDATETO和SETCENTURYTO等環(huán)境設置命令影響,書寫時月、日各為2位,年份可以是2位也可以是4位。如:{01/25/98}、{01/25/2019}VFP默認下不可以使用,只能在SETSTRICTDATETO0時才可以使用。第二章VisualFoxPro程序設計基礎②傳統(tǒng)日期格8第二章VisualFoxPro程序設計基礎●影響日期格式的相關設置命令有:①SETMARKTO[日期分隔符]命令功能:用于指定顯示日期值時所用的分隔符。若未指定,表示恢復系統(tǒng)默認分隔符”/“)②SETDATE[TO]AMERICAN|ANSI|JAPAN|……命令功能:用于設置日期顯示的格式。該格式也決定系統(tǒng)如何解釋一個傳統(tǒng)格式的日期常量。第二章VisualFoxPro程序設計基礎●影響日期格9第二章VisualFoxPro程序設計基礎③SETCENTURYON|OFF|TO[世紀值]ROLLOVER[年份參照值]命令功能:用于決定如何顯示或解釋一個日期數據的年份。ON顯示世紀,即用4位數字表示年份。OFF不顯示世紀,即用2位數字表示年份。該項是系統(tǒng)默認設置。④SETSTRICTDATETO[0|1|2]命令功能:用于設置是否對日期格式進行檢查。0:不進行嚴格的日期格式檢查。1:進行嚴格的日期格式檢查。為系統(tǒng)默認設置。2:進行嚴格的日期格式檢查,并且對CTOD和CTOT函數的格式也有效。第二章VisualFoxPro程序設計基礎③SETC10第二章VisualFoxPro程序設計基礎2019年9月份考試試題:(15)要想將日期型或日期時間型數據中的年份用4位數字顯示,應當使用設置命令。

A)SETCENTURYONB)SETCENTURYOFFC)SETCENTURYTO4D)SETCENTURYOF4第二章VisualFoxPro程序設計基礎2019年911第二章VisualFoxPro程序設計基礎5.日期時間型常量與日期一樣有傳統(tǒng)及嚴格兩種書寫格式,主要在日期書寫上有區(qū)別,與日期型一樣,也受上面的設置命令控制。嚴格日期時間型是我們常用的書寫方式,格式如下:

{^yyyy-mm-dd[hh[:mm[:ss]][a|p]]}如:{^2019-08-08,11:36:58}日期時間型數據用8個字節(jié)存儲。第二章VisualFoxPro程序設計基礎5.日期時間12第二章VisualFoxPro程序設計基礎6.邏輯型常量只有兩個值:真(.T.)、假(.F.)。書寫時大小寫的.T.或.Y.表示真,大小寫的.F.或.N.表示假。這里的“.”是定界符,必不可少。邏輯型數據只占用一個字節(jié)。第二章VisualFoxPro程序設計基礎6.邏輯型常13第二章VisualFoxPro程序設計基礎2.1.2變量

變量值是能夠隨時更改的。每個變量有一個變量名,代碼通過變量名來訪問變量的值。VF變量分為字段變量和內存變量兩大類。表中的字段名就是變量,稱為字段變量。內存變量是內存中的一個存儲區(qū)域,變量值就是存放在這個區(qū)域中的數據,變量類型取決于變量值的類型。隨著存放數據的變化變量值在變化,類型也隨之改變。與常量一樣也有相應的6種類型。第二章VisualFoxPro程序設計基礎2.1.214第二章VisualFoxPro程序設計基礎1.簡單的內存變量變量都有名,通過變量名來使用變量中存放的數據(訪問變量值)。向簡單內存變量賦值不用先定義,賦值時變量不存在將自動產生。有兩種賦值格式:①<內存變量名>=<表達式>②STORE<表達式>TO<內存變量名表>●等號一次給一個變量賦值。STORE命令可以同時給多個變量賦相同值,變量名間用逗號隔開。第二章VisualFoxPro程序設計基礎1.簡單的內15第二章VisualFoxPro程序設計基礎一個變量在使用前并不需要特別的定義或聲明,當給變量賦值而變量不存在時系統(tǒng)會自動建立它。可以對內存變量重新賦值來改變其取值和類型。當出現(xiàn)內存變量與字段變量同名時,若直接用變量名來訪問則系統(tǒng)默認為字段變量,要訪問內存變量必須在變量名前加上前綴M.(或M->)。2019年4月份考試填空題:(7)執(zhí)行命令A=2019/4/2之后,內存變量A的數據類型是【7】型。(數值)第二章VisualFoxPro程序設計基礎一個變量在使16第二章VisualFoxPro程序設計基礎2.數組數組是內存中連續(xù)的一片存儲區(qū)域,它由一系列元素組成,每個元素可通過數組名及相應的下標來訪問。每個數組元素相當于一個簡單變量,可以給元素分別賦不同類型的值。數組在使用前一般要用DIMENSION或DECLARE命令創(chuàng)建,定義是一維還是二維數組。數組大小有下標值的上、下限決定。下限規(guī)定為1。

格式:DIMENSION<數組名>(<下標上限1>[,<下標上限2>])[,……]DECLARE<數組名>(<下標上限1>[,<下標上限2>])[,……]數組創(chuàng)建后,系統(tǒng)自動給每個數組元素賦以邏輯假.F.。第二章VisualFoxPro程序設計基礎2.數組17第二章VisualFoxPro程序設計基礎數組及數組元素要注意:①可以使用簡單變量的地方都可使用數組元素;②賦值語句中使用數組名可以給其全部元素賦值;③同一環(huán)境中數組名不可與簡單內存變量同名;④賦值語句的表達式位置不能出現(xiàn)數組名;⑤可以用一維數組形式訪問二維數組。第二章VisualFoxPro程序設計基礎數組及數組18第二章VisualFoxPro程序設計基礎2.1.3內存變量常用命令1.內存變量的賦值格式1:<內存變量名>=<表達式>格式2:STORE<表達式>TO<內存變量名表>功能:計算表達式并將表達式值賦給一個或多個內存變量,格式1只能給一個變量賦值。2.表達式值的顯示格式1:?[<表達式表>]格式2:??<表達式表>第二章VisualFoxPro程序設計基礎2.1.319第二章VisualFoxPro程序設計基礎功能:計算表達式表中的各表達式并輸出各表達式值。不管有沒有指定表達式表,格式1都會輸出一個回車換行符。如果指定了表達式表,各表達式值將在下一行的起始處輸出。格式2不回輸出回車換行符,各表達式值在當前行的光標所在處直接輸出。第二章VisualFoxPro程序設計基礎功能:計算表20第二章VisualFoxPro程序設計基礎3.內存變量的顯示格式1:LISTMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文件名>]

格式2:DISPLAYMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文件名>]通配符包括*和?,*表示任意多個字符,?表示任意一個字符。注意兩種格式的區(qū)別。第二章VisualFoxPro程序設計基礎3.內存變量21第二章VisualFoxPro程序設計基礎4.內存變量的清除格式1:CLEARMEMORY

格式2:RELEASE<內存變量名表>

格式3:RELEASEALL[EXTENDED]

格式4:RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]格式5:CLEARALL第二章VisualFoxPro程序設計基礎4.內存變量22第二章VisualFoxPro程序設計基礎功能:①格式1表示清除所有內存變量。②格式2表示清除指定的內存變量。③格式3表示清除所有的內存變量。在人機會話狀態(tài)時其作用與格式1相同。如果出現(xiàn)在程序中,則應該加上短語ENTENDED,否則不能刪除全局內存變量。④格式4表示選用LIKE短語清除與通配符相匹配的內存變量,選用EXCEPT短語清除與通配符不相匹配的內存變量。第二章VisualFoxPro程序設計基礎功能:23第二章VisualFoxPro程序設計基礎2.2表達式表達式是由常量、變量和函數通過特定的運算符連接起來的式了。表達式的形式包括:●單一的運算對象(常量、變量或函數)。如:23'中國'(78)●由運算符將運算對象連接起來形成的式了。如:45+50{^2019-10-01}+80

表達式都有值。依據其運算對象及值分為數值表達式、字符表達式、日期時間表達式和邏輯表達式。大多數邏輯表達式是帶比較運算符的關系表達式。第二章VisualFoxPro程序設計基礎2.2表24第二章VisualFoxPro程序設計基礎2.2.1數值、字符與日期時間表達式

1.數值表達式由算術運算符將數值型數據(數值類的常量、變量或函數)連接起來形成,結果仍為數值型。①算術運算符其運算符按優(yōu)先級別分別是:()、**或^、*、/、%、+、-②求余運算

求余運算%和取余函數MOD()的作用相同,結果的正負號與除數一致。如果被除數與除數同號,那么運算結果即為兩數相除的余數;若異號,則運算結果為兩數相除的余數再加上除數的值。第二章VisualFoxPro程序設計基礎2.2.125第二章VisualFoxPro程序設計基礎2.字符表達式由字符串運算符將字符型數據(字符類的常量、變量或函數)連起來形成,結果仍是字符型數據。運算符只有兩個分別是加(+)和減(-)。+:前后兩個字符串首尾連接形成一個新的字符串。-:連接前后兩個字符串,并將前字符串的尾部空格移到合并后的新字符串尾部。第二章VisualFoxPro程序設計基礎2.字符表達26第二章VisualFoxPro程序設計基礎3.日期時間表達式運算符只有兩個分別是加(+)和減(-)。書寫時格式有一定限制,不能任意組合。詳見表2-3。2019年4月份考試試題:(6)表達式{^2019-1-310:0:0}一{^2019-10-39:0:0}的數據類型是【6】。第二章VisualFoxPro程序設計基礎3.日期時間27第二章VisualFoxPro程序設計基礎2.2.2關系表達式1.關系表達式也稱簡單的邏輯表達式,格式一般為:<表達式1><關系運算符><表達式2>

功能是比較兩表達式的大小或前后。結果是邏輯型。運算符:小于(<)、大于(>)、等于(=)、不等于(<>或#或!=)、小于等于(<=)、大于等于(>=)、字符串精確比較(==)、子串包含測試($)。第二章VisualFoxPro程序設計基礎2.2.228第二章VisualFoxPro程序設計基礎運算符==和$僅適用于字符型數據。其他運算符適用于任何類型的數據,但除了日期型和日期時間型數據、數值型和貨幣型數據可以比較外,其他情況下前后兩個運算對象的數據類型要一致。1.數值型、貨幣型數據比較2.日期、日期時間型數據比較3.邏輯型數據比較4.子串包含測試第二章VisualFoxPro程序設計基礎29第二章VisualFoxPro程序設計基礎2.設置字符的排序次序可以在選項設置對話框窗口中的數據頁中設置,也可以用命令SETCOLLATETO“MACHINE”/”PINYIN”/”STROKE”。3.字符串精確比較與EXACT設置在用雙等號運算符比較兩個字符串時,只有當兩個字符串完全相同時,運算結果才是.T.,否則為.F.。用單等號(=)比較兩個字符串時,結果與SETEXACTON|OFF的設置有關。第二章VisualFoxPro程序設計基礎2.設置字30第二章VisualFoxPro程序設計基礎ON先在較短字符串的尾部加上若干個空格,使兩個字符串的長度相等,然后再進行精確比較。OFF默認值當處于OFF狀態(tài)時,只要右邊字符串與左邊字符串的前面部分內容相匹配,即得.T.,即字符串的比較因右面的字符串結束而終止。第二章VisualFoxPro程序設計基礎ON先在較31第二章VisualFoxPro程序設計基礎4.賦值與相等比較的區(qū)別

<內存變量>=<表達式>(是一條命令語句)

<表達式1>=<表達式2>(是一個比較是否相等的關系表達式)第二章VisualFoxPro程序設計基礎4.賦值與32第二章VisualFoxPro程序設計基礎2.2.3邏輯表達式由邏輯運算符將邏輯型數據連接起來而形成,其結果仍為邏輯型數據。運算符有三個按優(yōu)先順序依次是:.NOT.或!(邏輯非)、.AND.(邏輯與)、.OR.(邏輯或)。

2.2.4運算符優(yōu)先級不同類型運算出現(xiàn)在同一表達式中,先執(zhí)行算術運算符、字符串運算符和日期時間運算符,其次是關系運算符,最后執(zhí)行邏輯運算符。第二章VisualFoxPro程序設計基礎2.2.333第二章VisualFoxPro程序設計基礎2.3常用函數

函數是用程序來實現(xiàn)的一種數據運算或轉換。每個函數都有特定的運算或轉換功能,都有一個結果,被稱為函數值或返回值。函數通常用在表達式中,也可作為一條命令使用,但此時系統(tǒng)忽略它的返回值。格式:函數名([自變量1[,自變量2[,自變量3[,……])

常用函數分五類:數值函數、字符處理函數、日期類函數、數據類型轉換函數、測試函數。第二章VisualFoxPro程序設計基礎2.3常34第二章VisualFoxPro程序設計基礎2.3.1數值函數

1.絕對值和符號函數

ABS(<數值表達式>)、SIGN(<數值表達式>)2.求平方根函數

SQRT(<值不為負的數值表達式>)3.圓周率函數

PI()4.求整數函數

INT(<數值表達式>)返回指定數值表達式的整數部分。第二章VisualFoxPro程序設計基礎2.3.135第二章VisualFoxPro程序設計基礎5.四舍五入函數

ROUND(<數值表達式1>,<數值表達式2>)

若<數值表達式2>大于等于0,那么它表示的是要保留的小數位數;若小于0,那么它表示的是整數部分的舍入位數。6.求余函數MOD(<數值表達式1>,<數值表達式2>)7.求最大值和最小值函數MAX(<數值表達式1>,<數值表達式2>[,<……])MIN(<數值表達式1>,<數值表達式2>[,<……])被除數除數所有表達式的類型必須一致第二章VisualFoxPro程序設計基礎5.四舍五入36第二章VisualFoxPro程序設計基礎2.3.2字符函數

1.求字符串長度函數LEN(<字符表達式>)功能:返回指定字符表達式值的長度,即包含的字符個數。函數值為數值型。2.大小寫轉換函數LOWER(<字符表達式>)、UPPER(<字符表達式>)

提示:只對字母進行轉換,其它字符不變。3.空格字符串生成函數SPACE(<數值表達式>)功能:返回由指定數目的空格組成的字符串。第二章VisualFoxPro程序設計基礎2.3.237第二章VisualFoxPro程序設計基礎

4.刪除前后空格函數TRIM(<字符表達式>)返回指定字符表達式值去掉尾部空格后形成的字符串。LTRIM(<字符表達式>)返回指定字符表達式值去掉前導空格后形成的字符串。ALLTRIM(<字符表達式>)返回指定字符表達式值去掉前導和尾部空格后形成的字符串。5.取子串函數LEFT(<字符表達式>,<長度>)從指定表達式值的左端取一個指定長度的子串作為函數值。RIGHT(<字符表達式>,<長度>)SUBSTR(<字符表達式>,<起始位置>[,<長度>])從指定表達式值的指定起始位置取指定長度的子串作為函數值。第二章VisualFoxPro程序設計基礎4.刪除前38第二章VisualFoxPro程序設計基礎6.計算子串出現(xiàn)次數函數OCCURS(<字符表達式1>,<字符表達式2>)功能:返回第一個字符串在第二個字符串中出現(xiàn)的次數,函數值為數值型。若第一個字符串不是第一個字符串的子串,函數值為0。7.求子串位置函數AT(<字符表達式1>,<字符表達式2>[,<數值表達式>])ATC(<字符表達式1>,<字符表達式2>[,<數值表達式>])功能:AT()函數值為數值型。若1是2的子串,則返回1值的首字符在2中的位置。若不是子串,返回0。ATC()與AT()功能類似,但在子串比較時不區(qū)分字母大小寫。1在2中第幾次出現(xiàn)第二章VisualFoxPro程序設計基礎6.計算子串39第二章VisualFoxPro程序設計基礎8.子串替換函數格式:STUFF(<字符表達式1>,<起始位置>,<長度>,<字符表達式2>)功能:用<字符表達式2>值替換<字符表達式1>中由<起始位置>和<長度>指明的一個子串。替換和被替換的字符個數不一定相等。如果<長度>為0,則相當于在<字符表達式1>中由<起始位置>指定的字符前面插入<字符表達式2>。如果<字符表達式2>值是空串,則相當于在<字符表達式1>中刪去由<起始位置>和<長度>指明的子串。第二章VisualFoxPro程序設計基礎8.子串替換40第二章VisualFoxPro程序設計基礎9.字符替換函數

格式:CHRTRAN(<字符表達式1>,<字符表達式2>,<字符表達式3>)10.字符串匹配函數格式:LIKE(<字符表達式1>,<字符表達式2>)功能:比較兩個字符串對應位置上的字符,若所有對應字符都相匹配,函數返回邏輯真,否則返回邏輯假。<字符表達式1>中可以包含通配符*和?。第二章VisualFoxPro程序設計基礎9.字符替換41第二章VisualFoxPro程序設計基礎2.3.3日期和時間函數

1.系統(tǒng)日期和時間函數

DATE()(函數值為日期型)TIME()(函數值為字符型)DATETIME()(函數值為日期時間型)2.求年份、月份和天數函數

YEAR(<日期表達式>|<日期時間表達式>)、MONTH(<日期表達式>|<日期時間表達式>)DAY(<日期表達式>|<日期時間表達式>)(函數返回值均為數值型)3.時、分和秒函數

HOUR(<日期時間表達式>)、MINUTE(<日期時間表達式>)、SEC(<日期時間表達式>)(函數返回值均為數值型)第二章VisualFoxPro程序設計基礎2.3.342第二章VisualFoxPro程序設計基礎3.3.4數據類型轉換函數

1.數值轉換成字符串STR(<數值表達式>[,<長度>[,<小數位數>]])2.字符串轉換成數值VAL(<字符表達式>)

功能:將有數字符號(包括正負數、小數點)組成的字符型數據轉換成相應的數值型數據。若字符串內出現(xiàn)非數字字符,那么只轉換前面部分;若字符串的首字符不是數字符號,則返回數值零,但忽略前導空格。3.字符串轉換成日期或日期時間CTOD(<字符表達式>)CTOT(<字符表達式>)第二章VisualFoxPro程序設計基礎3.3.443第二章VisualFoxPro程序設計基礎

4.日期或日期時間轉換成字符串DTOC(<日期表達式>|<日期時間表達式>[,1])TTOC(<日期時間表達式>[,1])5.宏替換函數

&<字符型變量>[.]

功能替換出字符型變量的內容,即&的值是變量中的字符串。功能:替換出字符型變量的內容,即函數值是變量中的字符串。如果該函數與其后的字符無明確分界,則要用“.”作函數結束標識。宏替換可以嵌套使用。第二章VisualFoxPro程序設計基礎4.日期或44第二章VisualFoxPro程序設計基礎2.3.5測試函數

1.值域測試函數BETWEEN(<表達式T>,<表達式L>,<表達式H>)

功能:判斷一個表達式的值是否介于另外兩個表達式的值之間。當T值大于等于L且小于等于H時,函數值為邏輯真,否則函數值為邏輯假。如果L或H有一個是NULL值,那么函數值也是NULL值。該函數的自變量類型可以是數值型、字符型、日期型、日期時間型、浮點型等。但3個自變量的數據類型要一致。

第二章VisualFoxPro程序設計基礎2.3.545第二章VisualFoxPro程序設計基礎2.空值(NULL值)測試函數ISNULL(<表達式>)功能:判斷一個表達式的運算結果是否為NULL值,若是則返回真,否則返回假。3."空"值測試函數EMPTY(<表達式>)功能:根據指定表達式的運算結果是否為“空”值,返回邏輯真或邏輯假。這里所指的“空”值與NULL值是兩個不同的概念。不同數據類型的“空”值,有不同的規(guī)定。見表2.6。

第二章VisualFoxPro程序設計基礎2.空值(N46第二章VisualFoxPro程序設計基礎4.數據類型測試函數VARTYPE(<表達式>[,<邏輯表達式>])功能:測試<表達式>的類型,返回一個大寫字母,函數值為字符型。見表2.7。若<表達式>的運算結果是NULL值,則函數根據<邏輯表達式>值決定是否返回<表達式>的類型;如果<邏輯表達式>為.T.,就返回<表達式>的類型;如果<邏輯表達式>為.F.或缺省,則返回X以表明<表達式>的運算結果是NULL。第二章VisualFoxPro程序設計基礎4.數據類型47第二章VisualFoxPro程序設計基礎5.表文件尾測試函數系統(tǒng)對表中的記錄是逐條進行處理的。對于一個打開的表來說,在某一時刻只能處理一條記錄。VF為每一個打開的表設置了一個內部使用的記錄指針,指向正在被操作的記錄,該記錄稱為當前記錄。記錄指針的作用是標識表的當前記錄。

TOP:首記錄。BOTTOM:尾記錄BOF:在第一個記錄之前的文件起始標識。

EOF:在最后一個記錄后面的文件結束標識。第二章VisualFoxPro程序設計基礎5.表文件尾48第二章VisualFoxPro程序設計基礎使用測試函數能夠得到指針的位置。剛剛打開表時,記錄指針總是指向首記錄。格式:EOF([<工作區(qū)號>|<表別名>])若缺省自變量,則測試當前表文件。若在指定工作區(qū)上沒有打開表文件,函數返回邏輯假。若表文件中不包含任何記錄,函數返回邏輯真。第二章VisualFoxPro程序設計基礎49第二章VisualFoxPro程序設計基礎6.表文件首測試函數BOF([<工作區(qū)號>|<表別名>])7.記錄號測試函數RECNO([<工作區(qū)號>|<表別名>])8.記錄個數測試函數RECCOUNT([<工作區(qū)號>|<表別名>])9.條件測試函數IIF(<邏輯表達式>,<表達式1>,<表達式2>)10.記錄刪除測試函數DELETED([<工作區(qū)號>|<表別名>])第二章VisualFoxPro程序設計基礎6.表文件首50第二章VisualFoxPro程序設計基礎2.4程序與程序文件2.4.1程序的概念學習VisualFoxPro目的是要調用它提供的功能來組織和處理數據,完成一些具體任務。調用VFP功能的方式有兩種:交互方式和程序方式。

程序是能夠完成一定任務的命令的有序集合。這組命令被存放在稱為程序文件或命令文件的文本文件中。當運行程序時,系統(tǒng)會自動按一定次序執(zhí)行程序文件中的命令。較交互方式它有以下特點:①可利用編輯器方便地輸入、修改和保存程序。②建立后可多次運行,且一個程序中還可以調用另一個程序。③程序中可以使用在命令窗口無法使用的命令和語句。第二章VisualFoxPro程序設計基礎2.4程51第二章VisualFoxPro程序設計基礎程序中可以插入注釋以提高程序的可讀性。其為非執(zhí)行代碼,不影響程序功能。有兩種注釋方式:①*<注釋內容>或NOTE<注釋內容>整行注釋,一般用于對下面一段命令代碼的說明。②&&<注釋內容>在命令行后對當前命令功能進行注釋程序中的每條命令都以回車結尾,如果一行太長可以在行后用分號(;)回車轉到下行,表示下行和上行是一條命令。另外在編程時通常可以程序開頭或尾添加相關環(huán)境設置命令以便對程序整體進行設置或取消。常用的有:SETTALKON/OFF、SETCENTURYON/OFF、SETSAFEON/OFF等。第二章VisualFoxPro程序設計基礎程序中可以插52第二章VisualFoxPro程序設計基礎4.2程序文件的建立與執(zhí)行

1.程序文件的建立與修改程序文件的建立與修改一般是通過調用VFP系統(tǒng)內置的文本編輯器來進行的。㈠建立程序文件的步驟操作:①從“文件”菜單中選擇“新建”命令,在新建對話框中選擇“程序”文件類型,來建立,或在項目管理器中的“代碼”標簽中選擇“程序”后點擊新建來建立程序文件。也可以在命令窗口輸入:MODIFYCOMMAND[文件名]來建立程序文件。②在文本編輯器窗口中輸入程序內容。③保存程序文件。給程序文件命名,程序文件的擴展名是.prg。第二章VisualFoxPro程序設計基礎4.2程53第二章VisualFoxPro程序設計基礎㈡修改程序文件操作:①文件菜單中選“打開”命令,調出打開對話框;②在“文件類型”列表中選擇“程序”;③在文件列表框中選定要打開的文件,并單擊“確定”打開該程序文件;④編輯修改后保存或放棄修改。也可以在項目中打開要修改的程序文件或用命令:MODIFYCOMMAND<文件名>來打開要修改的程序文件。第二章VisualFoxPro程序設計基礎㈡修改程序54第二章VisualFoxPro程序設計基礎2.執(zhí)行程序文件可以用多種方式、多次次執(zhí)行程序。常用的兩種方式:①從“程序”菜單選擇“運行”命令并選要運行的程序文件來執(zhí)行程序;或在項目中的代碼頁中選擇要運行的程序執(zhí)行它。②命令方式,在命令窗口輸入:DO<文件名>來運行程序。當然一個程序也可以在另一個程序文件中用DO<文件名>調用。在程序文件運行時它中包含的命令將被依次執(zhí)行,直到所有命令被執(zhí)行或執(zhí)行到以下命令:第二章VisualFoxPro程序設計基礎2.執(zhí)行程序55第二章VisualFoxPro程序設計基礎CANCEL終止程序運行,清除所有的私有變量并返回到命令窗口;DO轉去執(zhí)行另一個程序;RETURN結束當前程序的執(zhí)行,返回到調用它的上級程序,若無上級程序則返回命令窗口。QUIT退出VisualFoxPro系統(tǒng),返回到操作系統(tǒng)。第二章VisualFoxPro程序設計基礎CANCEL56第二章VisualFoxPro程序設計基礎2.4.3簡單的輸入/輸出命令程序的功能一般包括數據輸入、數據加工、信息輸出三部分,在一些小程序中,傳統(tǒng)的專用輸入/輸入命令仍然很有用。

1.INPUT命令命令格式:INUPT[<字符表達式>]TO<內存變量>當程序執(zhí)行到該命令時,暫停等待用戶從鍵盤輸入數據,回車后繼續(xù)往下執(zhí)行。其中[<字符表達式>]主要用于在屏幕上顯示的提示信息;輸入的數據可以是常量、變量也可以是表達式,但不能不輸入任何內容而直接按回車。第二章VisualFoxPro程序設計基礎2.4.357第二章VisualFoxPro程序設計基礎不管輸入的是什么數據必須符合相應的語法要求。如:INPUT“請輸入您的姓名:”

TONA此命令執(zhí)行后在屏幕上會顯示:請輸入您的姓名:并等待您輸入信息,輸入時不能輸入:張三,這樣會顯示找不到變量的錯誤提示,因為我們知道這字符型常量在輸入時要加定界符即:”張三”,這樣輸入就可以了,當然其它的常量在輸入時也要按照固定的格式書寫。實際這個命令最方便的是接收數值型的數據,因為數值型數據不需要加定界符。INPUT“請輸入您成績:”

TONA這個更方便用戶使用。第二章VisualFoxPro程序設計基礎不管輸入的是58第二章VisualFoxPro程序設計基礎2.ACCEPT命令命令格式:ACCEPT[<字符表達式>]TO<(字符型)內存變量>與上面的INPUT命令功能基本相同,關鍵是它固定接收字符型數據,在輸入常量時不需要加定界符(若加上定界符,系統(tǒng)會把定界符本身作為字符串本身的一部分。)。更適合接收類似:INPUT“請輸入您的姓名:”TONA的輸入語句,在輸入姓名時直接:張三后回車就可以了,當然如果輸入:2342這樣的數據它也按照字符型放入TO后的內存中。第二章VisualFoxPro程序設計基礎2.ACCE59第二章VisualFoxPro程序設計基礎3.WAIT命令命令格式:WAIT[<字符表達式>][TO<內存變量>][WINDOWS[AT<行>,<列>]]顯示字符串表達式的值作為提示信息,暫停程序執(zhí)行,直到用戶按任意鍵或單擊鼠標。(1)若沒有指定<字符表達式>,則顯示默認的提示信息“按任意鍵繼續(xù)…”。若<字符表達式>為空串,那么不會顯示任何提示信息。第二章VisualFoxPro程序設計基礎3.WAIT60第二章VisualFoxPro程序設計基礎(2)<內存變量>用來保存用戶鍵入的字符,其類型為字符型。若用戶按的是Enter鍵或單擊鼠標,那么<內存變量>中保存的將是空串。如果沒有指定TO<內存變量>短語,那么輸入的字符將不被保存。(3)如果沒有WINDOW子句,提示信息被顯示在VF主窗口或當前用戶自定義窗口里。若指定了WINDOW子句,則會出現(xiàn)一個WAIT提示窗口,用以顯示提示信息。第二章VisualFoxPro程序設計基礎(2)<內存61第二章VisualFoxPro程序設計基礎(4)若同時選用NOWAIT短語和WINDOW子句,系統(tǒng)將不等待用戶按鍵,直接往下執(zhí)行。此時,若指定了TO<內存變量>短語,那么<內存變量>中保存的將是空串。之后,按下任何鍵或者移動鼠標,提示窗口就會消失。(5)若選用NOCLEAR短語,則不關閉提示窗口,直到用戶執(zhí)行下一條WAITWINDOW命令或WAITCLEAR命令為止。(6)TIMEOUT子句用來設定等待時間。一旦超時就不再等待用戶按鍵,自動往下執(zhí)行。第二章VisualFoxPro程序設計基礎(4)若同時62第二章VisualFoxPro程序設計基礎2.5程序的基本結構程序結構是指程序中命令或語句執(zhí)行的流程結構。順序結構、選擇結構和循環(huán)結構是程序的三種基本結構。2.5.1選擇結構支持選擇結構的語句包括條件語句(IF—ENDIF)和分支語句(DOCASE—ENDCASE)。第二章VisualFoxPro程序設計基礎2.5程63第二章VisualFoxPro程序設計基礎1.簡單的條件語句語句格式:

IF<條件><語句序列1>ENDIF如果<條件>表達式的值是真(.T.)則執(zhí)行<語句序列1>,然后執(zhí)行ENDIF后的語句;否則跳過IF和ENDIF間的<語句序列1>,直接執(zhí)行ENDIF后的語句。第二章VisualFoxPro程序設計基礎1.簡單的條64第二章VisualFoxPro程序設計基礎CLEARINPUT"請輸入待判斷的數:"TOXIFX/3=INT(X/3)?X,"可以被3整除!"ENDIFRETURN第二章VisualFoxPro程序設計基礎CLEAR65第二章VisualFoxPro程序設計基礎2.一般形式的條件語句語句格式:

IF<條件><語句序列1>ELSE<語句序列2>ENDIF如果<條件>表達式的值是真(.T.)則執(zhí)行<語句序列1>,然后執(zhí)行ENDIF后的語句;否則執(zhí)行<語句序列2>,然后執(zhí)行ENDIF后的語句。IF和ENDIF必須成對出現(xiàn),分別是入口和出口;條件語句可以嵌套但不能交叉。書寫時最好按縮進格式。第二章VisualFoxPro程序設計基礎2.一般形式66第二章VisualFoxPro程序設計基礎CLEARINPUT“請輸入待判斷的數:”TOXIFX/3=INT(X/3)?X,”能被3整除!”

ELSE?X,”不能被3整除!”

ENDIFRETURN第二章VisualFoxPro程序設計基礎CLEAR67第二章VisualFoxPro程序設計基礎例:判斷并輸出三個數中的最大數(不用函數條件語句編程實現(xiàn))。

CLEARINPUT“請輸入第一個數:”TON1INPUT“請輸入第二個數:”TON2INPUT“請輸入第三個數:”TON3IFN1>=N2ANDN1>=N3MAX=N1ELSEIFN2>=N3MAX=N2ELSEMAX=N3ENDIFENDIF?”這三個數中最大數是:”,MAXRETURN第二章VisualFoxPro程序設計基礎例:判斷并輸68第二章VisualFoxPro程序設計基礎

3.多分支語句多分支語句實現(xiàn)一種擴展的選擇結果,它可以根據條件從多組代碼中選擇一組執(zhí)行。語句格式:

DOCASECASE<條件1><語句序列1>CASE<條件2><語句序列2>……CASE<條件n><語句序列n>[OTHERWISE<語句序列>]ENDCASE第二章VisualFoxPro程序設計基礎3.多分支69第二章VisualFoxPro程序設計基礎依次判斷CASE后的條件是否成立。當發(fā)現(xiàn)某個CASE后的條件成立時,就執(zhí)行該CASE和下一個CASE間的命令序列,然后執(zhí)行ENDCASE后面的命令。如所有的條件都不成立,則執(zhí)行OTHERWISE與ENDCASE之間的命令序列,然后轉向ENDCASE后面的語句。不管有幾個CASE條件成立,只有最先成立的那個CASE條件的對應命令序列被執(zhí)行;如都不成立且沒有OTHERWISE子句,則直接跳出本結構;DOCASE與ENDCASE必須成對出現(xiàn)。第二章VisualFoxPro程序設計基礎依次判斷CA70第二章VisualFoxPro程序設計基礎例:根據輸入的考試成績,顯示出相應的成績等級。CLEARINPUT“輸入考試成績:”TOCJDOCASECASECJ<60DJ=”不合格”CASECJ<90DJ=”合格”O(jiān)THERWISEDJ=”優(yōu)秀”ENDCASE?“成績等級:”+DJRETURN第二章VisualFoxPro程序設計基礎例:根據輸入71第二章VisualFoxPro程序設計基礎2.5.2循環(huán)結構循環(huán)結構也稱為重復結構,是指程序在執(zhí)行過程中,其中的某段代碼被重復執(zhí)行若干次。被重復執(zhí)行的代碼段通常稱為循環(huán)體。VFP支持的循環(huán)結構語句包括:DOWHILE—ENDDO、FOR—ENDFOR和SCAN—ENDSCAN語句。

1.DOWHILE—ENDDO語句是一個功能全面使用頻率較高的循環(huán)語句。語句格式:

DOWHILE<條件><命令序列>[LOOP][EXIT]ENDDO第二章VisualFoxPro程序設計基礎2.5.272第二章VisualFoxPro程序設計基礎執(zhí)行該語句時,先判斷<條件>是否為真,如果是真則執(zhí)行DOWHILE與ENDDO間的循環(huán)體,當執(zhí)行到ENDDO時,再返回DOWHILE重新判斷循環(huán)條件是否為真,確定是否再次執(zhí)行循環(huán)體。若條件為假則結束循環(huán)語句執(zhí)行ENDDO后的語句。如果循環(huán)體中有LOOP命令,當遇到LOOP時就結束本次循環(huán),不再執(zhí)行它下面到ENDDO間的語句,提前返回DOWHILE進行下一次的循環(huán)判斷;如果循環(huán)體中有EXIT命令,當遇到它時就結束循環(huán)執(zhí)行ENDDO后的語句。第二章VisualFoxPro程序設計基礎執(zhí)行該語句時73第二章VisualFoxPro程序設計基礎例:計算1+2+3+……+100的值。CLEARI=1S=0DOWHILEI<=100S=S+II=I+1ENDDO?”1+2+3+……+100=”,SRETURN第二章VisualFoxPro程序設計基礎例:計算1+74第二章VisualFoxPro程序設計基礎☆2019年4月份考試試題:(27)下列程序段執(zhí)行以后,內存變量Y的值是CLEARX=12345Y=0DOWHILEX>0Y=Y+X%10X=INT(X/10)ENDDO?YA)54321B)12345C)51D)15第二章VisualFoxPro程序設計基礎☆201975第二章VisualFoxPro程序設計基礎2.FOR—ENDFOR語句該語句通常用于已知循環(huán)次數情況下的循環(huán)操作。語句格式:

FOR<循環(huán)變量>=<初值>TO<終值>[STEP<步長>]<循環(huán)體>[LOOP][EXIT]ENDFOR|NEXT第二章VisualFoxPro程序設計基礎2.FOR76第二章VisualFoxPro程序設計基礎先將初值賦給循環(huán)變量,然后判斷循環(huán)條件是否成立,若成立,則執(zhí)行循環(huán)體,然后循環(huán)變量增加一個步長值,并在次判斷循環(huán)條件確定下一次的循環(huán)操作。如果條件不成立則結束循環(huán)執(zhí)行ENDFOR后的語句。①<步長>默認值是1;②<初值>、<終值>、<步長>都可以是數值表達式,但只在循環(huán)開始被計算一次;③可在循體內改變循變量值但循環(huán)次數不變;④LOOP與EXIT功能與DOWHILE循環(huán)一樣。第二章VisualFoxPro程序設計基礎77第二章VisualFoxPro程序設計基礎例:計算1+2+3+……+100的值。CLEARS=0FORI=1TO100S=S+IENDFOR?”1+2+3+……+100=”,SRETURN第二章VisualFoxPro程序設計基礎例:計算1+78第二章VisualFoxPro程序設計基礎例:計算1+3+5+……+99(1到100奇數的和)的值。CLEARS=0FORI=1TO100STEP2S=S+IENDFOR?”1+3+5+……+99=”,SRETURN第二章VisualFoxPro程序設計基礎例:計算1+79第二章VisualFoxPro程序設計基礎例:從鍵盤輸入十個數,然后找出其中的最大值和最小值。CLEARINPUT“請輸入一個數:”

TOASTOREATOMA,MIFORI=2TO10INPUT“請輸入一個數:”

TOAIFMA<AMA=AENDIFIFMI>AMI=AENDIFENDFOR?’最大值:’,MA?’最小值:’,MIRETURN第二章VisualFoxPro程序設計基礎例:從鍵盤輸80第二章VisualFoxPro程序設計基礎

3.SCAN—ENDSCAN語句該循環(huán)語句也稱為掃描循環(huán)語句,功能相當于LOCATE、CONTINUE和DOWHILE—ENDDO語句功能的合并。一般只是用于處理表中記錄,語句可指明需處理記錄的范圍及應滿足的條件。語句格式:

SCAN[<范圍>][FOR<條件1>][WHILE<條件2>]<循環(huán)體>[LOOP][EXIT]ENDSCAN第二章VisualFoxPro程序設計基礎3.SCA81第二章VisualFoxPro程序設計基礎執(zhí)行該語句時,記錄指針自動、依次地在當前表的指定范圍內滿足條件的記錄上移動,對每一條記錄執(zhí)行循環(huán)體內的命令。①<范圍>的默認值是ALL;②LOOP與EXIT功能與DOWHILE循環(huán)一樣。第二章VisualFoxPro程序設計基礎82第二章VisualFoxPro程序設計基礎☆2019年4月份考試試題:(18)在VisualFoxPro中,如果希望跳出SCAN…ENDSCAN循環(huán)體、執(zhí)行ENDSCAN后面的語句,應使用______。A)LOOP語句B)EXIT語句C)BREAK語句D)RETURN語句填空:(8)如下程序顯示的結果是【8】。(13)s=1i=0dowhilei<8s=s+Ii=i+2enddo?s第二章VisualFoxPro程序設計基礎☆201983第二章VisualFoxPro程序設計基礎☆2019年9月份考試試題:填空:(8)在VisualFoxPro中,可以使用【8】語句跳出SCAN…ENDSCAN循環(huán)體外執(zhí)行ENDSCAN后面的語句。(EXIT)☆2019年9月份考試試題:(17)下列程序執(zhí)行以后,內存變量y的值是________。

x=34357

y=0

DOWHILEx>0

y=x%10+y*10

x=int(x/10)

ENDDOA)3456

B)34567

C)7654

D)76543第二章VisualFoxPro程序設計基礎☆201984最新-VF程序設計基礎-課件85第二章VisualFoxPro程序設計基礎第二章VisualFoxPro程序設計基礎862.1常量與變量常量通常是指以文字串形式出現(xiàn)在代碼中的數據,代表一個具體的、不變的值。變量用于存儲數據,一個變量在不同的時該可以存放不同的數據。常量、變量類型包括數值型(N)、貨幣型(Y)、字符型(C)、日期型(D)、日期時間型(T)、邏輯型(L)六種。第二章VisualFoxPro程序設計基礎2.1常量與變量第二章VisualFoxPro程序87第二章VisualFoxPro程序設計基礎2.1.1常量常量一個非常重要的特點是類型不同的常量書寫格式不同。

1.數據值型常量就是常數,用來表示一個數量大小的具體值,由0~9、小數點和正負號構成。數值型數據在內存中用8個字節(jié)表示。如:56780.15-56

也可以用科學記數法形式書寫來表示很大或很小的數:如2.845×1012用2.845E12表式,5.8×10-12用5.8E-12表式。第二章VisualFoxPro程序設計基礎2.1.188第二章VisualFoxPro程序設計基礎2.貨幣型常量表示貨幣值,和數值型常量類似,但要在前放一個美元符號($),如:$57$68.25-$78

此類型數據在存儲及運算時采用4位小數,如有多余的小數將四舍五入。它沒有科學記數法形式。貨幣型常量在內存中用8個字節(jié)表示。3.字符型常量也稱為字符串,通常用來表示人名、代碼編號、地名、性別、民族、書名等類似代表特定意義的信息。其書寫方法是用半角單引號、雙引號或方括號(定界符)把字符串擴起來,規(guī)定常量的起始和終止。第二章VisualFoxPro程序設計基礎2.貨幣型常89第二章VisualFoxPro程序設計基礎如:”FDSGED””北京”’海拉爾’[中國]”74568”’我是一個”中國人”’

定界符必須成對,如果定界符本身也做字符串內容必須用另一定界符定界。

不包含認何字符的字符串(””)叫空串。與只含空格的字符串(””)不同。

[要注意單問號(?)命令與雙問號(??)的功能]第二章VisualFoxPro程序設計基礎如:”F90第二章VisualFoxPro程序設計基礎

4.日期型常量有兩種書寫格式,即嚴格日期格式和傳統(tǒng)日期格式,其定界符都是一對花括花?;ɡㄌ杻饶辍⒃?、日間用斜杠(/)、連字號(—)、句點(.)或空格做分隔符分隔。日期型數據用8個字節(jié)表示。①嚴格日期格式書寫格式固定:{^yyyy-mm-dd},定界符內第一個字符必須是脫字符"^",年份必須4位,書寫不受任何環(huán)境設置命令影響,能表達一個確切的日期。如:{^2019-08-08}第二章VisualFoxPro程序設計基礎4.日期型91第二章VisualFoxPro程序設計基礎②傳統(tǒng)日期格式要根據系統(tǒng)設置來書寫,受SETDATETO和SETCENTURYTO等環(huán)境設置命令影響,書寫時月、日各為2位,年份可以是2位也可以是4位。如:{01/25/98}、{01/25/2019}VFP默認下不可以使用,只能在SETSTRICTDATETO0時才可以使用。第二章VisualFoxPro程序設計基礎②傳統(tǒng)日期格92第二章VisualFoxPro程序設計基礎●影響日期格式的相關設置命令有:①SETMARKTO[日期分隔符]命令功能:用于指定顯示日期值時所用的分隔符。若未指定,表示恢復系統(tǒng)默認分隔符”/“)②SETDATE[TO]AMERICAN|ANSI|JAPAN|……命令功能:用于設置日期顯示的格式。該格式也決定系統(tǒng)如何解釋一個傳統(tǒng)格式的日期常量。第二章VisualFoxPro程序設計基礎●影響日期格93第二章VisualFoxPro程序設計基礎③SETCENTURYON|OFF|TO[世紀值]ROLLOVER[年份參照值]命令功能:用于決定如何顯示或解釋一個日期數據的年份。ON顯示世紀,即用4位數字表示年份。OFF不顯示世紀,即用2位數字表示年份。該項是系統(tǒng)默認設置。④SETSTRICTDATETO[0|1|2]命令功能:用于設置是否對日期格式進行檢查。0:不進行嚴格的日期格式檢查。1:進行嚴格的日期格式檢查。為系統(tǒng)默認設置。2:進行嚴格的日期格式檢查,并且對CTOD和CTOT函數的格式也有效。第二章VisualFoxPro程序設計基礎③SETC94第二章VisualFoxPro程序設計基礎2019年9月份考試試題:(15)要想將日期型或日期時間型數據中的年份用4位數字顯示,應當使用設置命令。

A)SETCENTURYONB)SETCENTURYOFFC)SETCENTURYTO4D)SETCENTURYOF4第二章VisualFoxPro程序設計基礎2019年995第二章VisualFoxPro程序設計基礎5.日期時間型常量與日期一樣有傳統(tǒng)及嚴格兩種書寫格式,主要在日期書寫上有區(qū)別,與日期型一樣,也受上面的設置命令控制。嚴格日期時間型是我們常用的書寫方式,格式如下:

{^yyyy-mm-dd[hh[:mm[:ss]][a|p]]}如:{^2019-08-08,11:36:58}日期時間型數據用8個字節(jié)存儲。第二章VisualFoxPro程序設計基礎5.日期時間96第二章VisualFoxPro程序設計基礎6.邏輯型常量只有兩個值:真(.T.)、假(.F.)。書寫時大小寫的.T.或.Y.表示真,大小寫的.F.或.N.表示假。這里的“.”是定界符,必不可少。邏輯型數據只占用一個字節(jié)。第二章VisualFoxPro程序設計基礎6.邏輯型常97第二章VisualFoxPro程序設計基礎2.1.2變量

變量值是能夠隨時更改的。每個變量有一個變量名,代碼通過變量名來訪問變量的值。VF變量分為字段變量和內存變量兩大類。表中的字段名就是變量,稱為字段變量。內存變量是內存中的一個存儲區(qū)域,變量值就是存放在這個區(qū)域中的數據,變量類型取決于變量值的類型。隨著存放數據的變化變量值在變化,類型也隨之改變。與常量一樣也有相應的6種類型。第二章VisualFoxPro程序設計基礎2.1.298第二章VisualFoxPro程序設計基礎1.簡單的內存變量變量都有名,通過變量名來使用變量中存放的數據(訪問變量值)。向簡單內存變量賦值不用先定義,賦值時變量不存在將自動產生。有兩種賦值格式:①<內存變量名>=<表達式>②STORE<表達式>TO<內存變量名表>●等號一次給一個變量賦值。STORE命令可以同時給多個變量賦相同值,變量名間用逗號隔開。第二章VisualFoxPro程序設計基礎1.簡單的內99第二章VisualFoxPro程序設計基礎一個變量在使用前并不需要特別的定義或聲明,當給變量賦值而變量不存在時系統(tǒng)會自動建立它??梢詫却孀兞恐匦沦x值來改變其取值和類型。當出現(xiàn)內存變量與字段變量同名時,若直接用變量名來訪問則系統(tǒng)默認為字段變量,要訪問內存變量必須在變量名前加上前綴M.(或M->)。2019年4月份考試填空題:(7)執(zhí)行命令A=2019/4/2之后,內存變量A的數據類型是【7】型。(數值)第二章VisualFoxPro程序設計基礎一個變量在使100第二章VisualFoxPro程序設計基礎2.數組數組是內存中連續(xù)的一片存儲區(qū)域,它由一系列元素組成,每個元素可通過數組名及相應的下標來訪問。每個數組元素相當于一個簡單變量,可以給元素分別賦不同類型的值。數組在使用前一般要用DIMENSION或DECLARE命令創(chuàng)建,定義是一維還是二維數組。數組大小有下標值的上、下限決定。下限規(guī)定為1。

格式:DIMENSION<數組名>(<下標上限1>[,<下標上限2>])[,……]DECLARE<數組名>(<下標上限1>[,<下標上限2>])[,……]數組創(chuàng)建后,系統(tǒng)自動給每個數組元素賦以邏輯假.F.。第二章VisualFoxPro程序設計基礎2.數組101第二章VisualFoxPro程序設計基礎數組及數組元素要注意:①可以使用簡單變量的地方都可使用數組元素;②賦值語句中使用數組名可以給其全部元素賦值;③同一環(huán)境中數組名不可與簡單內存變量同名;④賦值語句的表達式位置不能出現(xiàn)數組名;⑤可以用一維數組形式訪問二維數組。第二章VisualFoxPro程序設計基礎數組及數組102第二章VisualFoxPro程序設計基礎2.1.3內存變量常用命令1.內存變量的賦值格式1:<內存變量名>=<表達式>格式2:STORE<表達式>TO<內存變量名表>功能:計算表達式并將表達式值賦給一個或多個內存變量,格式1只能給一個變量賦值。2.表達式值的顯示格式1:?[<表達式表>]格式2:??<表達式表>第二章VisualFoxPro程序設計基礎2.1.3103第二章VisualFoxPro程序設計基礎功能:計算表達式表中的各表達式并輸出各表達式值。不管有沒有指定表達式表,格式1都會輸出一個回車換行符。如果指定了表達式表,各表達式值將在下一行的起始處輸出。格式2不回輸出回車換行符,各表達式值在當前行的光標所在處直接輸出。第二章VisualFoxPro程序設計基礎功能:計算表104第二章VisualFoxPro程序設計基礎3.內存變量的顯示格式1:LISTMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文件名>]

格式2:DISPLAYMEMORY[LIKE<通配符>][TOPRINTER|TOFILE<文件名>]通配符包括*和?,*表示任意多個字符,?表示任意一個字符。注意兩種格式的區(qū)別。第二章VisualFoxPro程序設計基礎3.內存變量105第二章VisualFoxPro程序設計基礎

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論