VFP第3章 Visual FoxPro數(shù)據(jù)和數(shù)據(jù)運算ppt課件_第1頁
VFP第3章 Visual FoxPro數(shù)據(jù)和數(shù)據(jù)運算ppt課件_第2頁
VFP第3章 Visual FoxPro數(shù)據(jù)和數(shù)據(jù)運算ppt課件_第3頁
VFP第3章 Visual FoxPro數(shù)據(jù)和數(shù)據(jù)運算ppt課件_第4頁
VFP第3章 Visual FoxPro數(shù)據(jù)和數(shù)據(jù)運算ppt課件_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、isualFVoxPro 數(shù)據(jù)有數(shù)據(jù)內(nèi)容和數(shù)據(jù)形式之分,數(shù)據(jù)內(nèi)容是數(shù)據(jù)數(shù)據(jù)有數(shù)據(jù)內(nèi)容和數(shù)據(jù)形式之分,數(shù)據(jù)內(nèi)容是數(shù)據(jù)的值,數(shù)據(jù)形式是數(shù)據(jù)的存儲形式和操作使用方式,稱為的值,數(shù)據(jù)形式是數(shù)據(jù)的存儲形式和操作使用方式,稱為數(shù)據(jù)類型。數(shù)據(jù)類型。1字符型字符型 字符型字符型Character數(shù)據(jù)是不能進行算術運算的文數(shù)據(jù)是不能進行算術運算的文字數(shù)據(jù)類型,用字母字數(shù)據(jù)類型,用字母C表示。字符型數(shù)據(jù)包括中文字符、表示。字符型數(shù)據(jù)包括中文字符、英文字符、數(shù)字字符和其他英文字符、數(shù)字字符和其他ASCII字符,其長度即字符字符,其長度即字符個數(shù)范圍是個數(shù)范圍是0254個字符。一個中文字符占兩個字節(jié)。個字符。一個中文

2、字符占兩個字節(jié)。3.1 Visual FoxPro3.1 Visual FoxPro的數(shù)據(jù)類型的數(shù)據(jù)類型2數(shù)值型數(shù)值型 數(shù)值型數(shù)據(jù)是表示數(shù)量、可以進行數(shù)值運算的數(shù)數(shù)值型數(shù)據(jù)是表示數(shù)量、可以進行數(shù)值運算的數(shù)據(jù)類型。數(shù)值型數(shù)據(jù)由數(shù)字、小數(shù)點、正負號和表據(jù)類型。數(shù)值型數(shù)據(jù)由數(shù)字、小數(shù)點、正負號和表示乘冪的字母組成,數(shù)值精度達位。在示乘冪的字母組成,數(shù)值精度達位。在Visual FoxPro系統(tǒng)中,按存儲、表達形式與取值范圍不同,系統(tǒng)中,按存儲、表達形式與取值范圍不同,數(shù)值型數(shù)據(jù)又分為種不同類型:數(shù)值型數(shù)據(jù)又分為種不同類型: 數(shù)值型數(shù)值型Numeric)、整型)、整型Integer)、)、浮點型浮點型

3、Float和雙精度型和雙精度型Double)。)。2.1 數(shù)值型數(shù)值型Numeric) 數(shù)值型數(shù)據(jù)是表示數(shù)量并可以進行算術運算的數(shù)值型數(shù)據(jù)是表示數(shù)量并可以進行算術運算的數(shù)據(jù)類型,用字母數(shù)據(jù)類型,用字母N表示。數(shù)值型數(shù)據(jù)由數(shù)字、小數(shù)表示。數(shù)值型數(shù)據(jù)由數(shù)字、小數(shù)點和正負號和字母組成。數(shù)值型數(shù)據(jù)相應的字段點和正負號和字母組成。數(shù)值型數(shù)據(jù)相應的字段變量其長度數(shù)據(jù)位數(shù)最大變量其長度數(shù)據(jù)位數(shù)最大20位。位。 通常用于表示實數(shù),如通常用于表示實數(shù),如:86、-0.75、7E-6即即7*10-6等。等。3貨幣型貨幣型 貨幣型貨幣型Currency數(shù)據(jù)是為存儲貨幣值而使數(shù)據(jù)是為存儲貨幣值而使用的一種數(shù)據(jù)類型,它

4、默認保留用的一種數(shù)據(jù)類型,它默認保留4位小數(shù),占據(jù)位小數(shù),占據(jù)8字字節(jié)存儲空間。貨幣型數(shù)據(jù)用字母節(jié)存儲空間。貨幣型數(shù)據(jù)用字母Y表示。表示。2.2 浮點型數(shù)據(jù)是數(shù)值型數(shù)據(jù)的一種,用字母F表示。它與數(shù)值型數(shù)據(jù)完全等價,只是在存儲形式上采用浮點格式,主要是為了得到較高的計算精度。 2.3 雙精度型數(shù)據(jù)是具有更高精度的數(shù)值型數(shù)據(jù),用字母B表示。它采用固定長度的浮點格式存儲,占用8個字節(jié)。 2.4 整型數(shù)據(jù)是不包含小數(shù)部分的數(shù)值型數(shù)據(jù),用字母I表示。整型數(shù)據(jù)只用來表示整數(shù),以二進制形式存儲,占用4個字節(jié)。其取值范圍是:-21474836472147483646。 后后3種數(shù)據(jù)類型只能用于字段變量。種數(shù)據(jù)

5、類型只能用于字段變量。4日期型日期型 日期型日期型Date數(shù)據(jù)是表示日期的數(shù)據(jù),用字母數(shù)據(jù)是表示日期的數(shù)據(jù),用字母D表示。表示。日期的默認格式是日期的默認格式是mm/dd/yy,其中,其中mm表示月份,表示月份,dd表示表示日期,日期,yy表示年度,年度也可以是表示年度,年度也可以是4位。日期型數(shù)據(jù)的長度位。日期型數(shù)據(jù)的長度固定為固定為8位。日期型數(shù)據(jù)的顯示格式有多種,它受系統(tǒng)日期位。日期型數(shù)據(jù)的顯示格式有多種,它受系統(tǒng)日期格式設置的影響。格式設置的影響。5日期時間型日期時間型 日期時間型日期時間型Date Time數(shù)據(jù)是表示日期和時間的數(shù)據(jù),數(shù)據(jù)是表示日期和時間的數(shù)據(jù),用字母用字母T表示。日

6、期時間的默認格式是表示。日期時間的默認格式是mm/dd/yyyy hh:mm:ss,其中,其中mm、dd、yyyy的意義與日期型相同,而的意義與日期型相同,而hh表示小時,表示小時,mm表示分鐘,表示分鐘,ss表示秒數(shù)。日期時間型數(shù)據(jù)表示秒數(shù)。日期時間型數(shù)據(jù)也是采用固定長度也是采用固定長度8位,取值范圍是:日期為位,取值范圍是:日期為01/01/000112/31/9999,時間為,時間為00:00:0023:59:59。 如:如:08/16/2019 10:35:30表示表示2019年年8月月16日日10時時35分分30秒秒這一日期和時間。這一日期和時間。6邏輯型邏輯型 邏輯型邏輯型Logi

