Foxro常用函數(shù)及應用_第1頁
Foxro常用函數(shù)及應用_第2頁
Foxro常用函數(shù)及應用_第3頁
Foxro常用函數(shù)及應用_第4頁
Foxro常用函數(shù)及應用_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2.3FoxPro常用函數(shù)及應用

FoxPro提供了大量的函數(shù)(也稱為內(nèi)部函數(shù)),每個函數(shù)可以完成一個特定的加工過程,并返回一個值。

FoxPro內(nèi)部函數(shù)的調(diào)用格式如下:函數(shù)名(參數(shù)1,參數(shù)2,…,參數(shù)n)

每個函數(shù)都規(guī)定了不同的參數(shù)個數(shù)、順序和類型,調(diào)用時必須在個數(shù)、次序、類型上和規(guī)定的一致。每個參數(shù)都可以用常量、變量或表達式(包括函數(shù))來代替,如果函數(shù)無參數(shù),函數(shù)名后的圓括號也不能夠省略(宏代換函數(shù)&是唯一的例外)。使用函數(shù),必須注意三個問題:函數(shù)的調(diào)用格式;參數(shù)的個數(shù)及其數(shù)據(jù)類型;函數(shù)返回值的類型。2.4.2命令的書寫規(guī)則使用FoxPro命令時應遵循如下規(guī)則:⑴每條命令必須以命令動詞開頭,且必須符合命令的語法格式。⑵限制性短語在命令行中出現(xiàn)的先后次序無關緊要。⑶命令動詞與限制性短語之間、子句與子句之間以及各個選項之間必須至少用一個空格隔開。

⑷命令中的字母不分大小寫⑸一條命令的最大長度可以為2048個字符,如果命令較長可分多行書寫,但必須在每行的結(jié)尾使用分行符“;”(最后一行不用)。⑹一行內(nèi)只允許寫一條命令,每條命令用回車符作為結(jié)束標志。建立數(shù)據(jù)庫定義數(shù)據(jù)庫的結(jié)構(gòu),即確定數(shù)據(jù)庫的字段名(Name)、字段類型(Type)、字段寬度(Width)和小數(shù)位數(shù)(Dec)。字段名是某個字段的名字,在一個數(shù)據(jù)庫文件中必須唯一。字段名必須以字母開頭,后跟字母、數(shù)字或下劃線,最多可達10個字符。字段名中不允許有空格,且不分大小寫字母,F(xiàn)oxPro一律看作大寫。在中文版FoxPro中,允許使用漢字作為字段名(一個漢字占兩個字符的寬度)。

字段類型是指該字段所存放的數(shù)據(jù)的類型。Foxpro2.5/2.6所支持的數(shù)據(jù)類型包括:字符型(C)、數(shù)值型(N)、浮點型(F)、日期型(D)、邏輯型(L)、備注型(M)和通用型(G)。

字段寬度說明該字段允許存放對象的最大字符數(shù)。字符型字段的寬度為1~254。數(shù)值型和浮點型字段的寬度為1~20。系統(tǒng)自動設置邏輯型、日期型字段的寬度分別為1和8。備注型字段的長度僅受磁盤可用空間的限制.小數(shù)位數(shù)僅用于數(shù)值型和浮點型字段,允許取值0~15,有效位數(shù)為16位,統(tǒng)計寬度時,小數(shù)點本身也占一個字符。打開數(shù)據(jù)庫──USEUSE[<文件名>|?][IN<數(shù)值表達式1>][AGAIN][INDEX<索引文件名表>|?[ORDER[<數(shù)值表達式2>|<idx索引文件>|[TAG]<索引標識名>[OF<cdx索引文件>][ASCENDING|DESCENDING]]]][ALIAS<別名>][EXCLUSIVE][SHARED][NOUPDATE]

2.4FoxPro命令的格式及書寫規(guī)則每條Foxpro命令都有其特定的語法結(jié)構(gòu),用以說明為實現(xiàn)該命令的功能所必須包含和可以任選的成分。一條典型的操作命令由命令動詞、操作對象和限制性短語三部分組成。

⒈命令動詞所有命令都以命令動詞開頭,它規(guī)定了命令要完成的功能。命令動詞通常為一個英文動詞,該動詞的英文含義表示要執(zhí)行的操作。例如,HELP(幫助命令)、DO(執(zhí)行命令)。⑷REST操作對象為從當前記錄開始直到最后的所有記錄

⒊限制性短語限制性短語規(guī)定對操作的種種限制,包括條件限制(FOR、WHILE)、數(shù)據(jù)來源限制(FROM、WITH)和輸出結(jié)果去向限制(TO)等。例如:

