版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2024/8/151
VisualFoxPro基礎及數(shù)據(jù)運算2024/8/152第一節(jié)VisualFoxPro系統(tǒng)簡介
VisualFoxPro6.0系統(tǒng)是一個關系型DBMS,是微軟公司1998年推出的可視化語言集成包VisualStudio6.0系統(tǒng)中的一個產(chǎn)品。能運行于各種平臺上的32位數(shù)據(jù)庫開發(fā)系統(tǒng)。2024/8/153
一、VisualFoxPro的特點
VisualFoxPro具有界面友好、工具豐富、速度較快等優(yōu)點,并在數(shù)據(jù)庫操作與管理、可視化開發(fā)環(huán)境、面向對象程序設計等方面具有較強的功能。其特點主要體現(xiàn)在以下幾方面:(1)兼容性好(2)應用程序的開發(fā)更簡便(3)改進了程序調試工具(4)更簡便的表設計和擴充內容的數(shù)據(jù)字典(5)增強了查詢和視圖設計功能(6)增強了表單設計功能(7)更多更好的向導(8)增強了OLE與ActiveX的集成2024/8/154二、VisualFoxPro6.0的安裝與啟動1.最低運行環(huán)境(1)486DX/66MHZ或更高的處理器。(2)16M以上內存。(3)硬盤空間:典型安裝需要85M,最大安裝需要90MB。(4)VGA或更高分辨率以上的顯示器。(5)操作系統(tǒng):Windows95或98以上。2.VisualFoxPro6.0系統(tǒng)的安裝(1)將VisualFoxPro6.0系統(tǒng)光盤插入光驅。(2)打開光盤,找到setup.exe文件,雙擊該文件,運行安裝向導。(3)按安裝向導的提示,單擊“下一步”按鈕進行安裝。
(4)進入系統(tǒng)安裝界面,根據(jù)提示按步操作,直到安裝完畢。
2024/8/1553.VisualFoxPro6.0的啟動與退出啟動VisualFoxPro6.0常用方法:(1)單擊“開始”菜單,選擇“程序”,從級聯(lián)菜單中單擊VisualFoxPro6.0。(2)雙擊桌面建立的VisualFoxPro6.0的快捷圖標。VisualFoxPro6.0的退出有以下四種方法:(1)單擊VFP窗口標題欄右邊的關閉按鈕。(2)在VFP“文件”下拉菜單中選擇“退出”。(3)按快捷鍵ALT+F4.(4)在VFP的命令窗口中輸入命令QUIT。
2024/8/156三、VisualFoxPro6.0用戶界面
VisualFoxPro6.0的主窗口包括:標題欄、菜單欄、常用工具欄、狀態(tài)欄、命令窗口和主窗口工作區(qū)幾個組成部分。
2024/8/157
四、VisualFoxPro6.0的操作方式
VisualFoxPro6.0系統(tǒng)為用戶提供了幾種各具特點的操作方式,用戶可根據(jù)情況以及應用的需要,選擇合適的操作方式,實現(xiàn)數(shù)據(jù)庫的操作、應用。
VisualFoxPro6.0系統(tǒng)的操作方式主要有:(1)命令操作方式(2)菜單操作方式(3)程序操作方式2024/8/158
1.命令操作方式
命令操作是在命令窗口中逐條輸入命令,直接操作指定對象的操作方式。命令操作為用戶提供了一個直接操作的手段,其優(yōu)點是能夠直接使用系統(tǒng)的各種命令和函數(shù),有效操縱數(shù)據(jù)庫,但要求熟練掌握各種命令和函數(shù)的格式、功能、用法等細節(jié);2024/8/159
2.菜單操作方式
VisualFoxPro6.0系統(tǒng)將許多命令做成菜單命令選項,用戶通過選擇菜單項來使用數(shù)據(jù)庫的操作方式。在菜單方式中,很多操作是通過調用相關的向導、生成器、設計器工具,以直觀、簡便、可視化方式完成對系統(tǒng)的操作,用戶不必熟悉命令的細節(jié)和相應的語法規(guī)則,通過對話來完成操作。有了這種方式,一般用戶無需編程就可完成數(shù)據(jù)庫的操作與管理;
2024/8/1510
3.程序操作方式
程序操作就是預先將實現(xiàn)某種操作處理的命令序列編成程序,通過運行程序來實現(xiàn)操作、管理數(shù)據(jù)庫的操作方式。根據(jù)實際應用需要編寫的應用程序,能夠為用戶提供界面更簡潔直觀、操作步驟更符合業(yè)務處理流程和規(guī)范要求的操作應用環(huán)境。但程序的編制,需要經(jīng)過專門訓練,只有具備一定設計能力的專業(yè)人員方能勝任,普通用戶很難編寫大型的、綜合性較強的應用程序。
2024/8/1511
VisualFoxPro6.0系統(tǒng)環(huán)境的設置
VisualFoxPro6.0系統(tǒng)的環(huán)境設置決定了系統(tǒng)的操作運行環(huán)境和工作方式,設置是否合理、適當,直接影響系統(tǒng)的操作運行效率和操作的方便性。系統(tǒng)安裝時按默認方式進行了相應的設置,用戶通過設置系統(tǒng)環(huán)境,可添加或刪除VisualFoxPro6.0的相關組件,也可對系統(tǒng)當前環(huán)境重新調整設置。添加或刪除VisualFoxPro6.0組件的操作,要通過系統(tǒng)安裝程序來實現(xiàn),而當前環(huán)境的設置可通過相關命令和菜單操作方式來實現(xiàn)。環(huán)境設置包括主窗口標題、默認目錄、項目、編輯器、調試器及表單工具選項、臨時文件存儲、拖放字段對應的控件和其他選項等內容。
運用“選項”對話框或SET命令進行附加的配置設定,還可以通過配置文件進行設置。2024/8/1512
1.VisualFoxPro6.0的設計器
VisualFoxPro6.0提供的一系列設計器(Designers),為用戶提供了一個友好的圖形界面操作環(huán)境,用以創(chuàng)建、定制、編輯數(shù)據(jù)庫結構、表結構、報表格式、應用程序組件等。
VisualFoxPro6.0提供的設計器及其功能如下表所示。
表設計器查詢設計器視圖設計器表單設計器報表設計器標簽設計器數(shù)據(jù)庫設計器數(shù)據(jù)庫設計器連接設計器菜單設計器數(shù)據(jù)環(huán)境設計器五、VisualFoxPro6.0常用工具2024/8/1513
2.VisualFoxPro6.0的向導
VisualFoxPro6.0系統(tǒng)為用戶提供了許多功能強大的向導(Wizards)。用戶可以在向導程序的引導、幫助下,不用編程就能快速地建立良好的應用程序,完成許多數(shù)據(jù)庫操作、管理功能,為非專業(yè)用戶提供了一種較為簡便的操作使用方式。
VisualFoxPro6.0系統(tǒng)提供的向導及其功能如下表所示。表向導報表向導一對多報表向導標簽向導分組/總計報表向導表單向導一對多表單向導查詢向導交叉表向導本地視圖向導遠程視圖向導導入向導文檔向導圖表向導應用程序向導SQL升遷向導數(shù)據(jù)透視表向導安裝向導2024/8/1514
3.VisualFoxPro6.0的生成器
VisualFoxPro6.0系統(tǒng)提供了若干個生成器,用以簡化創(chuàng)建、修改用戶界面程序的設計過程,提高軟件開發(fā)的質量和效率。每個生成器包含若干個選項卡,允許用戶訪問并設置所選擇對象的相關屬性。用戶可將生成器生成的用戶界面直接轉換成程序編碼,使用戶從逐條編寫程序代碼、反復調試程序的手工作業(yè)中解放出來。
VisualFoxPro6.0提供的生成器及功能如下表所示。
自動格式化生成器組合框生成器命令組生成器編輯框生成器表達式生成器表單生成器網(wǎng)格生成器列表框生成器選項組生成器文本框生成器參照完整性生成器2024/8/1515六、VisualFoxPro6.0命令語法
1.一般的命令格式
<命令動詞>[范圍][FOR<條件>][WHILE<條件>][FIELDS<字段名表>]…VisualFoxPro6.0中常用短語介紹:⑴FIELDS子句用來規(guī)定當前處理的字段或表達式。
⑵范圍子句用來規(guī)定對表進行操作的記錄的范圍。通常有以下四種范圍:ALL:
對表中所有記錄進行操作。NEXTN:
只對包括當前記錄在內的連續(xù)N條記錄進行操作。RECORDN:
只對第N條記錄進行操作。REST:
從當前記錄開始(含當前記錄)到表尾的所有記錄。2024/8/1516⑶FOR子句和WHILE子句FOR<條件>的作用是:在規(guī)定的范圍內,按條件檢查全部記錄。
WHILE<條件>的作用是:在規(guī)定的范圍內,只要條件成立,就對當前記錄執(zhí)行該命令,并把記錄指針指向下一條記錄,一旦遇到條件不滿足的記錄,就停止查找并結束該命令的執(zhí)行。若同時使用FOR子句和WHILE子句,則WHILE有較高的優(yōu)先級。
2024/8/1517例:讀者表內容如下,分析以下命令的運行結果。
USE讀者LISTNEXT4LISTRESTLISTFIELDS學號,姓名,入學成績LISTFOR性別=“男”LISTWHILE性別=“男”USE2024/8/1518
2.VisualFoxPro6.0命令的書寫規(guī)則
(1)命令動詞必須寫在一條命令的最前面,而后面子句的次序可以任意排列。(2)命令行中,命令動詞與短語、短語與短語和短語的各部分之間必須以一個或多個空格分開。(3)命令動詞、各短語中的保留字及函數(shù)名都可簡寫為前四個字符,且大小寫無關。如DISPLAY可簡寫為DISP。(4)一個命令行的最大長度是254個字符,如果命令太長,一行寫不下,可在行末用“;”續(xù)行。并按回車換行,在下一行繼續(xù)輸入該命令。(5)一行只能寫一個命令。2024/8/15193.符號約定
[]:方括號,表示是可選的項目。若選擇該項目,不要寫方括號本身。<>:角括號,表示括號內的項目是必須要選的,但不要寫角括號本身。|:堅線號,表示兩個項目中選擇其中一個,但不要寫堅線號本身?!菏÷蕴?,表示前項可繼續(xù)重復多次選擇。
2024/8/1520第二節(jié)VisualFoxPro的數(shù)據(jù)及其運算
在VisualFoxPro系統(tǒng)中,數(shù)據(jù)可用常量、變量、數(shù)組表示,數(shù)據(jù)還可以用字段、記錄和對象,由它們存儲、容納各種類型的數(shù)據(jù)。因此,常把這些供數(shù)據(jù)存儲的常量、變量、數(shù)組、字段、記錄和對象等稱為數(shù)據(jù)存儲容器。用戶正是利用不同的數(shù)據(jù)存儲容器,在VisualFoxPro系統(tǒng)中表示、存儲、操作、處理各種類型的數(shù)據(jù),實現(xiàn)數(shù)據(jù)處理的應用。2024/8/1521一、VisualFoxPro的數(shù)據(jù)類型1.字符型(character)
用字母C表示,字符型數(shù)據(jù)包括中文字符、英文字符、數(shù)字字符和其他ASCII字符,其長度最長不超過254個字符。2.數(shù)值型(Numeric)
用字母N表示,用來表示數(shù)量并可以進行算術運算的數(shù)據(jù)類型。由阿拉伯數(shù)字、正負號、小數(shù)點組成。VisualFoxPro中,具有數(shù)值特征的數(shù)據(jù)類型還有整型、浮點型和雙精度型,但這三種數(shù)據(jù)類型只用于字段變量。2024/8/15223.日期型(Date)
用字母D表示,用來表示日期的數(shù)據(jù)類型。日期的默認格式為:{mm/dd/yy}
其中MM表示月,DD表示日,YY表示年。日期型數(shù)據(jù)的長度固定為8位。
4.日期時間型(DateTime)
用字母T表示,是用來表示日期和時間,默認格式為:
{mm/dd/yyhh:mm:ss}
其中mm,dd,yy的意義與日期型相同,hh,mm,ss分別表示時、分、秒。長度也固定為8位。
5.邏輯型(Logic)
用字母L表示,用來描述客觀事物真假或是非判斷的數(shù)據(jù)類型。只有兩個取值:真(.t.或.T.)和假(.f.或.F.),邏輯型數(shù)據(jù)長度固定為1位。2024/8/15236.貨幣型(Currency)
用字母Y表示,為存儲貨幣值而使用的一種數(shù)據(jù)類型,它默認保留4位小數(shù),占據(jù)8字節(jié)的存儲空間。7.備注型(Memo)
用字母M表示,用來存放較多字符的數(shù)據(jù)類型。只用于表中字段類型的定義。字段長度固定為4個字節(jié)。實際數(shù)據(jù)存放在與表文件同名的備注文件(.ftp)中,其長度依實際需要而定。8.通用型(General)
用字母G表示,是用來存儲OLE對象的數(shù)據(jù)類型。可以是電子表格、文擋、圖形、聲音等,跟備注型數(shù)據(jù)一樣,它只用于表中字段類型的定義,通用型數(shù)據(jù)字段長度固定為4位。2024/8/1524
二、常量
常量是在命令或程序中可直接引用、具有具體值的數(shù)據(jù)項,其特征是在整個操作過程中它的值和表現(xiàn)形式保持不變。VisualFoxPro按常量取值的數(shù)據(jù)類型,將常量分為6種類型:數(shù)值型常量、貨幣型常量、字符型常量、邏輯型常量、日期型常量、日期時間型常量。
2024/8/1525
1.字符型常量
由任意ASCII字符、漢字和漢字字符組成的字符型數(shù)據(jù),字符型常量又稱為字符串。為與其他類型常量、變量和標識符相區(qū)別,VisualFoxPro要求將字符串中所有字符,用一對雙引號“"”或單引號“'”或方括號“[]”作為定界符對括起來。如:“Iamastudent.”,‘中華人民共和國’,[VisualFoxPro6.0系統(tǒng)]都是字符串。
2024/8/1526
2.日期型常量
日期型常量是表示日期值的數(shù)據(jù),其默認格式是:{mm/dd/[yy]yy}
如{10/01/02}和{10/01/2002}均表示2002年10月1日這一日期常量值。
3.日期時間型常量
VisualFoxPro系統(tǒng)中增加了一種表示日期和時間值的日期時間型常量,其默認格式是:
{mm/dd/[yy]yy[,]hh:mm:ss[a|p]}
其中a和p分別表示AM(上午)和PM(下午)。日期值和日期時間值的輸入格式與輸出格式并不完全相同,特別是輸出格式受系統(tǒng)環(huán)境設置的影響,用戶可根據(jù)應用需要進行相應調整、設置。
2024/8/1527(1)日期格式中的世紀值
通常日期格式中用2位數(shù)表示年份,但涉及到世紀問題就不便區(qū)分。VisualFoxPro提供設置命令進行相應設置。命令格式:
SETCENTURYON|OFF|TO[nCentury]
命令功能:
ON:日期數(shù)據(jù)顯示10位,其中年份4位,即日期值輸出時顯示年份值;
OFF:(默認值)。日期數(shù)據(jù)顯示8位,年份2位,即日期值輸出時不顯示年份值;
TO[nCentury]:指定日期數(shù)據(jù)所對應的世紀值。nCentury是一個1~99的整數(shù),代表世紀數(shù)。
2024/8/1528(2)設置日期顯示格式
用戶可以調整、設置日期值和時間值的顯示輸出格式。既可以用命令方式設置,也可以用菜單方式設置。命令格式:
SETDATE[TO]AMERICAN|ANSI|BRITISH|FRENCH|GERMAN|ITLIAN|JAPAN|USA|MDY|DMY|YMD|SHORT|LONG
命令功能:設置日期型和日期時間型數(shù)據(jù)的顯示輸出格式。系統(tǒng)默認為AMERICAN美國格式。如果日期格式設置為SHORT或LONG格式,VisualFoxPro系統(tǒng)將按Windows系統(tǒng)設置的短日期格式或長日期格式顯示輸出日期數(shù)據(jù),而且SETCENTURY命令的設置被忽略。
2024/8/1529
各種日期格式設置所對應的日期顯示輸出格式,見表2-1所示。
表2-1系統(tǒng)日期格式
設
置
值
日
期
格
式
設
置
值
日
期
格
式
AMERICANmm/dd/yyUSAmm-dd-yyANSIyy.mm.ddMDYmm/dd/yyBRITISH/FRENCHdd//mm/yyDMYdd//mm/yyGERMANdd.mm.yyYMDyy/mm/ddITALIANdd-mm-yySHORTWindows短日期格式JAPANyy/mm/ddLONGWindows長日期格式2024/8/1530
(3)設置日期2000年兼容性
通常日期型和日期時間型數(shù)據(jù)的結果,與SETDATE命令和SETCENTURY命令設置狀態(tài)及當前系統(tǒng)時間有關。由于系統(tǒng)時間與相應設置不同,同一數(shù)據(jù)的結果可能有不同的解釋。如日期值{10/11/12}可以解釋為1912年10月11日、2012年10月11日、1912年11月10日、1910年11月12日或者2010年11月12日等。這顯然會導致系統(tǒng)混亂,而且還可能造成2000年兼容性錯誤,影響系統(tǒng)正常、有效的操作運行。2024/8/1531(4)嚴格的日期格式
VisualFoxPro系統(tǒng)增加了一種所謂嚴格的日期格式。不論哪種設置,按嚴格日期格式表示的日期型和日期時間型數(shù)據(jù),都具有相同的值和表示形式。嚴格的日期格式是:
{^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]}
^符號表明該格式是嚴格的日期格式,并按照YMD的格式解釋日期型和日期時間型數(shù)據(jù),它是嚴格日期格式的標志,不可缺少。有效的日期型和日期時間型數(shù)據(jù)分隔符為:連字符“-”、正斜杠“/”、句點“.”和空格。如{^2002-10-01}、{^2002-10-0110:30:30a},分別表示2002年10月1日及該日上午10時30分30秒這兩個日期數(shù)據(jù)。2024/8/1532
VisualFoxPro系統(tǒng)默認采用嚴格的日期格式,并以此檢測所有日期型和日期時間型數(shù)據(jù)的格式是否規(guī)范、合法。為與早期版本兼容,用戶通過命令或菜單設置改變這一格式。命令設置的命令格式:
SETSTRICTDATETO[0|1|2]
命令功能:0:關閉嚴格的日期格式檢測,即設置日期格式按傳統(tǒng)的嚴格的格式;1:設置嚴格的日期格式檢測(默認值),要求所有日期型和日期時間型數(shù)據(jù)均按嚴格的格式;2:設置與1相同,但如果程序代碼中出現(xiàn)CTOD()和CTOT()函數(shù)時,會出現(xiàn)編譯錯誤。這個設置最適合調試時使用,用來檢測2000年兼容性錯誤;省略:恢復系統(tǒng)默認值,等價于1的設置。2024/8/1533
4.邏輯型常量
邏輯型常量就是表示邏輯判斷結果“真”或“假”的邏輯值。邏輯常量只有真和假兩種,分別用(.t.或.y.)和(.f.或.n.)表示真和假。一般應在表示邏輯常量的字母左右加注圓點符“.”以示區(qū)別。邏輯型常量在內存中占用一個字節(jié)。2024/8/15345.數(shù)值型常量
也稱常數(shù),用來表示一個數(shù)量的大小,由數(shù)字0-9、小數(shù)點和正負符號組成。例如,12.3,-67,3.14等。也可以使用科學計數(shù)法形式表示,例如:6.789*105可表示為6.789E5。6.貨幣型常量
用來表示貨幣值,書寫格式與數(shù)值型類似,但要加上一個前置的符號$。貨幣型數(shù)據(jù)在存儲和計算時,采用4位小數(shù),如果多于4位,那么系統(tǒng)自動四舍五入。貨幣型常量不能用科學計數(shù)法表示。
2024/8/1535
三、變量
變量是在操作過程中可以改變其取值或數(shù)據(jù)類型的數(shù)據(jù)項。在VisualFoxPro系統(tǒng)中變量分為字段變量、內存變量、數(shù)組變量和系統(tǒng)變量4類。此外,作為面向對象的程序語言,VisualFoxPro在進行面向對象的程序設計中引入了對象的概念,對象實質上也是一類變量。確定一個變量,需要確定其三個要素:變量名、數(shù)據(jù)類型和變量值。2024/8/1536
1.命名規(guī)則
在VisualFoxPro系統(tǒng)中,將表示、存儲數(shù)據(jù)的常量、變量、數(shù)組、字段、記錄、對象、表、數(shù)據(jù)庫等,都稱之為數(shù)據(jù)容器。所有數(shù)據(jù)容器均需命名以相互區(qū)別,為規(guī)范各類對象的命名,VisualFoxPro系統(tǒng)推薦了若干“命名規(guī)則”供用戶參考,以提高操作命令與程序的可讀性和規(guī)范性?!袷褂米帜福聞澗€和數(shù)字命名。一般建議不采用漢字命名;●命名以字母或下劃線開頭;除自由表中字段名、索引的TAG標識名最多只能10個字符外,其他的命名可使用1~128個字符;●避免使用VisualFoxPro的保留字;●文件名的命名應遵循操作系統(tǒng)的約定。
2024/8/1537
2.內存變量的賦值
內存變量是在內存中定義的一種單個數(shù)據(jù)元素的臨時性變量。(1)內存變量的數(shù)據(jù)類型內存變量的數(shù)據(jù)類型包括:數(shù)值型、字符型、邏輯型、日期型和日期時間型;(2)內存變量的建立建立內存變量就是給內存變量賦值。內存變量賦值既可定義一個新的內存變量,也可改變已有內存變量的值或數(shù)據(jù)類型。命令格式一:
STORE<表達式>TO<內存變量表>
命令功能:計算<表達式>的值并賦值給各個內存變量。命令格式二:
<內存變量>=<表達式>
命令功能:計算<表達式>的值并賦值給指定內存變量。2024/8/1538
3.表達式的顯示輸出
可以用兩個命令在屏幕上顯示輸出內存變量的值。命令格式:
?|??<表達式表>[AT<列號>]
命令功能:計算表達式表中各表達式的值,并在屏幕上指定位置顯示輸出各式的值。?:先回車換行,再計算并輸出表達式的值;??:在屏幕上當前位置,計算并直接輸出表達式的值;<表達式表>:多個用逗號兩兩分隔的表達式,各表達式的值輸出時,以空格分隔;
AT<列號>子句指定表達式值從指定列開始顯示輸出。AT的定位只對它前面的一個表達式有效,多個表達式必須用多個AT子句分別定位輸出,而且可反序定位。2024/8/1539
4.內存變量的顯示
(1)變量的顯示用?/??命令可以分別顯示單個或一組變量的值。有時用戶還需了解變量其他相關信息,如數(shù)據(jù)類型、作用范圍,或了解系統(tǒng)變量的信息。VisualFoxPro系統(tǒng)提供了相應操作命令。命令格式:
DISPLAY|LISTMEMORY[LIKE<通配符>][TOPRINTER[PROMPT]|TOFILE<文本文件名>][NOCONSOLE]
命令功能:顯示指定變量的信息。2024/8/1540說明:(1)LIKE選項子句可以使用通配符來代替變量名的一部分,以顯示與通配符相符合的變量。有兩種通配符:“?”代表任意一個字符,“*”代表任意多個字符。(2)LIST和DISPLAY的區(qū)別是:前者連續(xù)顯示,后者分屏顯示。(3)TOFILE<文件名>子句功能是將內存變量有關信息送至一個文本文件。TOPRINTER則是送至打印機打印。例:定義并顯示內存變量:STORE"dggaf"TOa1a2={^2004-04-25}c=.t.LISTMEMOLIKEa?2024/8/1541
5.內存變量文件的建立
VisualFoxPro提供相應命令,可用文件形式將某些內存變量保存起來,以便重復使用。命令格式:
SAVETO<變量文件名>[ALLLIKE<通配符>|ALLEXCEPT<通配符>]
命令功能:將指定變量的信息保存到指定的變量文件(*.MEM)中。
ALLLIKE<通配符>:只保存符合通配符條件的所有變量;
ALLEXCEPT<通配符>:只保存不符合通配符條件的所有變量。2024/8/1542
6.內存變量的恢復
需要保存在文件中的變量信息時,必須先恢復到內存后方可使用。命令格式:
RESTOREFROM<變量文件名>[ADDITIVE]
命令功能:將指定變量文件(*.MEM)中變量信息恢復到內存中。
ADDITIVE:省略此項,清除內存所有變量后再恢復文件中變量的信息;加選此項,將變量文件中的變量信息追加到內存現(xiàn)有變量信息中。
7.內存變量的清除
VisualFoxPro系統(tǒng)對定義內存變量的數(shù)量是有限制的,應及時清理,盡量減少內存的占用,定義其他變量。命令格式:
RELEASE<變量表>
RELEASEALL[LIKE<通配符>|EXCEPT<通配符>]
2024/8/1543
8.數(shù)組變量
數(shù)組變量是結構化的變量,是一組具有相同名稱、以下標相互區(qū)分的有序內存變量。一個數(shù)組通常都包含多個數(shù)據(jù)元素。VisualFoxPro系統(tǒng)中只允許使用一維數(shù)組(相當于數(shù)列)和二維數(shù)組(相當于行列式或矩陣)。(1)數(shù)組元素
●數(shù)組中各有序變量(數(shù)據(jù)元素)組成數(shù)組的成員,稱為數(shù)組元素。數(shù)組元素實質上是一個內存變量,也稱數(shù)組變量,它們具有相同變量名即數(shù)組名,彼此以下標區(qū)分;2024/8/1544
●數(shù)組元素的名稱(變量名)用數(shù)組名加下標構成。如AA(1),BB(2,3)分別表示一維數(shù)組AA的第1個元素,二維數(shù)組BB中第2行第3列的元素;●下標必須用圓括號對括;一維數(shù)組的元素只有一個下標,二維數(shù)組的元素有兩個以逗號分隔的下標;●下標必須是非負數(shù)值,可以是常量、變量、函數(shù)或表達式,下標值會自動取整。如AA(1.5),AA(nA1),AA(2+10/3)等;●數(shù)組元素的數(shù)據(jù)類型決定于最后賦值的數(shù)據(jù)類型;不同數(shù)組元素的數(shù)據(jù)類型可以不同;●數(shù)組元素與普通內存變量一樣操作,可以賦值和引用。2024/8/1545
(2)數(shù)組的定義
數(shù)組必須先定義后使用,定義數(shù)組是向系統(tǒng)申請數(shù)組元素在內存中的存儲空間。命令格式:
DIMENSION|DECLARE<數(shù)組名1>(<數(shù)值表達式1>[,<數(shù)值表達式2>])[,<數(shù)組名2>(<數(shù)值表達式3>[,<數(shù)值表達式4>])…]命令功能:定義指定的各個數(shù)組。
(3)數(shù)組的賦值與引用
數(shù)組元素的賦值與引用,與普通內存變量的規(guī)則相同。2024/8/1546
9.字段變量
表由若干記錄構成,每個記錄都包含若干個數(shù)量相同的字段,同一字段在不同記錄中分別對應不同的字段值,因此,字段也是變量。與其他變量不同的是,字段變量是定義在表中的變量,隨表的存取而存取,因而是永久性變量。字段名就是變量名;變量的數(shù)據(jù)類型為VisualFoxPro中任意數(shù)據(jù)類型,字段值就是變量值。2024/8/1547
10.系統(tǒng)變量
系統(tǒng)變量是VisualFoxPro系統(tǒng)特有的內存變量,它由VisualFoxPro系統(tǒng)定義、維護。系統(tǒng)變量有很多,其變量名均以下劃線“_”開始,因此在定義內存變量和數(shù)組變量名時,不要以下劃線開始,以免與系統(tǒng)變量名沖突。系統(tǒng)變量設置、保存了很多系統(tǒng)的狀態(tài)、特性,了解、熟悉并且充分地運用系統(tǒng)變量,會給數(shù)據(jù)庫系統(tǒng)的操作、管理帶來很多方便,特別是開發(fā)應用程序時更為突出,學習時可對此有所關注。2024/8/1548
四、VisualFoxPro的表達式
在VisualFoxPro系統(tǒng)中,表達式是由常量、變量、函數(shù)及其他數(shù)據(jù)單獨或與運算符組成的有意義的運算式子。運算符是對數(shù)據(jù)對象進行加工處理的符號,根據(jù)其處理數(shù)據(jù)對象的數(shù)據(jù)類型,運算符分為算術(數(shù)值)運算符、字符運算符、日期時間運算符、邏輯運算符和關系運算符五類,相應的,表達式也分為算術表達式、字符表達式、日期時間表達式、邏輯表達式和關系表達式五類。常量、變量和函數(shù)可以作為表達式的特例。今后涉及到表達式的描述,除特別指明,均可包含這些特殊的形式。2024/8/1549
在一個表達式中可能包含多個由不同運算符連接起來的、具有不同數(shù)據(jù)類型的數(shù)據(jù)對象,但任何運算符兩側的數(shù)據(jù)對象必須具有相同數(shù)據(jù)類型,否則運算將會出錯;由于表達式中有多種運算,不同的運算順序可能得出不同結果,甚至出現(xiàn)運算錯誤,因此當表達式中包含多種運算時,必須按一定順序施行相應運算,才能保證運算的合理性和結果的正確性、惟一性。用戶也可以通過給表達式加圓括號的方式,改變其默認運算順序。在VisualFoxPro系統(tǒng)中,各類運算的優(yōu)先順序如下:
圓括號>算術和日期運算>字符串運算>關系運算>邏輯運算同一類運算符也有一定的運算優(yōu)先順序,這在各類表達式中分別介紹。如果有多個同一級別的運算,則按在表達式中出現(xiàn)的先后順序進行運算。2024/8/15501.算術表達式
算術表達式又稱數(shù)值表達式,其運算對象和運算結果均為數(shù)值型數(shù)據(jù)。數(shù)值運算符的功能及運算優(yōu)先順序,如表2-2所示。表中運算符按運算優(yōu)先級別從高到低順序排列。表2-2算術運算符運算符功
能表
達
式
舉
例運算結果優(yōu)先級別()圓括號(2-5)*(3+2)-15最高|||最低-取相反數(shù)-(3-8)5**、^乘冪2**5、3^232、9*、/乘、除2*10、25/520、5%取余數(shù)20%50+、-加、減36+19、29-4755、-182024/8/1551
2.字符表達式
字符表達式是由字符運算符將字符型數(shù)據(jù)對象連接起來進行運算的式子。字符運算的對象是字符型數(shù)據(jù)對象,運算結果是字符常量或邏輯常量。表2-3為字符運算符的功能。“+”與“-”都是字符連接運算符,都將兩個字符串順序連接,但“+”是直接連接,“-”則將串1尾部所有空格移到串2尾部后再連接;“$”運算實質上是比較兩個串的包含關系,因此有些書籍中將其歸于關系運算,其作用是比較、判斷串1是否為串2的子串,如果串1是串2的子串,運算結果為“真”,否則為“假”。所謂子串,如果串1中所有字符均包含在串2中、且與串1中排列方式與順序完全一致,則稱串1為串2的子串。2024/8/1552
表2-3字符運算符
兩個連接運算的優(yōu)先級別相同,但高于$的比較運算。運算符功能表達式舉例運算結果+串1+串2:兩串順序相連接’12‘+’56’’1256’-串1-串2:串1尾空格移到串2尾后再順序相連接’12‘-‘56’‘1256‘$串1$串2:串1是否為串2子串‘1234’$‘a(chǎn)12345’‘1234’$‘34512’.T..F.2024/8/15533.日期表達式
由日期運算符將一個日期型或日期時間型數(shù)據(jù)與一個數(shù)值型數(shù)據(jù)連接而成的運算式稱為日期表達式。日期運算符分為“+”和“-”兩種,其作用分別是在日期數(shù)據(jù)上增加或減少一個天數(shù),在日期時間數(shù)據(jù)上增加或減少一個秒數(shù)。兩個運算的優(yōu)先級別相同。例如:?{^2004-05-10}+10?{^2004-05-10}-{^2003-05-10}主屏幕顯示:05/20/04366
2024/8/1554
4.關系表達式
由關系運算符連接兩個同類數(shù)據(jù)對象進行關系比較的運算式稱為關系表達式。關系表達式的值為邏輯值,關系表達式成立則其值為“真”,否則為“假”。表2-4關系運算符
運算符功
能表
達
式
舉
例結果<小于15<4*6.T.>大于‘A’>‘1’.T.=等于2+4=3*5.F.<>、#、!=不等于5<>-10.T.<=小于或等于'abc'<='AB'.F.>=大于或等于{10-10-02}>={10/01/02}.T.==字符串恒同‘a(chǎn)bc’==’abcabc’.F.2024/8/1555
關系運算符的優(yōu)先級別相同。關系表達式運算時,就是比較同類兩數(shù)據(jù)對象的“大小”,對于不同類型的數(shù)據(jù),其“大小”或者是值的大小,或者是先后順序。日期或日期時間數(shù)據(jù)以日期或時間的先后順序為序。在VisualFoxPro系統(tǒng)中,字符型數(shù)據(jù)的比較相對復雜,默認規(guī)則為:(1)單個字符單個字符的比較是以字符ASCII碼的大小作為字符的“大小”,也就是先后順序。(2)字符串兩個字符串進行比較的基本原則是從左到右逐個字符進行比較,但因系統(tǒng)相關設置狀態(tài)不同,比較的結果與預期的不完全相同。2024/8/1556●相等比較:用運算符“=”進行兩串比較時,或者到達右端串的末尾字符為止(當SETEXACTOFF時)或者當?shù)竭_兩串的末端為止(當SETEXACTON時),以判斷兩串是否相等;●恒同比較:用運算符==進行兩串的恒同比較時,不論SETEXACT的設置如何,只有當兩串長度相同,字符相同,排列一致時才成立;●大小比較:用運算符“<”或“>”進行兩串比較時,比較到第1個不相同字符為止,否則,長度較長的串較“大”;●其他比較:除上述運算符之外的其他運算符<>、<=和>=的比較,均可看作是兩個運算符以邏輯“或”的關系構成的復合運算;2024/8/1557
(3)漢字系統(tǒng)默認按漢字的拼音排列漢字的順序,也就是以漢字的拼音順序比較“大小”,因此,漢字比較實質上是以字母的順序進行比較;但VisualFoxPro系統(tǒng)可以設置漢字按筆畫排列順序,因而,漢字的“大小”就決定其筆畫數(shù)的多少。用菜單設置漢字排列順序方式的操作步驟為:單擊【工具】|【選項】命令,將打開“選項”對話框中,在“數(shù)據(jù)”選項卡的“排序序列”下拉列表框中選擇“Stroke”項并確定,系統(tǒng)將按漢字的筆畫數(shù)進行漢字的排序、比較運算。若選擇“Machine”項則字符按機內碼次序排序,漢字在所有西文字符后,漢字內部按國標碼排序。2024/8/1558例:在不同的字符排序設置下比較字符串的大小。
SETCOLLATETO"MACHINE"?"x"<"xyz","x"<"XYZ","x"<"X"
?"湖南"<"湖北","湖"<"湖南","你好"<"您好"
SETCOLLATETO"PINYIN"?"x"<"xyz","x"<"XYZ","x"<"X"
?"湖南"<"湖北","湖"<"湖南","你好"<"您好"SETCOLLATETO"stroke”?"x"<"xyz","x"<"XYZ","x"<"X"
?"湖南"<"湖北","湖"<"湖南","你好"<"您好"
2024/8/1559
5.邏輯表達式
由邏輯運算將邏輯型數(shù)據(jù)對象連接而成的式子稱為邏輯表達式。邏輯表達式的運算對象與運算結果均為邏輯型數(shù)據(jù)。表2-5為邏輯運算符的功能。邏輯運算符前后一般要加圓點“.”標記,以示區(qū)別。表2-5邏輯運算符運算符功
能優(yōu)先級別()圓括號最高||最低.NOT.或!邏輯非.AND.邏輯與.OR.邏輯或2024/8/1560
對于各種邏輯運算,其運算規(guī)則可由邏輯運算真值表確定,表2-6所示就是邏輯運算真值表。
表2-6邏輯運算真值表ABA.AND.BA.OR.B.NOT.A.T..T..T..T..F..T..F..F..T..F..F..T..F..T..T..F..F..F..F..T.2024/8/1561
在VisualFoxPro系統(tǒng)中,經(jīng)常需要與一種特殊的“數(shù)據(jù)”空值(NULL(或.NULL.)打交道。表中字段可根據(jù)需要允許或限制其取空值??罩祵τ谶壿嬤\算的影響如表2-7所示。
表2-7NULL值對邏輯運算的影響邏輯運算A=.T.A=.F.A=.NULLA.AND.NULL.NULL.F..NULL.A.OR.NULL.T..NULL..NULL..NOT.A.F..T..NULL.2024/8/1562
對于兩個邏輯型數(shù)據(jù),一般不用比較的方式來確定它們之間的關系,而是直接運用邏輯運算的方式進行處理。如對表中記錄實施選擇運算時,是用FOR<條件>或WHILE<條件>進行邏輯判斷,其中<條件>就是一個關系表達式或邏輯表達式。對于以邏輯型字段進行邏輯判斷的情況,一般不用關系表達式而直接用邏輯表達式。如“性別”是一個邏輯型字段,并約定“真”表示男性,“假”表示女性。那么判斷某記錄對應人員是否為男性,用FOR性別,而不用FOR性別=.T.,判斷是否為女性,用FOR.NOT.性別,不用FOR性別=.F.。2024/8/1563
6.運算符優(yōu)先級
先執(zhí)行算術運算,字符運算和日期運算,再執(zhí)行關系運算,最后執(zhí)行邏輯運算。當然可以用括號來改變其優(yōu)先級。括號括起來的應優(yōu)先運算。
例:多種表達式運算示例?9>3AND5<3OR"a"$"ab"AND.NOT.f.
主屏幕顯示: .t.?(100%3=1)AND(15-4=0)OR"張"="張三"主屏幕顯示:.f.2024/8/1564第三節(jié)VisualFoxPro常用函數(shù)
VisualFoxPro系統(tǒng)中,函數(shù)是一段程序代碼,用來進行一些特定的運算或操作,支持和完善命令的功能,幫助用戶完成各種操作與管理。VisualFoxPro系統(tǒng)有數(shù)百種不同函數(shù),按函數(shù)提供方式,可分為系統(tǒng)(標準)函數(shù)和用戶自定義函函數(shù),按函數(shù)運算、處理對象和結果的數(shù)據(jù)類型,可分為數(shù)值型函數(shù)、字符型函數(shù)、邏輯型函數(shù)、日期時間型函數(shù)、數(shù)據(jù)轉換函數(shù)等,按函數(shù)的功能和特點,可分為數(shù)據(jù)處理函數(shù)、數(shù)據(jù)庫操作函數(shù)、文件管理函數(shù)、鍵盤和鼠標處理函數(shù)、輸出函數(shù)、窗口界面操作函數(shù)、程序設計函數(shù)、數(shù)據(jù)庫環(huán)境函數(shù)、網(wǎng)絡操作函數(shù)、系統(tǒng)信息函數(shù)、動態(tài)數(shù)據(jù)操作函數(shù)等。2024/8/1565
VisualFoxPro的函數(shù)由函數(shù)名與自變量兩部分組成。標準函數(shù)是VisualFoxPro系統(tǒng)提供的系統(tǒng)函數(shù),其函數(shù)名是VisualFoxPro保留字,自定義函數(shù)是用戶自已定義的函數(shù),函數(shù)名用戶指定;自變量必須用圓括號對括起來,如有多個自變量,各自變量以逗號分隔;有些函數(shù)可省略自變量,或不需自變量,但也必須保留括號;自變量數(shù)據(jù)類型由函數(shù)的定義確定,數(shù)據(jù)形式可以是常量、變量、函數(shù)或表達式等。
函數(shù)是一類數(shù)據(jù)項,除個別(如宏替換)函數(shù)外,函數(shù)都不能像命令一樣單獨使用,只能作為命令的一部分進行操作運算。
2024/8/1566
一、數(shù)值函數(shù)
數(shù)值函數(shù)用于數(shù)值運算,其自變量與函數(shù)都是數(shù)值型數(shù)據(jù)。
1.取絕對值函數(shù)ABS()和符號函數(shù)SIGN()
【格式】ABS(<nExp>)SIGN(<nExp>)【功能】計算nExp的值,并返回該值的絕對值。
SIGN()返回指定數(shù)值表達式的符號。
2.指數(shù)函數(shù)EXP()
【格式】EXP(<nExp>)【功能】求以e為底、nExp值為指數(shù)的冪,即返
回ex的值。
3.取整函數(shù)INT()
【格式】INT(<nExp>)【功能】計算nExp的值,返回該值的整數(shù)部分。2024/8/1567
4.上界函數(shù)CEILING()
【格式】CEILING(<nExp>)【功能】計算nExp的值,返回一個大于或等于該值的最小整數(shù)。
5.下界函數(shù)FLOOR()
【格式】FLOOR(<nExp>)【功能】計算nExp的值,返回一個小于或等于該值的最大整數(shù)。
6.自然對數(shù)函數(shù)LOG()
【格式】LOG(<nExp>)【功能】求nExp的自然對數(shù)。nExp的值必須為正數(shù)。
7.常用對數(shù)函數(shù)
【格式】LOG10(<nExp>)【功能】求nExp的常用對數(shù)。nExp的值必須為正數(shù)。2024/8/1568
8.平方根函數(shù)SQRT()
【格式】SQRT(<nExp>)【功能】求非負nExp的平方根。
9.最大值函數(shù)MAX()和最小值函數(shù)MIN()
【格式】MAX(<nExp1>,<nExp2>[,<nExp3>...])MIN(<nExp1>,<nExp2>[,<nExp3>...])【功能】返回數(shù)值表達式中的最大值MAX()和最小】值MIN()。
10.求余數(shù)函數(shù)MOD()
【格式】MOD(<nExp1>,<nExp2>)【功能】返回nExp1除以nExp2的余數(shù),符號與nExp2
相同。如果兩個表達式符號相異,則函數(shù)值
為兩數(shù)相除的余數(shù)再加上除數(shù)的值。2024/8/1569
11.四舍五入函數(shù)ROUND()
【格式】ROUND(<nExp1>,<nExp2>)【功能】返回nExp1四舍五入的值,nExp2表示保留的小數(shù)位數(shù)。
12.π函數(shù)PI()
【格式】PI()【功能】返回常量π的近似值
13.正弦函數(shù)SIN()
【格式】SIN(<nExp>)【功能】返回nExp的正弦值。nExp以弧度為單位,函數(shù)值域為[-1,1]。
14.余弦函數(shù)COS()
【格式】COS(<nExp>)【功能】返回nExp的余弦值。nExp以弧度為單位,函數(shù)的值域為[-1,1]。2024/8/1570
15.正切函數(shù)TAN()
【格式】TAN(<nExp>)【功能】返回nExp的正切值。nExp以弧度為單位,其值為π/2或-π/2時,系統(tǒng)返回一個絕對值很大的數(shù)。
16.反正弦函數(shù)ASIN()
【格式】ASIN(<nExp>)【功能】返回nExp的反正弦值。自變量值必須在[-1,1]內,函數(shù)值為弧度,且值域為[-π/2,π/2]。
17.反余弦函數(shù)ACOS()
【格式】ACOS(<nExp>)【功能】返回nExp的反余弦值。自變量的值必須在[-1,1]內,函數(shù)值為弧度,值域為[-π/2,π/2]。
18.反正切函數(shù)ATAN()
【格式】ATAN(<nExp>)【功能】返回nExp的反正切值。函數(shù)值為弧度,值域為(-π/2,π/2)。2024/8/1571分析下例各命令的執(zhí)行結果:例1:a=3?ABS(10-a),ABS(a-10),SIGN(10-a),SIGN(a-10)例2:x=6.9?INT(x),INT(-x),CEILING(x),CEILING(-x),FLOOR(x),FLOOR(-x)
例3:
x=314.356?ROUND(x,2),ROUND(x,1),ROUND(x,0),ROUND(x,-1)
例4:?MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3)例5:
MOD()函數(shù)與INT()函數(shù)使用示例x=356x1=INT(x/100)x2=INT(MOD(x,100)/10)x3=MOD(x,10)?x1,x2,x3
2024/8/1572二、字符函數(shù)
字符函數(shù)是處理字符型數(shù)據(jù)的函數(shù),其自變量或函數(shù)值中至少有一個是字符型數(shù)據(jù)。函數(shù)中涉及的字符型數(shù)據(jù)項,均以cExp表示。
1.子串位置函數(shù)【格式】AT(<cExp1>,<cExp2>[,<nExp>])【功能】返回串cExp1在串cExp2中的起始位置。函數(shù)值為整數(shù)。如果串cExp2不包含串cExp1,函數(shù)返回值為零。第三個參數(shù)數(shù)值表達式用于表明要搜索字符表達式1在字符表達式2中第幾次出現(xiàn),其默認值為1,可缺省。
例如,a="ThisisVisualFoxPro"?AT("fox",a),ATC("fox",a),AT("is",a,3),AT("th",a)
主屏幕顯示:016100
2024/8/1573
2.取子串函數(shù)
【格式】1)LEFT(<cExp>,<nExp>)2)RIGHT(<cExp>,<nExp>)3)SUBSTR(<cExp>,<nExp1>[,<nExp2>])【功能】1)返回從cExp串中第一個字符開始,截取nExp
個字符的子串。2)返回從cExp串中右邊第一個字符開始,截取nExp個字符的子串。3)返回從串cExp中第nExp1個字符開始,截取nExp2個字符的子串。例如,a="ThisisVisualFoxPro"?LEFT(a,3),RIGHT(a,4),SUBSTR(a,6,2)+SUBSTR(a,9)主屏幕顯示:
ThixProisVisualFoxPro2024/8/1574
3.字符串長度函數(shù)LEN()【格式】LEN(<cExp>)【功能】返回cExp串的字符數(shù)(長度)。函數(shù)值為N型。
4.刪除字符串前后空格函數(shù)【格式】1)LTRIM(<cExp>)2)RTRIM|TRIM(<cExp>)3)ALLTRIM(<cExp>)
【功能】1)刪除cExp串的前導空格字符。2)刪除cExp串尾部空格字符。3)刪除字符串前導和尾部空格后的字符串。
5.空格函數(shù)SPACE()【格式】SPACE(<nExp>)【功能】返回一個包含nExp個空格的字符串。2024/8/1575
6.字符串替換函數(shù)STUFF()
【格式】STUFF(<cExp1>,<nExp1>,<nExp2>,<cExp2>)【功能】從nExp1指定位置開始,用cExp2串替換cExp1串中nExp2個字符。例如,a="ThisisVisualFoxPro"b="xxx"?STUFF(a,6,2,b)?STUFF(a,6,0,b)?STUFF(a,6,2,"")主屏幕顯示:ThisxxxVisualFoxProThisxxxisVisualFoxProThisVisualFoxPro2024/8/15767.字符復制函數(shù)REPLICATE()
【格式】REPLICATE(<cExp>,<nExp>)【功能】返回將cExp串重復nExp次的字符串。
8.計算子串出現(xiàn)次數(shù)函數(shù)OCCURS()
【格式】OCCURS(<cExp1>,<cExp2>)【功能】返回第一個字符串在第二個字符串中出現(xiàn)的次數(shù)。
例如,a="ThisisVisualFoxPro"?OCCURS("is",a),OCCURS("fox",a),OCCURS("o",a)主屏幕顯示:3022024/8/15779.大小寫轉換函數(shù)LOWER()和UPPER()【格式】LOWER(<cExp>)UPPER(<cExp>)【功能】LOWER()將cExp串中字母全部變成小寫字母,UPPER()將cExp串中字母全部變成大寫字母,其它字符不變。例如,?LOWER("ABCxyz"),UPPER("abcefg123")主屏幕顯示:
abcxyzABCEFG123
10.宏替換函數(shù)&【格式】&<cVar>[.<cExp>]【功能】替換出字符型變量cVar中字符。2024/8/157811.字符替換函數(shù)
【格式】CHRTRAN(字符表達式1,字符表達式2,字符表達式3)
【功能】當?shù)谝粋€字符串中的一個或多個字符與第二個字符串中的某個字符相匹配時,就用第三個字符串中對應(相同位置)的字符替換這些字符。如果第三個串字符包含的字符個數(shù)少于第二個字符串包含的字符個數(shù),因而沒有對應字符,那么第一個字符串中相匹配的字符將被刪除。如果第三個字符串包含的字符個數(shù)多于第二個字符串包含的字符個數(shù),多余的字符被忽略。例如,?CHRTRAN("abcdef","bdf","123")
主屏幕顯示:
a1c2e3
?CHRTRAN("abcdef","bdf","12"),主屏幕顯示:
a1c2e?CHRTRAN("中華人民共和國","華和","1234")主屏幕顯示:中12人民共34國
2024/8/1579三、日期時間函數(shù)
日期時間函數(shù)是處理日期型或日期時間型數(shù)據(jù)的函數(shù)。其自變量為日期型表達式dExp或日期時間型表達式tExp。
1.系統(tǒng)日期函數(shù)DATE()【格式】DATE()【功能】返回當前系統(tǒng)日期,此日期由Windows系統(tǒng)設置。函數(shù)值為D型。
2.系統(tǒng)時間函數(shù)TIME()【格式】TIME([<nExp>])【功能】返回當前系統(tǒng)時間,時間顯示格式為hh:mm:ss。若選擇了nExp,則不管為何值,返回的系統(tǒng)時間還包括秒的小數(shù)部分,精確至小數(shù)點后兩位。函數(shù)值為C型。2024/8/1580
3.日期函數(shù)DAY()【格式】DAY(<dExp>)【功能】返回dExp式中的天數(shù)。函數(shù)值為N型
4.星期函數(shù)DOW()、CDOW()【格式】DOW(<dExp>)CDOW(<dExp>)【功能】DOW()函數(shù)返回dExp式中星期的數(shù)值,用1~7表示星期日~星期六。函數(shù)值為N型。CDOW()函數(shù)返回dExp式中星期的英文名稱。函數(shù)值為C型。
5.月份函數(shù)MONTH()、CMONTH()【格式】MONTH(<dExp>)CMONTH(<dExp>)【功能】MONTH()函數(shù)返回dExp式中月份數(shù)。函數(shù)值為N型。CMONTH()函數(shù)則返回月份的英文名。函數(shù)值為C型。
6.年份函數(shù)YEAR()【格式】YEAR(<dExp>)【功能】函數(shù)返回dExp式中年份值。函數(shù)值為N型。2024/8/15817.求時、分、秒函數(shù)
【格式】1)HOUR(<dExp>)2)MINUTE(<dExp>)3)SEC(<dExp>)
【功能】1)HOUR()函數(shù)返回日期時間型表達式所對應的小時部分。2)MINUTE()函數(shù)返回日期時間型表達式所對應的分鐘部分。3)SEC()函數(shù)返回日期時間型表達式所對應的秒鐘部分。例如,x={^2004-06-20,05:25:45p}?HOUR(x),MINUTE(x),SEC(x)
主屏幕顯示:1725452024/8/1582
四、轉換函數(shù)
在數(shù)據(jù)庫應用的過程中,經(jīng)常要將不同數(shù)據(jù)類型的數(shù)據(jù)進行相應轉換,滿足實際應用的需要。VisualFoxPro系統(tǒng)提供了若干個轉換函數(shù),較好地解決了數(shù)據(jù)類型轉換的問題。
1.ASCII碼函數(shù)ASC()【格式】ASC(<cExp>)【功能】返回cExp串首字符的ASCII碼值。函數(shù)值為N型。
2.ASCII字符函數(shù)CHR()【格式】CHR(<nExp>)【功能】返回以nExp值為ASCII碼的ASCII字符。
函數(shù)值為C型。例如,?CHR(ASC("M")+ASC("a")-ASC("A"))2024/8/1583
3.字符日期型轉換函數(shù)CTOD()
【格式】CTOD(<cExp>)【功能】把“××/××/××”格式的cExp串轉換成對應日期值。函數(shù)值為D型。
4.日期字符型轉換函數(shù)DTOC()
【格式】DTOC(<dExp>[,1])【功能】把日期dExp轉換成相應的字符串。函數(shù)值為C型。
5.數(shù)值字符型轉換函數(shù)STR()
【格式】STR(<nExp1>[,<nExp2>][,<nExp3>])【功能】將nExp1的數(shù)值轉換成字符串形式。函數(shù)值為C型。
6.字符數(shù)值型轉換函數(shù)VAL()
【格式】VAL(<cExp>)【功能】將cExp串中數(shù)字轉換成對應數(shù)值,轉換結
果取兩位小數(shù)。函數(shù)值為N型。2024/8/15847.宏替換函數(shù)
【格式】&字符型變量[.]【功能】替換出字符變量的內容。如果該函數(shù)與其后的字符無明確分界,則要用“.”作為函數(shù)結束標記。例如,a="5"
b="6"
c56="good"
good=123456
?c&a.&b,&c56
主屏幕顯示:
good1234562024/8/1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技引領下的宇宙探索進展
- 二零二五年度車輛融資租賃合同違約責任答辯狀樣本8篇
- 二零二五年度車輛買賣合同含車輛綠色環(huán)保認證3篇
- 二零二五年度草坪圍欄施工與城市排水系統(tǒng)配套合同2篇
- 2025年度個人知識產(chǎn)權代理傭金協(xié)議4篇
- 二零二五年度櫥柜衣柜模塊化設計生產(chǎn)合同4篇
- 2025年度個人車位買賣合同范本(寫字樓)3篇
- 高效體育訓練學生體能提升的秘密武器
- 2025年度綠色有機牛奶產(chǎn)銷一體化合作合同范本4篇
- 二零二五年度城市綠化蟲害防治合同范本3篇
- 2024中國南光集團限公司校園招聘高頻難、易錯點500題模擬試題附帶答案詳解
- 2024-2030年中國氣凝膠干凝膠市場發(fā)展戰(zhàn)略與未來投資競爭力剖析研究報告
- 新客戶建檔協(xié)議書范文范本
- 2024簡單的租房合同樣本下載
- 2024-2030年中國AI智能鼠標市場營銷模式與競爭前景分析研究報告
- 中考數(shù)學計算題練習100道(2024年中考真題)
- DL-T499-2001農村低壓電力技術規(guī)程
- 【家庭教育】0-3歲嬰幼兒早教訓練方案
- 國家中長期科技發(fā)展規(guī)劃(2021-2035)
- 虛擬電廠平臺建設方案
- 詩經(jīng)《氓》上課用講解課件
評論
0/150
提交評論