7、c數(shù)據(jù)是描述客觀事物真假的數(shù)據(jù)類型,數(shù)據(jù)是描述客觀事物真假的數(shù)據(jù)類型,表示邏輯判斷的結(jié)果,用字母表示邏輯判斷的結(jié)果,用字母L表示。邏輯型數(shù)據(jù)只有真表示。邏輯型數(shù)據(jù)只有真(.t.或或.y.)和假()和假(.f.或或.n.)兩種,長度固定為)兩種,長度固定為1位。位。 t、y、f、n的前后加圓點符的前后加圓點符“.”不能省略。不能省略。7備注型備注型 備注型備注型Memo數(shù)據(jù)是用于存放較多字符的數(shù)據(jù)類型,數(shù)據(jù)是用于存放較多字符的數(shù)據(jù)類型,用字母用字母M表示。備注型數(shù)據(jù)沒有數(shù)據(jù)長度限制,僅受限于磁表示。備注型數(shù)據(jù)沒有數(shù)據(jù)長度限制,僅受限于磁盤空間。它只用于表中字段類型的定義,字段長度固定為盤空間。它

8、只用于表中字段類型的定義,字段長度固定為4個字節(jié),實際數(shù)據(jù)存放在與表文件同名的備注文件(個字節(jié),實際數(shù)據(jù)存放在與表文件同名的備注文件(.fpt中,長度根據(jù)數(shù)據(jù)的內(nèi)容而定。中,長度根據(jù)數(shù)據(jù)的內(nèi)容而定。8通用型通用型 通用型通用型General數(shù)據(jù)是存儲數(shù)據(jù)是存儲OLE對象鏈對象鏈接與嵌入對象的數(shù)據(jù)類型,用字母接與嵌入對象的數(shù)據(jù)類型,用字母G表示。通表示。通用型數(shù)據(jù)中的用型數(shù)據(jù)中的OLE對象可以是電子表格、文檔、對象可以是電子表格、文檔、圖形、聲音等。它只用于表中字段類型的定義。圖形、聲音等。它只用于表中字段類型的定義。通用型數(shù)據(jù)字段長度固定為通用型數(shù)據(jù)字段長度固定為4位,實際數(shù)據(jù)長度僅位,實際數(shù)

9、據(jù)長度僅受限于磁盤空間。受限于磁盤空間。9二進制字符型和二進制備注型二進制字符型和二進制備注型 這兩類數(shù)據(jù)是以二進制格式存儲的數(shù)據(jù)類型,這兩類數(shù)據(jù)是以二進制格式存儲的數(shù)據(jù)類型,只能用在表中字段數(shù)據(jù)的定義。只能用在表中字段數(shù)據(jù)的定義。3.2.1 常量常量 常量是指在命令或程序運行過程中保持不變的常量是指在命令或程序運行過程中保持不變的量,不同類型的常量有不同的表示格式。量,不同類型的常量有不同的表示格式。VFP 的常的常量有六種類型,即量有六種類型,即 C 型、型、N 型、型、Y型、型、D 型、型、T型型和和 L 型。型。1字符型常量字符型常量 字符型常量是用定界符括起來的一串字符。在字符型常量

10、是用定界符括起來的一串字符。在Visual FoxPro中,定界符有中,定界符有3種:單撇號、雙撇號種:單撇號、雙撇號和方括號。如和方括號。如University、“410075”、教授教授 都是都是字符型常量。字符型常量。VFP允許字符型數(shù)據(jù)的最大長度為允許字符型數(shù)據(jù)的最大長度為254。 如果某一種定界符本身是字符型常量中的字符,如果某一種定界符本身是字符型常量中的字符,就應選擇另一種定界符。例如,就應選擇另一種定界符。例如,“Thats right!”表示表示字符常量字符常量:Thats right!,含有,含有13個字符。個字符。 不包含任何字符的字符串不包含任何字符的字符串(“”)為空

11、串,空串與包含為空串,空串與包含空格的字符串空格的字符串( )是不同的。是不同的。3.2 Visual FoxPro3.2 Visual FoxPro數(shù)據(jù)存儲數(shù)據(jù)存儲2數(shù)值型常量數(shù)值型常量 數(shù)值型常量就是平時所講的常數(shù),由數(shù)字、小數(shù)點和數(shù)值型常量就是平時所講的常數(shù),由數(shù)字、小數(shù)點和正負號組成。在正負號組成。在Visual FoxPro中,數(shù)值型常量有兩種表示中,數(shù)值型常量有兩種表示方法:小數(shù)形式和指數(shù)形式。方法:小數(shù)形式和指數(shù)形式。 如如75、-3.75是小數(shù)形式的數(shù)值型常量。指數(shù)形式用字是小數(shù)形式的數(shù)值型常量。指數(shù)形式用字母母E來表示以來表示以10為底的指數(shù),為底的指數(shù),E左邊為數(shù)字部分,稱

12、為尾數(shù),左邊為數(shù)字部分,稱為尾數(shù),右邊為指數(shù)部分,稱為階碼。階碼只能是整數(shù),尾數(shù)可以右邊為指數(shù)部分,稱為階碼。階碼只能是整數(shù),尾數(shù)可以是整數(shù),也可以是小數(shù)。尾數(shù)與階碼均可正可負。例如,是整數(shù),也可以是小數(shù)。尾數(shù)與階碼均可正可負。例如,常量常量0.694710-6、4.9523109分別用指數(shù)形式表示為分別用指數(shù)形式表示為0.6947E-6、4.9523E9。3貨幣型常量貨幣型常量 貨幣型常量的書寫格式與數(shù)值型常量類似,但要加上貨幣型常量的書寫格式與數(shù)值型常量類似,但要加上一個前置的一個前置的$。貨幣型數(shù)據(jù)在存儲和計算時,采用。貨幣型數(shù)據(jù)在存儲和計算時,采用4位小數(shù)。位小數(shù)。如果一個貨幣型常量多

13、于如果一個貨幣型常量多于4位小數(shù),那么系統(tǒng)會自動將多位小數(shù),那么系統(tǒng)會自動將多余的小數(shù)位四舍五入。例如,貨幣型常量余的小數(shù)位四舍五入。例如,貨幣型常量$3.1415926將存將存儲為儲為$3.1416。貨幣型常量不能采用指數(shù)形式。貨幣型常量不能采用指數(shù)形式。 4日期型常量日期型常量 日期型常量要放在一對花括號中,花括號內(nèi)包括年、月、日期型常量要放在一對花括號中,花括號內(nèi)包括年、月、日日3部分內(nèi)容,各部分內(nèi)容之間用分隔符分隔。分隔符可以部分內(nèi)容,各部分內(nèi)容之間用分隔符分隔。分隔符可以是是 / 、- 、. 等。等。Visual FoxPro的默認日期格式是的默認日期格式是mm/dd/yyyy。空白

14、的日期可以表示為??瞻椎娜掌诳梢员硎緸?或或/。 5日期時間型常量日期時間型常量 日期時間型常量也要放在一對花括號中,其中既含日期又日期時間型常量也要放在一對花括號中,其中既含日期又含時間。日期的格式與日期型常量相同,時間包括時、分、含時間。日期的格式與日期型常量相同,時間包括時、分、秒,時分秒之間用秒,時分秒之間用“:”分隔。日期時間型常量的默認格式是:分隔。日期時間型常量的默認格式是: mm/dd/yyyy , hh:mm:ssa|p 其中其中hh、mm、ss的默認值分別為的默認值分別為12、0和和0。a和和p分別表示分別表示AM上午和上午和PM下午),默認為下午),默認為AM。如果指定時