DISPLAYNEXT20FIELDS姓名,職稱,工作單位FOR"教授"$職稱TOPRINT操作對象指出命令所作作用的對象,,可以是字段段名、操作范范圍、文件名名等。其中,,操作范圍規(guī)規(guī)定了命令所所作用的記錄錄的范圍。有有如下四種情情況:⑴ALL操作對象為全全部記錄⑵NEXT<n>操作對象為從從當前記錄開開始的連續(xù)n條記錄⑶RECORD<n>操作對象為第第n條記記錄錄顯示示數(shù)數(shù)據(jù)據(jù)庫庫記記錄錄LIST/DISPLAY[FIELDS<表達達式式列列表表>][<范范圍圍>][FOR<邏輯輯表表達達式式1>][WHILE<邏輯輯表表達達式式2>][OFF][NOCONSOLE][NOOPTIMIZE][TOPRINTER[PROMPT]|TOFILE<文件件>]⑴省省略略<范范圍圍>和和<條條件件>,,對對LIST,,默認認范范圍圍為為ALL;;對DISPLAY,,默認認為為當當前前記記錄錄。。⑵當當SETDELETE設置置為為ON時,,邏邏輯輯刪刪除除的的記記錄錄不不會會顯顯示示出出來來。。⑶帶帶OFF選項項不不顯顯示示記記錄錄號號。。⑷WHILE<邏輯輯表表達達式式2>顯顯示示連連續(xù)續(xù)符符合合條條件件的的記記錄錄,,直直到到<邏邏輯輯表表達達式式2>為為假假,,即即使使其其后后仍仍有有使使<邏邏輯輯表表達達式式2>為為真真的的記記錄錄也也不不再再顯顯示示。。⑸FOR<邏輯輯表表達達式式1>顯顯示示指指定定范范圍圍內(nèi)內(nèi)符符合合本本條條件件的的所所有有記記錄錄。。⑹使使用用TOPRINTER[PROMPT]/TOFILE<文件件>選選項項可可將將數(shù)數(shù)據(jù)據(jù)庫庫記記錄錄送送到到打打印印機機或或存存入入指指定定的的磁磁盤盤文文件件((缺缺省省擴擴展展名名為為.TXT))中。。加加入入PROMPT可打打開開一一個個對對話話框框,,以以設設定定打打印印機機的的狀狀態(tài)態(tài)及及份份數(shù)數(shù)等等,,該該參參數(shù)數(shù)只只適適用用于于FoxProforWindows。。⑺使用NOCONSOLE選項可可使數(shù)數(shù)據(jù)在在打印印或存存人磁磁盤文文件的的同時時不顯顯示在在屏幕幕上,,加入入NOOPTIMIZE參數(shù)將將不用用Rushmore優(yōu)化技技術。。記錄的的定位位與順順序查查找1.絕對定定位───GO││GOTOGO/GOTO[RECORD]<數(shù)值值表表達達式式1>[IN<數(shù)值值表表達達式式2>|IN<字符符表表達達式式1>]或者者GO/GOTOTOP|BOTTOM[IN<數(shù)值值表表達達式式2>|IN<字符符表表達達式式2>]⑴<數(shù)數(shù)值值表表達達式式1>的的值值必必須須大大于于0且且小小于于或或等等于于數(shù)數(shù)據(jù)據(jù)庫庫中中的的記記錄錄個個數(shù)數(shù)。。⑵GOTOP將記記錄錄指指針針指指向向第第一一條條記記錄錄;;GOBOTTOM將記記錄錄指指針針指指向向最最后后一一條條記記錄錄。。⑶IN<數(shù)值值表表達達式式2>/IN<字符符表表達達式式>表表示示在在不不退退出出本本工工作作區(qū)區(qū)的的情情況況下下移移動動別別的的工工作作區(qū)區(qū)中中的的記記錄錄指指針針。。⑷若若數(shù)數(shù)據(jù)據(jù)庫庫建建了了索索引引,,則則GOTOP指向向關關鍵鍵值值最最小小的的記記錄錄,,GOBOTTOM指向向關關鍵鍵值值最最大大的的記記錄錄。。2.相相對對定定位位────SKIP【格式式】】SKIP[<數(shù)值值表表達達式式1>][IN<數(shù)值值表表達達式式2>|<字字符符表表達達式式>]【功功能能】】在在當當前前或或指指定定的的數(shù)數(shù)據(jù)據(jù)庫庫中中向向前前或或向向后后移移動動記記錄錄指指針針。?!菊f明】⑴<數(shù)值表達達式1>確定定記錄指針移移動的記錄數(shù)數(shù),為正數(shù)則則向后移;為為負數(shù)則向前前移,若省略略,則向后移移一條記錄。。⑵可在當前工工作區(qū)中移動動其它工作區(qū)區(qū)中數(shù)據(jù)庫的的記錄指針。。⑶數(shù)據(jù)庫的第第一條記錄不不是文件頭,,只有執(zhí)行SKIP-1后才才到到達達文文件件頭頭,,即即BOF()值為為.T.,,RECNO()為1;;同同樣樣,,最最后后一一條條記記錄錄不不是是文文件件尾尾,,只只有有執(zhí)執(zhí)行行SKIP后,,才才到到文文件件尾尾,,即即EOF()值為為.T.。。3..條條件件定定位位────LOCATE【格式式】】LOCATEFOR<邏輯輯表表達達式式1>[<范范圍圍>][WHILE<輯表表達達式式2>][NOOPTIMIZE]【功能能】】條條件件查查詢詢數(shù)數(shù)據(jù)據(jù)庫庫中中第第一一個個滿滿足足給給定定條條件件的的記記錄錄。?!菊f說明明】】⑴該該命命令令只只能能找找到到滿滿足足條條件件的的第第一一條條記記錄錄,,此此時時FOUND()函數(shù)數(shù)返返回回.T.,,EOF()返回回.F.。。⑵可用用CONTINUE連續(xù)續(xù)查查找找是是否否還還有有滿滿足足條條件件的的記記錄錄,,若若無無,,則則FOUND()函數(shù)數(shù)返返回回.F.,,EOF()返回回.T.。。⑶命令令中中省省略略范范圍圍時時默默認認為為ALL。。⑷其余余選選項項功功能能同同前前。。3.2.4插插入入記記錄錄【格格式式】】INSERT[BEFORE][BLANK]【功能能】】在在當當前前記記錄錄的的后后面面插插入入一一條條新新記記錄錄且且立立即即顯顯示示此此新新記記錄錄用用于于編編輯輯。?!菊f說明明】】⑴加加上上BEFORE則所所插插入入的的記記錄錄會會放放于于當當前前記記錄錄指指針針所所指指的的記記錄錄前前面面,,且且用用于于編編輯輯,,若若SETCARRY設置為ON,則上一條條記錄的的內(nèi)容會會自動帶帶到新的的記錄中中。(2)BLANK用來向當當前數(shù)據(jù)據(jù)庫的當當前記錄錄之后((前)插插入一條條空記錄錄。3.2.5刪刪除記記錄對于無用用的記錄錄,可以以刪除它它。在FoxPro中,刪除除分為邏邏輯刪除除和物理理刪除。。邏輯刪刪除的記記錄還可可以恢復復,而物物理刪除除的記錄錄則不能能恢復。。1.邏輯輯刪除記記錄───DELETE【格式】DELETE[<范圍>][FOR<邏輯表達達1>][WHILE<邏輯表達達2>][NOOPTIMIZE]【功能】在在當前的的數(shù)據(jù)庫庫中給要要刪除的的記錄做做刪除標標記?!菊f明】】⑴給要刪刪除的記記錄做刪刪除標記記,但并并未從數(shù)數(shù)據(jù)庫中中真正刪刪除記錄錄。⑵省略<范圍>和<條條件>,,則默認認為當前前記錄。。⑶其它選選項同前前。2.恢恢復記錄錄──RECALL【格式】RECALL[<范圍>][FOR<邏輯表達達式1>][WHILE<邏輯表達達式2>][NOOPTIMIZE]【功能】將將數(shù)據(jù)庫庫中標有有刪除標標記的記記錄恢復復(還原原)【說明】】恢復當當前選擇擇的數(shù)據(jù)據(jù)庫中范范圍為符符合條件件的做了了刪除標標記的記記錄,意意即刪除除標記被被取消,,省略<范圍>和<條條件>時時,默認認為當前前記錄。。3.物理理刪除記記錄───PACK/ZAP【格式一】】PACK[MEMO][DBF]【功能】把把當前打打開的數(shù)數(shù)據(jù)庫文文件中做做過刪除除標記的的記錄真真正刪除除掉?!菊f明】】⑴一旦執(zhí)執(zhí)行PACK命令,被被刪除的的記錄不不能再使使用RECALL命令恢復復。(2)使使用MEMO選項只清清除備注注文件中中的多余余空白,,以減小小備注文文件的大大小,但但不刪除除帶“標標記”的的記錄;;使用DBF選項只刪刪除帶““標記””的記錄錄,但不不清除備備注文件件中的多多余空白白;不帶帶MEMO和DBF選項,則則可以同同時刪除除帶“標標記”的的記錄和和備注文文件中的的空白。?!靖袷蕉縕AP【功能】刪刪除當前前打開的的數(shù)據(jù)庫庫中所有有的記錄錄?!菊f明】】ZAP命令將當當前數(shù)據(jù)據(jù)庫中的的所有記記錄真正正刪除,,僅留下下數(shù)據(jù)庫庫結(jié)構(gòu)。。ZAP等價于DELETEALL和PACK命令。3.2.6自自動替替換字段段【格式】】REPLACE<字段1>WITH<表達式1>[ADDITIVE][,<字段2>WITH<表達式2>[ADDITIVE]...][<范圍>][FOR<邏輯表達達式1>][WHILE<邏輯表達達式2>

溫馨提示

  • 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

提交評論