15、間。如果指定時間大于等于大于等于12,則自然為下午的時間。,則自然為下午的時間。 日期值和日期時間值的輸入格式與輸出格日期值和日期時間值的輸入格式與輸出格式并不完全相同,特別是輸出格式受系統(tǒng)環(huán)式并不完全相同,特別是輸出格式受系統(tǒng)環(huán)境設置的影響,用戶可根據(jù)應用需要進行相境設置的影響,用戶可根據(jù)應用需要進行相應設置。下面介紹有關命令。應設置。下面介紹有關命令。(1日期格式中的世紀值日期格式中的世紀值 通常日期格式中用通常日期格式中用2位數(shù)表示年份,但位數(shù)表示年份,但涉及到世紀問題就不便區(qū)分。涉及到世紀問題就不便區(qū)分。Visual FoxPro提供設置命令對此進行相應設置。提供設置命令對此進行相應設

16、置。 命令格式:命令格式:SET CENTURY ON | OFF 命令功能:用于設置顯示日期時是否顯示世命令功能:用于設置顯示日期時是否顯示世紀。其中,紀。其中,ON表示日期值輸出時顯示年份值,表示日期值輸出時顯示年份值,即日期數(shù)據(jù)顯示即日期數(shù)據(jù)顯示10位,年份占位,年份占4位。位。OFF默默認值表示日期值輸出時不顯示年份值,即認值表示日期值輸出時不顯示年份值,即日期數(shù)據(jù)顯示日期數(shù)據(jù)顯示8位,年份占位,年份占2位。位。(2設置日期顯示格式設置日期顯示格式用戶可以調(diào)整、設置日期的顯示輸出格式。用戶可以調(diào)整、設置日期的顯示輸出格式。命令格式:命令格式:SET DATE TO AMERICAN |

17、 ANSI | BRITISH | FRENCH | GERMAN | ITLIAN | JAPAN | USA | MDY | DMY | YMD | SHORT | LONG命令功能:設置日期的顯示輸出格式。系統(tǒng)默認為命令功能:設置日期的顯示輸出格式。系統(tǒng)默認為AMERICAN美國日期格式)。如果日期格式設置為美國日期格式)。如果日期格式設置為SHORT或或LONG格式,格式,Visual FoxPro將按將按Windows系統(tǒng)設系統(tǒng)設置的短日期格式或長日期格式顯示輸出日期數(shù)據(jù),而且置的短日期格式或長日期格式顯示輸出日期數(shù)據(jù),而且SET CENTURY命令的設置被忽略。命令的設置被忽略。(

18、3設置日期分隔符設置日期分隔符命令格式:命令格式:SET MARK TO 日期分隔符日期分隔符命令功能:設置顯示日期時使用的分隔符,如命令功能:設置顯示日期時使用的分隔符,如/、-、.等。如等。如沒有指定任何分隔符,則恢復系統(tǒng)默認的斜杠分隔符。沒有指定任何分隔符,則恢復系統(tǒng)默認的斜杠分隔符。 單擊單擊Visual FoxProVisual FoxPro主窗口中的【工具】、【選項】菜單項,主窗口中的【工具】、【選項】菜單項,翻開翻開“選項對話框后選中選項對話框后選中“區(qū)域選項卡,單擊展開區(qū)域選項卡,單擊展開“日期和時日期和時間欄中的間欄中的“日期格式下拉列表框,選擇其中的某個日期格式,日期格式下

19、拉列表框,選擇其中的某個日期格式,然后單擊然后單擊“確定按鈕確定此格式設置。確定按鈕確定此格式設置。 (4設置嚴格的日期格式設置嚴格的日期格式 Visual FoxPro增加了一種所謂嚴格的日期增加了一種所謂嚴格的日期格式。不論哪種設置,按嚴格日期格式表示的格式。不論哪種設置,按嚴格日期格式表示的日期型和日期時間型數(shù)據(jù),都具有相同的值和日期型和日期時間型數(shù)據(jù),都具有相同的值和表示形式,它不受表示形式,它不受SET DATE TO等語句設置的等語句設置的影響,可以在任何情況下使用,嚴格的日期格影響,可以在任何情況下使用,嚴格的日期格式是式是: yyyy-mm-dd,hh:mm:ssa|p 其中,

20、其中,表明該格式是嚴格的日期格式,表明該格式是嚴格的日期格式,并按照并按照YMD的格式解釋日期型和日期時間型數(shù)的格式解釋日期型和日期時間型數(shù)據(jù),它是嚴格日期格式的標志,不可缺少。有據(jù),它是嚴格日期格式的標志,不可缺少。有效的日期型和日期時間型數(shù)據(jù)分隔符為:效的日期型和日期時間型數(shù)據(jù)分隔符為:/、-、.和空格。如和空格。如2019-08-16、2019-08-16 10:35:30a,分別以嚴格的日期格式表示,分別以嚴格的日期格式表示2019年年8月月16日及該日上午日及該日上午10時時35分分30秒。秒。6邏輯型常量邏輯型常量 邏輯型常量表示邏輯判斷的結(jié)果,只需邏輯型常量表示邏輯判斷的結(jié)果,只

21、需“真真和和“假兩種值。在假兩種值。在Visual FoxPro中,邏輯真中,邏輯真用用.T. 、.t.、.Y.或或.y.表示,邏輯假用表示,邏輯假用.F.、.f.、.N.或或.n.表示。注意字母前后的圓點一定不能丟。表示。注意字母前后的圓點一定不能丟。邏輯型常量只占用邏輯型常量只占用1個字節(jié)。個字節(jié)。 Visual FoxPro規(guī)定邏輯值規(guī)定邏輯值.T.大于邏輯值大于邏輯值.F.。 Visual FoxPro默認采用嚴格的日期格式,并以此檢測默認采用嚴格的日期格式,并以此檢測所有日期型和日期時間型數(shù)據(jù)的格式是否規(guī)范、合法。所有日期型和日期時間型數(shù)據(jù)的格式是否規(guī)范、合法。 3.2.2 變量變量

22、 變量是在操作過程中可以改變其值的數(shù)變量是在操作過程中可以改變其值的數(shù)據(jù)對象。在據(jù)對象。在Visual FoxPro中變量分為字段變中變量分為字段變量、內(nèi)存變量、數(shù)組變量和系統(tǒng)變量量、內(nèi)存變量、數(shù)組變量和系統(tǒng)變量4類。此類。此外,作為面向?qū)ο蟮某绦蛟O計語言,外,作為面向?qū)ο蟮某绦蛟O計語言,Visual FoxPro在進行面向?qū)ο蟮某绦蛟O計中引入了在進行面向?qū)ο蟮某绦蛟O計中引入了對象的概念,對象實質(zhì)上也是一類變量。對象的概念,對象實質(zhì)上也是一類變量。 確定一個變量,需要確定其確定一個變量,需要確定其3個要素:個要素: 變量名、數(shù)據(jù)類型和變量值。變量名、數(shù)據(jù)類型和變量值。2內(nèi)存變量內(nèi)存變量 Vis

23、ual FoxPro中,有一種獨立于表的臨時工中,有一種獨立于表的臨時工作單元,稱為內(nèi)存變量。內(nèi)存變量可用來暫存數(shù)作單元,稱為內(nèi)存變量。內(nèi)存變量可用來暫存數(shù)據(jù),變量的類型取決于變量值的類型。內(nèi)存變量據(jù),變量的類型取決于變量值的類型。內(nèi)存變量的類型有字符型、數(shù)值型、貨幣型、邏輯型、日的類型有字符型、數(shù)值型、貨幣型、邏輯型、日期型和日期時間型等。期型和日期時間型等。 1命名規(guī)則命名規(guī)則(1使用字母、漢字、下劃線和數(shù)字命名。使用字母、漢字、下劃線和數(shù)字命名。(2命名以字母或下劃線開頭。除自由表中命名以字母或下劃線開頭。除自由表中字段名、索引的字段名、索引的TAG標識名最多只能標識名最多只能10個字個

24、字符外,其他的命名可使用符外,其他的命名可使用1128個字符。個字符。(3為避免誤解、混淆,避免使用為避免誤解、混淆,避免使用Visual FoxPro的保留字。的保留字。(4文件名的命名應遵循操作系統(tǒng)的約定。文件名的命名應遵循操作系統(tǒng)的約定。(1內(nèi)存變量的賦值內(nèi)存變量的賦值 給內(nèi)存變量賦值的命令有兩種格式:給內(nèi)存變量賦值的命令有兩種格式: = STORE TO 該命令先計算表達式的值,然后將表達式的值賦給一個或幾個內(nèi)存該命令先計算表達式的值,然后將表達式的值賦給一個或幾個內(nèi)存變量。第一種格式只能給一個內(nèi)存變量賦值。第二種格式可以同時給多變量。第一種格式只能給一個內(nèi)存變量賦值。第二種格式可以同

25、時給多個內(nèi)存變量賦相同的值,各內(nèi)存變量名之間用逗號分隔。內(nèi)存變量的數(shù)個內(nèi)存變量賦相同的值,各內(nèi)存變量名之間用逗號分隔。內(nèi)存變量的數(shù)據(jù)類型取決于表達式值的類型??梢酝ㄟ^對內(nèi)存變量重新賦值來改變其據(jù)類型取決于表達式值的類型。可以通過對內(nèi)存變量重新賦值來改變其值和類型。值和類型。例:例: s=VFP & 一次可以給一個變量賦值一次可以給一個變量賦值 STORE 2*4 TO n1,n2,n3 & 一次可以給多個變量賦值一次可以給多個變量賦值 ? S=,s & 表達式值的顯示表達式值的顯示 S= VFP s=4*8 & 將將s賦數(shù)值表達式的值賦數(shù)值表達式的值 ? “S=

26、 ”,S & 表達式值的顯示表達式值的顯示 S=32(2內(nèi)存變量的顯示輸出 可以用以下命令在屏幕上顯示輸出內(nèi)存變量的值。 命令格式: ?/?At 命令功能:計算表達式表中各表達式的值,并在屏幕上指定位置顯示輸出各式的值。 舉例 ? 1,2,3 ? 1,2,3 1 2 3 1 2 3 nA1=1 nA2=2 ? nA1 AT 30 , nA2 AT 10 2 1(3內(nèi)存變量的顯示內(nèi)存變量的顯示 可以用命令顯示當前已定義的內(nèi)存變量的有關信息,包可以用命令顯示當前已定義的內(nèi)存變量的有關信息,包括變量名、作用域、類型和取值。命令格式為:括變量名、作用域、類型和取值。命令格式為: LIST |

27、DISPLAY MEMORY LIKE TO PRINTERTO FILE LIST命令一次顯示所有內(nèi)存變量,如果內(nèi)存變量多,命令一次顯示所有內(nèi)存變量,如果內(nèi)存變量多,一屏顯示不下,則連續(xù)向上滾動。而一屏顯示不下,則連續(xù)向上滾動。而DISPLY命令分屏顯示命令分屏顯示所有內(nèi)存變量,如果內(nèi)存變量多,顯示一屏后暫停,按任意所有內(nèi)存變量,如果內(nèi)存變量多,顯示一屏后暫停,按任意鍵后再繼續(xù)顯示下一屏。鍵后再繼續(xù)顯示下一屏。(4內(nèi)存變量的清除內(nèi)存變量的清除 清除內(nèi)存變量并釋放相應的內(nèi)存空間,所采用命令的格式為:清除內(nèi)存變量并釋放相應的內(nèi)存空間,所采用命令的格式為: CLEAR MEMORY RELEASE

28、 ALL LIKE|EXCEPT 其中第一條命令是清除所有的內(nèi)存變量,第二條命令是其中第一條命令是清除所有的內(nèi)存變量,第二條命令是清除指定的內(nèi)存變量。清除指定的內(nèi)存變量。3.2.3 3.2.3 數(shù)組變量數(shù)組變量 數(shù)組是一組具有相同名稱、以下標相數(shù)組是一組具有相同名稱、以下標相互區(qū)分的有序內(nèi)存變量。其中每一個下標不互區(qū)分的有序內(nèi)存變量。其中每一個下標不同的內(nèi)存變量都是這個數(shù)組的一個元素,它同的內(nèi)存變量都是這個數(shù)組的一個元素,它是由一個以行和列形式表示的數(shù)組元素的矩是由一個以行和列形式表示的數(shù)組元素的矩陣。數(shù)組由數(shù)組元素組成,每個數(shù)組元素就陣。數(shù)組由數(shù)組元素組成,每個數(shù)組元素就相當于一個內(nèi)存變量,

29、它可以用數(shù)組名后接相當于一個內(nèi)存變量,它可以用數(shù)組名后接順序號來表示,順序號也叫下標。數(shù)組變量順序號來表示,順序號也叫下標。數(shù)組變量可以具有不同的數(shù)據(jù)類型??梢跃哂胁煌臄?shù)據(jù)類型。(1 1數(shù)組元素數(shù)組元素 數(shù)組元素的名稱變量名用數(shù)組數(shù)組元素的名稱變量名用數(shù)組名加下標構成。如名加下標構成。如A A1,21,2)、)、B B6 6分別表分別表示二維數(shù)組示二維數(shù)組A A中的第中的第1 1行第行第2 2列的元素;一維列的元素;一維數(shù)組數(shù)組B B中第中第6 6個元素。個元素。 下標必須是非負數(shù)值,可以是常量、下標必須是非負數(shù)值,可以是常量、變量、函數(shù)或表達式,下標值會自動取整,變量、函數(shù)或表達式,下標值

30、會自動取整,如如AAAA1.751.75)、)、AAAAnA1nA1)、)、AAAA2,10/32,10/3等。等。 (2數(shù)組的定義數(shù)組的定義 VFP規(guī)定,數(shù)組在使用之前必須用數(shù)組說明命令進行規(guī)定,數(shù)組在使用之前必須用數(shù)組說明命令進行定義,即定義數(shù)據(jù)名、維數(shù)和大小。定義,即定義數(shù)據(jù)名、維數(shù)和大小。 命令格式為:命令格式為: DIMENSION (,下標上界下標上界2), DECLARE (,M-內(nèi)存變量名內(nèi)存變量名3.2.53.2.5系統(tǒng)內(nèi)存變量系統(tǒng)內(nèi)存變量 是是VFPVFP自己提供的內(nèi)存變量,以下劃線開頭,分別用于自己提供的內(nèi)存變量,以下劃線開頭,分別用于控制外部設備、屏幕輸出格式等。控制外

31、部設備、屏幕輸出格式等。 例如例如: _DIARYDAT &: _DIARYDAT &存儲當前日期存儲當前日期 _CLIPTEXT &_CLIPTEXT &接受文本并送入剪貼板接受文本并送入剪貼板函數(shù):函數(shù)是具有特定功能的一段預編程序,根據(jù)提供方式不函數(shù):函數(shù)是具有特定功能的一段預編程序,根據(jù)提供方式不同分為系統(tǒng)提供的系統(tǒng)函數(shù)和用戶設定的自定義函數(shù)兩大類同分為系統(tǒng)提供的系統(tǒng)函數(shù)和用戶設定的自定義函數(shù)兩大類(1 1標準函數(shù)是標準函數(shù)是VFPVFP自身定義的函數(shù)自身定義的函數(shù), ,又稱內(nèi)部函數(shù)。又稱內(nèi)部函數(shù)。 按功能和用途分字符函數(shù)、數(shù)值函數(shù)、日期和時間函數(shù)、按功能

32、和用途分字符函數(shù)、數(shù)值函數(shù)、日期和時間函數(shù)、類型轉(zhuǎn)換函數(shù)、測試函數(shù)、環(huán)境函數(shù)、鼠標與鍵盤函數(shù)、數(shù)類型轉(zhuǎn)換函數(shù)、測試函數(shù)、環(huán)境函數(shù)、鼠標與鍵盤函數(shù)、數(shù)組函數(shù)、窗口函數(shù)、菜單函數(shù)、網(wǎng)絡函數(shù)、數(shù)據(jù)庫函數(shù)等。組函數(shù)、窗口函數(shù)、菜單函數(shù)、網(wǎng)絡函數(shù)、數(shù)據(jù)庫函數(shù)等。(2 2自定義函數(shù)是用戶根據(jù)需要自己加以定義的函數(shù)。自定義函數(shù)是用戶根據(jù)需要自己加以定義的函數(shù)。函數(shù)有函數(shù)名、參數(shù)和函數(shù)值函數(shù)有函數(shù)名、參數(shù)和函數(shù)值3 3個要素。個要素。 (1)(1)函數(shù)名起標識作用;函數(shù)名起標識作用; (2)(2)參數(shù)是自變量,一般是表達式,寫在括號內(nèi);參數(shù)是自變量,一般是表達式,寫在括號內(nèi); (3)(3)函數(shù)運算后會返回一個

33、值,稱為函數(shù)值。任何函數(shù)都有函數(shù)運算后會返回一個值,稱為函數(shù)值。任何函數(shù)都有且只有一個返回值。且只有一個返回值。 不同的函數(shù),參數(shù)的個數(shù)和類型以及函數(shù)返回值的類型不同的函數(shù),參數(shù)的個數(shù)和類型以及函數(shù)返回值的類型都可能不一樣。函數(shù)的類型即指函數(shù)值的類型。都可能不一樣。函數(shù)的類型即指函數(shù)值的類型。函數(shù)調(diào)用的一般形式為:函數(shù)名(函數(shù)調(diào)用的一般形式為:函數(shù)名( 參數(shù)表參數(shù)表 )3.3 Visual FoxPro3.3 Visual FoxPro的內(nèi)部函數(shù)的內(nèi)部函數(shù)3.3.1 數(shù)值函數(shù)數(shù)值函數(shù) 1. 求絕對值函數(shù)求絕對值函數(shù) 格式:格式:ABS() 功能:求數(shù)值型表達式的絕對值。函數(shù)值為數(shù)值型。功能:求

34、數(shù)值型表達式的絕對值。函數(shù)值為數(shù)值型。 舉例:舉例:? ABS(-4) & 4 2. 求平方根函數(shù)求平方根函數(shù) 格式:格式:SQRT() 功能:求數(shù)值型表達式的算術平方根,數(shù)值型表達式的值功能:求數(shù)值型表達式的算術平方根,數(shù)值型表達式的值應不小于零。函數(shù)值為數(shù)值型。應不小于零。函數(shù)值為數(shù)值型。 舉例:舉例:? sqrt(4) & 2.00 3. 求指數(shù)函數(shù)求指數(shù)函數(shù) 格式:格式:EXP() 功能:將數(shù)值型表達式的值作為指數(shù)功能:將數(shù)值型表達式的值作為指數(shù)x,求出,求出ex的值。函數(shù)的值。函數(shù)值為數(shù)值型。值為數(shù)值型。4. 取整函數(shù)取整函數(shù)格式:格式:INT()功能:取數(shù)值型表達式

35、的整數(shù)部分。功能:取數(shù)值型表達式的整數(shù)部分。舉例:舉例:x=56.72 ? INT(x),INT(-x) & 56,-565. 求余數(shù)函數(shù)求余數(shù)函數(shù) 格式:格式:MOD(,) 功能:求功能:求除以除以所得出的所得出的余數(shù),所得余數(shù)的符號和表達式余數(shù),所得余數(shù)的符號和表達式2相同。如果被除數(shù)與除相同。如果被除數(shù)與除數(shù)同號,那么函數(shù)值即為兩數(shù)相除的余數(shù)。如果被除數(shù)與數(shù)同號,那么函數(shù)值即為兩數(shù)相除的余數(shù)。如果被除數(shù)與除數(shù)異號,則函數(shù)值為兩數(shù)相除的余數(shù)再加上除數(shù)的值。除數(shù)異號,則函數(shù)值為兩數(shù)相除的余數(shù)再加上除數(shù)的值。函數(shù)值為數(shù)值型。函數(shù)值為數(shù)值型。 舉例:舉例: ? MOD(25,7),MOD

36、(25,-7) ,MOD(-25,7),MOD(-25,-7) 輸出的函數(shù)值依次為輸出的函數(shù)值依次為4,-3,3,-4。 顯然如果顯然如果M除以除以N的余數(shù)為的余數(shù)為0,則,則M能被能被N整數(shù)。整數(shù)。6. 四舍五入函數(shù)四舍五入函數(shù) 格式:格式:ROUND(,) 功能:對功能:對求值并保留求值并保留n位小數(shù),從位小數(shù),從n+1位小數(shù)位小數(shù)起進行四舍五入。起進行四舍五入。n的值由數(shù)值型表達式的值由數(shù)值型表達式2確定。若確定。若n小于小于0,則對則對的整數(shù)部分按的整數(shù)部分按n的絕對值進行四舍五入。的絕對值進行四舍五入。 舉例:舉例: ? ROUND(3.1415*3,2),ROUND(156.78,

37、-1) & 9.42 1607. 求最大值和最小值函數(shù)求最大值和最小值函數(shù)格式:格式:MAX(, ) MIN(, )功能:功能:MAX求求n個表達式中的最大值,個表達式中的最大值,MIN求求n個表達式中的最個表達式中的最小值。表達式的類型可以是數(shù)值型、字符型、貨幣型、日期小值。表達式的類型可以是數(shù)值型、字符型、貨幣型、日期型和日期時間型,但所有表達式的類型應相同。函數(shù)值的類型和日期時間型,但所有表達式的類型應相同。函數(shù)值的類型與自變量的類型一致。型與自變量的類型一致。 舉例:舉例: ? MAX(2019-08-16,2019-08-16) ?MIN(助教助教,講師講師,副教授副教授,教

38、授教授) 輸出的函數(shù)值分別為輸出的函數(shù)值分別為08/16/03、副教授。、副教授。8.函數(shù)函數(shù)格式:格式:PI()功能:返回圓周率功能:返回圓周率的近似值。的近似值。【例【例2-17】函數(shù)的應用。】函數(shù)的應用。 ?PI() &系統(tǒng)主窗口顯示:系統(tǒng)主窗口顯示:3.14STORE 2.30 TO nRadiusSTORE PI()*nRadius2 TO nArea?nArea &系統(tǒng)主窗口顯示系統(tǒng)主窗口顯示: 16.61903.3.2 字符函數(shù)字符函數(shù) 字符函數(shù)是處理字符型數(shù)據(jù)的函數(shù),其字符函數(shù)是處理字符型數(shù)據(jù)的函數(shù),其自變量或函數(shù)值中至少有一個是字符型數(shù)據(jù)。自變量或函數(shù)值中至少

39、有一個是字符型數(shù)據(jù)。 1. 宏代換函數(shù)宏代換函數(shù) 格式:格式:&.字符表達式字符表達式 功能:代換出一個字符型內(nèi)存變量的內(nèi)容。功能:代換出一個字符型內(nèi)存變量的內(nèi)容。假設假設與后面的字符無空格與后面的字符無空格分界,那么分界,那么&函數(shù)后的函數(shù)后的“.”必須有。必須有。 舉例:舉例:例如:例如:X=“程序設計語言程序設計語言” Y=“計算機計算機&X” ?Y結(jié)果結(jié)果: 計算機程序設計語言計算機程序設計語言 2. 求字符串長度函數(shù)求字符串長度函數(shù) 格式:格式:LEN(字符型表達式字符型表達式) 功能:求字符串的長度,即所包含的字符個數(shù)。功能:求字符串的長度,即所包含的字符個

40、數(shù)。若是空串,則長度為若是空串,則長度為0。函數(shù)值為數(shù)值型。函數(shù)值為數(shù)值型。例如:例如:? LEN(12AB CD34) & 9 ? LEN( 合肥工業(yè)大學合肥工業(yè)大學) & 12 3. 查找子串函數(shù)查找子串函數(shù)格式:格式:AT(,) ATC(,)功能:假設功能:假設的值存在于的值存在于的值中,則給出的值中,則給出在在中的開始位置,若不存在,則函數(shù)值為中的開始位置,若不存在,則函數(shù)值為0。函數(shù)值為數(shù)值型。函數(shù)值為數(shù)值型。ATC函數(shù)在子串比較時不函數(shù)在子串比較時不區(qū)分字母大小寫。區(qū)分字母大小寫。舉例:舉例: xm=李小四李小四 ? AT(李李,xm), AT(PRO,Visual

41、 FoxPro), ATC(PRO,Visual FoxPro) 輸出的函數(shù)值分別為輸出的函數(shù)值分別為1、0、11。4. 4. 取子串函數(shù)取子串函數(shù) 格式:格式:SUBSTR(SUBSTR(,) 功能:前往功能:前往 從從 起起, ,長度為長度為 的子字符串。的子字符串。例如:例如:? SUBS(? SUBS(03/11/201903/11/2019,7,4)+SUBS(,7,4)+SUBS(03/11/201903/11/2019,1,2),1,2) +SUBS( +SUBS(03/11/201903/11/20194,2) & 201903114,2) & 20190311

42、 取左子串函數(shù)取左子串函數(shù) 格式:格式:LEFT(LEFT(, ) 功能:從功能:從 中最左邊第一個字符開始截取指定中最左邊第一個字符開始截取指定的字符個數(shù)。的字符個數(shù)。 例如:例如:? LEFT? LEFT(123ABCD123ABCD,3) & 123,3) & 123 取右子串函數(shù)取右子串函數(shù) 格式:格式:RIGHT(RIGHT(, ) 功能:從功能:從 中最右邊第一個字符開始截取指定中最右邊第一個字符開始截取指定的字符個數(shù)。的字符個數(shù)。 例如:例如:? RIGHT? RIGHT(123ABCD123ABCD,4) & ABCD,4) & ABCD5. 刪

43、除字符串前后空格函數(shù)刪除字符串前后空格函數(shù)格式:格式:LTRIM() RTRIM | TRIM () ALLTRIM()功能:功能:LTRIM刪除字符串的前導空格。刪除字符串的前導空格。RTRIM刪除字符串的刪除字符串的尾部空格。尾部空格。RTRIM亦可寫成亦可寫成TRIM。ALLTRIM刪除字符刪除字符串中的前導和尾部空格。串中的前導和尾部空格。ALLTRIM函數(shù)兼有函數(shù)兼有LTRIM和和RTRIM函數(shù)的功能。函數(shù)的功能。例如:例如:? TRIM(合肥合肥 )+RTRIM( 工大工大) & 合肥工大合肥工大6. 生成空格函數(shù)生成空格函數(shù) 格式:格式:SPACE() 功能:生成若干個空

44、格,空格的個數(shù)由數(shù)值型表達式的值功能:生成若干個空格,空格的個數(shù)由數(shù)值型表達式的值決定。決定。 舉例:舉例: name=SPACE(8) ? LEN(LTRIM(name) 輸出的函數(shù)值為輸出的函數(shù)值為0。7. 字符串替換函數(shù)字符串替換函數(shù)格式:格式:STUFF(,)功能:用功能:用去替換去替換中由起中由起始位置開始所指定的若干個字符。起始位置和字符個數(shù)始位置開始所指定的若干個字符。起始位置和字符個數(shù)分別由數(shù)值型表達式分別由數(shù)值型表達式1和數(shù)值型表達式和數(shù)值型表達式2指定。如果字符指定。如果字符型表達式型表達式2的值是空串,則字符型表達式的值是空串,則字符型表達式1中由起始位置中由起始位置開始

45、所指定的若干個字符被刪除。開始所指定的若干個字符被刪除。舉例:舉例: STORE 中國中國 長沙長沙 TO x ? STUFF(x,6,4,北京北京) & 中國中國 北京。北京。8. 產(chǎn)生重復字符函數(shù)產(chǎn)生重復字符函數(shù)格式:格式:REPLICATE(,)功能:重復給定字符串若干次,次數(shù)由數(shù)值型表達式給定。功能:重復給定字符串若干次,次數(shù)由數(shù)值型表達式給定。舉例:舉例:? REPLICATE (*,6)輸出為:輸出為:*。 9. 大小寫字母轉(zhuǎn)換函數(shù)大小寫字母轉(zhuǎn)換函數(shù)格式:格式:LOWER() UPPER()功能:功能:LOWER將字符串中的大寫字母轉(zhuǎn)換成小寫。將字符串中的大寫字母轉(zhuǎn)換成小寫

46、。 UPPER將字符串中的小寫字母轉(zhuǎn)換成大寫。將字符串中的小寫字母轉(zhuǎn)換成大寫。舉例:舉例: yn=y ? UPPER(yn),LOWER(YES) 輸出的函數(shù)值為:輸出的函數(shù)值為:Y、yes。在字符串中,同。在字符串中,同一字母的大小寫為不同字符,如果利用大小字母轉(zhuǎn)一字母的大小寫為不同字符,如果利用大小字母轉(zhuǎn)換函數(shù),就可以不考慮字符串中的字母是大寫還是換函數(shù),就可以不考慮字符串中的字母是大寫還是小寫。小寫。3.3.3 日期和時間函數(shù)日期和時間函數(shù)日期時間函數(shù)是處理日期型或日期時間型數(shù)據(jù)的函數(shù)。日期時間函數(shù)是處理日期型或日期時間型數(shù)據(jù)的函數(shù)。1. 系統(tǒng)日期和時間函數(shù)系統(tǒng)日期和時間函數(shù)格式:格式:

47、DATE() TIME() DATETIME()功能:功能:DATE函數(shù)給出當前的系統(tǒng)日期,函數(shù)值為日函數(shù)給出當前的系統(tǒng)日期,函數(shù)值為日期型。期型。TIME函數(shù)給出當前的系統(tǒng)時間,形式為函數(shù)給出當前的系統(tǒng)時間,形式為hh:mm:ss,函數(shù)值為字符型。函數(shù)值為字符型。DATETIME函數(shù)給出當前的系統(tǒng)日期和時間,函數(shù)值函數(shù)給出當前的系統(tǒng)日期和時間,函數(shù)值為日期時間型。為日期時間型。2. 求年份、月份和天數(shù)函數(shù)求年份、月份和天數(shù)函數(shù)格式:格式:YEAR(|) MONTH(|) DAY(|)功能:功能:YEAR函數(shù)返回日期表達式或日期時間型表函數(shù)返回日期表達式或日期時間型表達式所對應的年份值。達式所

48、對應的年份值。MONTH函數(shù)返回日期型表達式或日期時間型表達函數(shù)返回日期型表達式或日期時間型表達式所對應的月份,月份以數(shù)值式所對應的月份,月份以數(shù)值112來表示。來表示。DAY函數(shù)返回日期型表達式或日期時間型表達式所函數(shù)返回日期型表達式或日期時間型表達式所對應月份里面的天數(shù)。對應月份里面的天數(shù)。舉例:舉例: d=2019-08-16 ? YEAR(d),MONTH(d),DAY(d) 輸出的函數(shù)值分別為輸出的函數(shù)值分別為2019、8、16。3. 求時、分和秒函數(shù)求時、分和秒函數(shù)格式:格式:HOUR() MINUTE() SEC()功能:功能:HOUR函數(shù)返回日期時間型表達式所對應的函數(shù)返回日期

49、時間型表達式所對應的小時部分小時部分(按按24小時制小時制)。MINUTE函數(shù)返回日期時間型表達式所對應的分鐘函數(shù)返回日期時間型表達式所對應的分鐘部分。部分。SEC函數(shù)返回日期時間型表達式所對應的秒數(shù)部分。函數(shù)返回日期時間型表達式所對應的秒數(shù)部分。舉例:舉例:d=2019-08-16,5:43:56 P? HOUR(d),MINUTE(d),SEC(d)輸出的函數(shù)值分別為輸出的函數(shù)值分別為17、43、56。3. 求星期函數(shù)求星期函數(shù)格式:格式:DOW() CDOW()功能:功能:DOW函數(shù)返回日期型表達式中星期的函數(shù)返回日期型表達式中星期的數(shù)值,函數(shù)值為數(shù)值型。用數(shù)值,函數(shù)值為數(shù)值型。用17表

50、示星期日表示星期日星期六。星期六。 CDOW函數(shù)返回日期型表達式所對應星函數(shù)返回日期型表達式所對應星期的英文名稱。函數(shù)值為字符型。期的英文名稱。函數(shù)值為字符型。舉例:舉例:?DOW2019-05-2, CDOW2019-05-2輸出的函數(shù)值分別為:輸出的函數(shù)值分別為:5 Thursdy3.3.4 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)數(shù)據(jù)類型轉(zhuǎn)換函數(shù)1. 將字符轉(zhuǎn)換成將字符轉(zhuǎn)換成ASCII碼的函數(shù)碼的函數(shù) 格式:格式:ASC() 功能:給出指定字符串最左邊的一個字符的功能:給出指定字符串最左邊的一個字符的ASCII碼值。碼值。函數(shù)值為數(shù)值型。函數(shù)值為數(shù)值型。 舉例:舉例: ? ASC(A) &652. 將將

51、ASCII值轉(zhuǎn)換成相應字符函數(shù)值轉(zhuǎn)換成相應字符函數(shù) 格式:格式:CHR() 功能:將數(shù)值型表達式的值作為功能:將數(shù)值型表達式的值作為ASCII碼,給出所對應碼,給出所對應的字符。的字符。 舉例:舉例:ch1=M ch2=CHR(ASC(ch1)+ASC(a)-ASC(A) ? ch2 & m 若若ch1的值為某個大寫字母,則利用求的值為某個大寫字母,則利用求ch2的表達式可求的表達式可求出對應的小寫字母。在出對應的小寫字母。在ASCII表中,字母是連續(xù)排列的,表中,字母是連續(xù)排列的,任何一個字母其大小寫任何一個字母其大小寫ASCII碼值之差是相等的。碼值之差是相等的。 3. 將字符串轉(zhuǎn)

52、換成日期或日期時間函數(shù)將字符串轉(zhuǎn)換成日期或日期時間函數(shù) 格式:格式:CTOD() CTOT() 功能:功能:CTOD函數(shù)將指定的字符串轉(zhuǎn)換成日期型數(shù)據(jù),函數(shù)將指定的字符串轉(zhuǎn)換成日期型數(shù)據(jù),CTOT函數(shù)將指定的字符串轉(zhuǎn)換成日期時間型數(shù)據(jù)。字符函數(shù)將指定的字符串轉(zhuǎn)換成日期時間型數(shù)據(jù)。字符型表達式中的日期部分格式要與系統(tǒng)設置的日期顯示格式型表達式中的日期部分格式要與系統(tǒng)設置的日期顯示格式一致,其中的年份可以用一致,其中的年份可以用4位,也可以用位,也可以用2位。位。舉例:舉例:? CTOD(2019/03/10) & 2019/03/10 表示為表示為2019年年3月月10日日4. 將日期或

53、日期時間轉(zhuǎn)換成字符串函數(shù)將日期或日期時間轉(zhuǎn)換成字符串函數(shù) 格式:格式:DTOC(|,1) TTOC(,1) 功能:功能:DTOC函數(shù)將日期數(shù)據(jù)或日期時間數(shù)據(jù)的日期部分函數(shù)將日期數(shù)據(jù)或日期時間數(shù)據(jù)的日期部分轉(zhuǎn)換為字符型,轉(zhuǎn)換為字符型,TTOC函數(shù)將日期時間數(shù)據(jù)轉(zhuǎn)換為字符型函數(shù)將日期時間數(shù)據(jù)轉(zhuǎn)換為字符型,。字符串中日期和時間的格式受系統(tǒng)設置的影響。字符串中日期和時間的格式受系統(tǒng)設置的影響。 對對DTOC來說,若選用來說,若選用1,結(jié)果為,結(jié)果為yyyymmdd格式。對格式。對TTOC來說,若選用來說,若選用1,結(jié)果為,結(jié)果為yyyymmddhhmmss格式。格式。舉例:舉例: A=01/03/10

54、 ? DTOC(A) & “01/03/10” 5. 將數(shù)值轉(zhuǎn)換成字符串函數(shù)將數(shù)值轉(zhuǎn)換成字符串函數(shù) 格式:格式:STR(,) 功能:將數(shù)值型表達式功能:將數(shù)值型表達式1的值轉(zhuǎn)換成字符串。轉(zhuǎn)換的值轉(zhuǎn)換成字符串。轉(zhuǎn)換后字符串的長度由數(shù)值型表達式后字符串的長度由數(shù)值型表達式2決定,保留的小決定,保留的小數(shù)位數(shù)由數(shù)值表達式數(shù)位數(shù)由數(shù)值表達式3決定。決定。 省略數(shù)值型表達式省略數(shù)值型表達式3時,轉(zhuǎn)換后將無小數(shù)部時,轉(zhuǎn)換后將無小數(shù)部分。省略數(shù)值型表達式分。省略數(shù)值型表達式2和數(shù)值表達式和數(shù)值表達式3時,字符時,字符串長度為串長度為10,無小數(shù)部分。如果指定的長度大于,無小數(shù)部分。如果指定的長度大于

55、小數(shù)點左邊的位數(shù),則在字符串的前面加上空格,小數(shù)點左邊的位數(shù),則在字符串的前面加上空格,如果指定的長度小于小數(shù)點左邊的位數(shù),則返回如果指定的長度小于小數(shù)點左邊的位數(shù),則返回指定長度個星號指定長度個星號*,表示出錯。,表示出錯。舉例:舉例: x=1234.587 ? STR(x,10,2), STR(x,10,4), STR(x,7,2), STR(x,7),STR(x,3) 輸出為:輸出為:1234.591234.58701234.591235* (其中的其中的代表空格。代表空格。) 6. 將字符串轉(zhuǎn)換成數(shù)值函數(shù)將字符串轉(zhuǎn)換成數(shù)值函數(shù) 格式:格式:VAL() 功能:將由數(shù)字、正負號、小數(shù)點組成

56、的字符串功能:將由數(shù)字、正負號、小數(shù)點組成的字符串轉(zhuǎn)換為數(shù)值,轉(zhuǎn)換遇上非上述字符停止。若串的轉(zhuǎn)換為數(shù)值,轉(zhuǎn)換遇上非上述字符停止。若串的第一個字符即非上述字符,函數(shù)值為第一個字符即非上述字符,函數(shù)值為0。前導空格。前導空格不影響轉(zhuǎn)換。不影響轉(zhuǎn)換。 例如:例如: ? VAL(1.2E+03) 1200.00 ? VAL(53B) 53.00 ? VAL(A123) 0.00 3.3.5 測試函數(shù)測試函數(shù)1. 數(shù)據(jù)類型測試函數(shù)數(shù)據(jù)類型測試函數(shù) 格式:格式:VARTYPE() 或或 TYPE(“”) 功能:測試引號內(nèi)表達式的數(shù)據(jù)類型,返回用字母代表的功能:測試引號內(nèi)表達式的數(shù)據(jù)類型,返回用字母代表的數(shù)

57、據(jù)類型。函數(shù)值為字符型。數(shù)據(jù)類型。函數(shù)值為字符型。舉例:舉例:? VARTYPE(3.46),VARTYPE($385),VARTYPE(FoxPro) 輸出為:輸出為:N Y C2. 表頭測試函數(shù)表頭測試函數(shù) 格式:格式:BOF()|) 功能:測試指定或當前工作區(qū)的記錄指針是否超過了第一功能:測試指定或當前工作區(qū)的記錄指針是否超過了第一條記錄,即是否指向表頭,若是,函數(shù)值為條記錄,即是否指向表頭,若是,函數(shù)值為.T.,否則為,否則為.F.。用于指定工作區(qū),用于指定工作區(qū),為工作區(qū)的別名或在為工作區(qū)的別名或在該工作區(qū)上打開的表的別名。該工作區(qū)上打開的表的別名。 BOF( ) 指當前工作區(qū)表頭測

58、試。指當前工作區(qū)表頭測試。3. 表尾測試函數(shù)表尾測試函數(shù) 格式:格式:EOF(|) 功能:測試指定或當前工作區(qū)中記錄指針是否超過了最后功能:測試指定或當前工作區(qū)中記錄指針是否超過了最后一條記錄,即是否指向表的末尾,若是,函數(shù)值為一條記錄,即是否指向表的末尾,若是,函數(shù)值為.T.,否,否則為則為.F.。自變量含義同。自變量含義同BOF函數(shù),缺省時:函數(shù),缺省時:EOF( )指當前指當前工作區(qū)表尾測試。工作區(qū)表尾測試。4. 記錄號測試函數(shù)記錄號測試函數(shù) 格式:格式:RECNO(|) 功能:返回指定或當前工作區(qū)中當前記錄的記錄號,函數(shù)功能:返回指定或當前工作區(qū)中當前記錄的記錄號,函數(shù)值為數(shù)值型。省略

59、參數(shù)時,默認為當前工作區(qū)。如果記錄值為數(shù)值型。省略參數(shù)時,默認為當前工作區(qū)。如果記錄指針在最后一個記錄之后,即指針在最后一個記錄之后,即EOF()為為.T.,RECNO()返回返回比記錄總數(shù)大比記錄總數(shù)大1的值。如果記錄指針在第一個記錄之前或的值。如果記錄指針在第一個記錄之前或者無記錄,即者無記錄,即BOF()為為.T.,RECONO()返回返回1。5. 記錄個數(shù)測試函數(shù)記錄個數(shù)測試函數(shù) 格式:格式:RECCOUNT() 功能:返回當前或指定表中記錄的個數(shù)。如果在指定的工功能:返回當前或指定表中記錄的個數(shù)。如果在指定的工作區(qū)中沒有表被打開,則函數(shù)值為作區(qū)中沒有表被打開,則函數(shù)值為0。如果省略參

60、數(shù),則。如果省略參數(shù),則默認為當前工作區(qū)。默認為當前工作區(qū)。RECCOUNT()返回的值不受返回的值不受SET DELETED的影響,總是返回包括加有刪除標記在內(nèi)的全的影響,總是返回包括加有刪除標記在內(nèi)的全部記錄數(shù)。部記錄數(shù)。6. 查找是否成功測試函數(shù)查找是否成功測試函數(shù) 格式:格式:FOUND() 功能:在當前或指定表中,檢測是否找到所需的數(shù)據(jù)。如果功能:在當前或指定表中,檢測是否找到所需的數(shù)據(jù)。如果省略參數(shù),則默認為當前工作區(qū)。數(shù)據(jù)搜索由省略參數(shù),則默認為當前工作區(qū)。數(shù)據(jù)搜索由FIND、SEEK、LOCATE或或CONTINUE命令實現(xiàn)。如果這些命令命令實現(xiàn)。如果這些命令搜索到所需的數(shù)據(jù)記錄,函數(shù)值為搜索到所需的數(shù)據(jù)記錄,函數(shù)值為.T.,否則函數(shù)值為,否則函數(shù)值為.F.。如果指定的工作區(qū)中沒有表被打開,則如果指定的工作區(qū)中沒有表被打開,則FOUND()前往前往.F.。7.工作區(qū)測試函數(shù)工作區(qū)測試函數(shù) 函數(shù)格式:函數(shù)格式:SELECT()() 函數(shù)功能:測試當前工作區(qū)的區(qū)號。函數(shù)功能:測試當前工作區(qū)的區(qū)號。 USE CJ GO 2 ? RECNO() &系統(tǒng)主窗口顯示系統(tǒng)主窗口顯示: 23.4

溫馨提示

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

評論

0/150

提交評論