




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄第1章VisualFoxPro6.0概述第2章基本數(shù)據(jù)元素第3章數(shù)據(jù)庫的基本操作第4章數(shù)據(jù)處理與SQL第5章程序設(shè)計基礎(chǔ)第6章查詢與視圖
學(xué)習要點1、數(shù)據(jù)庫的基本術(shù)語和概念。2、常用文件類型和數(shù)據(jù)類型3、VisualFoxPro的命令格式。4、VisualFoxPro文件的基本命名方法。5、常用的文件類型和數(shù)據(jù)類型以及基本概念。第1章VisualFoxPro6.0概述1.1VisualFoxPro6.0發(fā)展概述
1.2數(shù)據(jù)庫系統(tǒng)概述
1.3常用文件類型和數(shù)據(jù)類型
1.4文件命名方法和命令構(gòu)成
返回
第1章VisualFoxPro6.0概述退出
1.1VisualFoxPro6.0發(fā)展概述1、1986年6月推出了FoxBASE+1.0版2、1987年7月推出了FoxBASE+2.0版3、1988年7月推出了FoxBASE+2.1版4、1992年下半年推出了FoxPro2.5版5、1994年下半年推出了FoxPro2.6版6、1995年6月推出了VisualFoxPro3.07、1996年8月推出了VisualFoxPro5.08、1998年9月推出了VisualFoxPro6.0返回1.2數(shù)據(jù)庫系統(tǒng)概述
1.2.1數(shù)據(jù)庫技術(shù)的術(shù)語1.2.2數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)1.2.3數(shù)據(jù)模型退出
返回
1.2.4關(guān)系數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)的術(shù)語1、數(shù)據(jù)庫:數(shù)據(jù)庫(Database,簡記為DB)是長期存儲在計算機內(nèi)、有組織的、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。2、數(shù)據(jù)庫管理系統(tǒng):數(shù)據(jù)庫管理系統(tǒng)(DatabaseManagementSystem,簡記為DBMS)是位于用戶與操作系統(tǒng)(OS)之間的一層數(shù)據(jù)管理軟件3、數(shù)據(jù)庫技術(shù):數(shù)據(jù)庫技術(shù)是研究數(shù)據(jù)庫的結(jié)構(gòu)、存儲、設(shè)計、管理和使用的一門軟件學(xué)科。
4、數(shù)據(jù)庫系統(tǒng):數(shù)據(jù)庫系統(tǒng)(DatabaseSystem,簡記為DBS)是實現(xiàn)有組織地、動態(tài)地存儲大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計算機硬件、軟件和數(shù)據(jù)資源組成的系統(tǒng),即它是采用數(shù)據(jù)庫技術(shù)的計算機系統(tǒng)。DBS包含DBMS和DB。
返回數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)
傳統(tǒng)的數(shù)據(jù)庫有3類:層次數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫。它們分別采用樹、圖和線性表3種不同數(shù)據(jù)結(jié)構(gòu)。VFP6屬于關(guān)系數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu):如某學(xué)院有:機電工程系、計算機系、化學(xué)工程系……每個系通過系代碼、系名、系地址、系電話、教研室設(shè)置等數(shù)據(jù)來描述。表示關(guān)系數(shù)據(jù)庫要采用線性表形式組織數(shù)據(jù)。
每個系下設(shè)若干個教研室,如機電工程系下設(shè)應(yīng)用電子、自動控制、機械制造、制圖等教研室;計算機系下設(shè)軟件工程、計算機應(yīng)用等教研室;化學(xué)工程系下設(shè)無機化工、有機化工等教研室。每個教研室有室代碼、室名、室電話等數(shù)據(jù)表現(xiàn)其屬性。教研室負責管理教師和學(xué)生假設(shè)應(yīng)用電子教研室有何、王、李等老師,有A1、B1、C1等學(xué)生;自動控制教研室有寸、黃、陳等老師,有A2、B2、C2、D2等學(xué)生,等等。教師用職工號、姓名、性別等描述,學(xué)生用學(xué)號、姓名、性別等描述。則有表3和表4
每一個表稱為一個關(guān)系;表的每一行稱為一條記錄,代表一個實體;表的每一列稱為字段或數(shù)據(jù)項,代表實體的一個屬性。學(xué)生到課程之間的關(guān)聯(lián)關(guān)系,如圖1-2所示。課程到學(xué)生之間的關(guān)聯(lián)關(guān)系,如圖1-3所示。同時涉及兩個方向關(guān)系時可采用線性表結(jié)構(gòu)。例如,作如下設(shè)計:在前面所舉各表基礎(chǔ)上增加課程表包括課程號、課程名、開課單位等,結(jié)構(gòu)如表1-5所示。再設(shè)計一個如表1-6所示成績表將表1-4和表1-5聯(lián)系起來。返回1.2.3數(shù)據(jù)模型
1、數(shù)據(jù)模型的定義設(shè)計數(shù)據(jù)庫系統(tǒng)時,一般先用圖或表的形式抽象地反映數(shù)據(jù)彼此之間的關(guān)系,這個過程稱為建立數(shù)據(jù)模型,所建立的圖或表及其關(guān)系稱為數(shù)據(jù)模型。
常用的數(shù)據(jù)模型一般可分為兩類,一是語義數(shù)據(jù)模型,如實體-聯(lián)系模型(E-R模型),面向?qū)ο竽P偷?;二是?jīng)典數(shù)據(jù)模型,如層次模型,網(wǎng)狀模型,關(guān)系模型等。2、數(shù)據(jù)之間的聯(lián)系
一對一聯(lián)系;一對多聯(lián)系;多對多聯(lián)系3、實體-聯(lián)系模型(Entity-RelationshipModel)
該模型是P.PS.Chen于1976年提出的一種概念模型,用E-R圖來描述一個系統(tǒng)中的數(shù)據(jù)及其之間關(guān)系。一個學(xué)校的系、教研室、教師、學(xué)生、課程之間的E-R模型N
N
1
N
系代碼
系名
領(lǐng)導(dǎo)
室代碼
室名
開課
管理
學(xué)生
學(xué)號
姓名
性別
所屬
課程
N
成績
M
1
1
教師
教學(xué)
N
姓名性別職工號分數(shù)
課程號主選教材
大綱
教研室
系
N
在E-R圖中,用長方形表示實體集,在長方形框內(nèi)寫上實體名。
用菱形表示實體間聯(lián)系,菱形框內(nèi)寫上聯(lián)系名。
用無向邊把菱形和有關(guān)實體相連接,在無向邊旁標上聯(lián)系的類型,如1或M或N。
用橢圓形表示實體或聯(lián)系的屬性,如用橢圓形將它與一個相應(yīng)實體間以無向邊相連。實體聯(lián)系聯(lián)系的類型屬性4、關(guān)系數(shù)據(jù)模型(RelationalModel)用二維表格數(shù)據(jù)(即集合論中的關(guān)系)來表示實體和實體間聯(lián)系的模型叫關(guān)系數(shù)據(jù)模型。5、面向?qū)ο竽P停∣bjectRelationalModel)用對象、屬性、方法來表示實體和實體間聯(lián)系的模型叫面向?qū)ο竽P?。?)對象對象是現(xiàn)實世界中實體的模型化。每個對象都有一個惟一的標識符,把狀態(tài)和行為封裝在一起。(2)類將屬性集和方法集相同的所有對象組合在一起,構(gòu)成了一個“類”。一個類可以從層次的直接或間接祖先那里繼承所有的屬性和方法。返回1.2.4關(guān)系數(shù)據(jù)庫1、基本概念(1)關(guān)系數(shù)據(jù)庫
按關(guān)系數(shù)據(jù)模型組織的數(shù)據(jù)庫是關(guān)系數(shù)據(jù)庫,其理論基礎(chǔ)是集合代數(shù)。按集合代數(shù)理論,關(guān)系名及其屬性序列稱為關(guān)系模式。
例如,一個名為Student的關(guān)系,其屬性有Student_ID,Name,Sex,Birthday,Classes,Dormitory,Phonenumber,則關(guān)系模式可簡單寫成Student(Student_ID,Name,Sex,Birthday,Classes,Dormitory,Phonenumber)。它的一個屬性或若干屬性構(gòu)成的屬性組取值的集合稱為域,或者說,域是值的集合。
關(guān)系是一個元素為k(k≥1)的元組集合,即這個關(guān)系中有若干個元組,每個元組有k個屬性值。若把關(guān)系看成是一個集合,則集合中的元素是元組。
更直觀地理解,可將關(guān)系看成是一張二維表格。如表1-8所示是一張Student表。
①關(guān)系(表)可以看成是由行和列交叉組成的二維表格。②表中一行稱為一個元組,可用來表示實體集中的一個實體。③表中的列稱為屬性。給每一列起一個名稱即屬性名,表中的屬性名不能相同。④列的取值范圍稱為域,同列具有相同的域。例如,Sex列的取值范圍是{男,女}。Student_ID列和Phonenumber列都為字符域(都是數(shù)字型字符)。
⑤表中任意兩行(元組)不能完全相同。能惟一標識表中不同行的屬性(組)稱為主屬性(組)或主關(guān)鍵字。(2)候選關(guān)鍵字與主屬性①候選關(guān)鍵字
如果一個屬性(組)能惟一標識元組,且又不含有其余的屬性,那么這個屬性(組)稱為關(guān)系的一個候選關(guān)鍵字。②主屬性在一個關(guān)系中,如果一個屬性是構(gòu)成某一個候選關(guān)鍵字的屬性集中的一個屬性,則稱它為主屬性。
(3)關(guān)系模式
關(guān)系模式是對關(guān)系的描述,它包括模式名、組成該關(guān)系的諸屬性名、值域名和模式的主關(guān)鍵字或主碼。(4)關(guān)系子模式
關(guān)系子模式是用戶所需數(shù)據(jù)的結(jié)構(gòu)的描述,其中包括這些數(shù)據(jù)來自哪些模式和應(yīng)滿足哪些條件。(5)存儲模式
存儲模式描述了關(guān)系是如何在物理存儲設(shè)備上存儲的。(6)實體完整性規(guī)則
實體完整性規(guī)則規(guī)定:關(guān)系中元組的主碼值不能為空值。實體完整性規(guī)則和參照完整性規(guī)則是關(guān)系模型必須滿足的完整性約束條件,稱為關(guān)系完整性規(guī)則。(7)參照完整性規(guī)則
參照完整性規(guī)則的形式定義為:如果屬性集K是關(guān)系模式R1的主碼,也是關(guān)系模式R2的外碼,那么在R2的關(guān)系中,K的取值只允許有兩種可能,或者為空值,或者等于R1關(guān)系中某個主碼值。(8)域完整性規(guī)則
這是針對某一具體數(shù)據(jù)的約束條件,由應(yīng)用環(huán)境決定的。它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。(9)關(guān)系模型的形式定義關(guān)系模型有3個組成部分:數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)操作,完整性規(guī)則。①數(shù)據(jù)庫中全部數(shù)據(jù)及其相互聯(lián)系都被組織成關(guān)系(即二維表格)的形式。關(guān)系模型基本的數(shù)據(jù)結(jié)構(gòu)是關(guān)系。②關(guān)系模型提供一組完備的高級關(guān)系運算,以支持對數(shù)據(jù)庫的各種操作。關(guān)系運算分為關(guān)系代數(shù)和關(guān)系演算兩類。
③關(guān)系模型有3類完整性規(guī)則。2、關(guān)系代數(shù)的運算
(1)投影(Projection)設(shè)有關(guān)系R,在關(guān)系R中求指定的由若干個屬性組成新的關(guān)系的運算稱為投影,其形式為:PROJECT關(guān)系名(屬性名1,屬性名2,…,屬性名n)記作ПA(R)。其中R為被運算關(guān)系名,A為要選取的屬性系列。這是以“列”作為處理單位進行的運算?!纠?-1】由表1-9所示的關(guān)系S1中找出學(xué)生宿舍分配情況,求關(guān)系運算式及結(jié)果。其操作可表示為:PROJECTS1(學(xué)號,宿舍)關(guān)系運算式為:П學(xué)號,宿舍(學(xué)生宿舍分配)結(jié)果如表1-10所示。(2)選擇設(shè)有關(guān)系R,在關(guān)系R中求由滿足給定條件F的元組組成新的關(guān)系的運算稱為選擇(Select)。其形式為:SELECT關(guān)系名WHERE條件記作σF(R)。這是以“記錄”為處理單位進行的運算。
【例1-2】由表1-9所示的關(guān)系S1中找出所有“男生”的數(shù)據(jù),求關(guān)系代數(shù)式。其操作可表示為:SELECTS1WHERE性別=“男”關(guān)系代數(shù)式為:σ男生(學(xué)生情況)結(jié)果如表1-11所示。(3)連接從兩個關(guān)系R和S的廣義笛卡兒積中選取滿足給定條件F的元組組成新的關(guān)系的操作稱為R和S的連接(Join),其形式為:JOIN關(guān)系名1AND關(guān)系名2WHERE條件記作(F=AθB)。其中,條件(F)是由算術(shù)比較符
(>,≥,<,≤,=,≠)和屬性名或列號組成的條件表達式,A和B分別代表R的第A列和S的第B列屬性?!纠筷P(guān)系R和關(guān)系S分別如表3.11和表3.12所示,求。其操作可表示為:JOINRANDSWHEREB<D連接結(jié)果如下表所示。關(guān)系R關(guān)系S連接結(jié)果小于返回1.3VFP6系統(tǒng)的常用文件類型
1、項目文件.PJT.PJX2、數(shù)據(jù)庫文件.DBC.DCT3、表文件.DBF.FPT4、程序文件.PRG.FXP5、索引文件.IDX.CDX6、內(nèi)存變量文件 .MEM7、屏幕格式文件 .FMT8、報表格式文件 .FRX.FRT9、標簽文件.LBX.LBT10、文本文件.TXT11、菜單文件.MNT.MNX.MPR.MPX12、表單文件.SCX.SCT1.3.1主要文件類型1.3.2VFP6系統(tǒng)的常用數(shù)據(jù)類型
1、字符型數(shù)據(jù)(Character,簡寫為C)2、數(shù)值型數(shù)據(jù)(Numeric,簡寫為N)3、邏輯型數(shù)據(jù)(Logic,簡寫為L)4、日期型數(shù)據(jù)(Date,簡寫為D)5、備注型數(shù)據(jù)(Memo,簡寫為M)6、通用型數(shù)據(jù)(General,簡寫為G)返回1.4文件命名方法和命令構(gòu)成
1.4.1命令構(gòu)成的基本格式1.4.2有關(guān)規(guī)則1.4.3VFP6文件命名方法命令書寫的有關(guān)約定返回
退出
1.4.1命令構(gòu)成的基本格式
示例USEGradeCOUNTALLFOR課程成績<60LISTALL姓名,課程成績FOR;課程成績<60TOPRINTERUSE第1條命令:打開名為GRADE的表文件。第2條命令:統(tǒng)計GRADE中分數(shù)在60分以下的人數(shù)。第3條命令:在打印機上輸出成績?yōu)?0分以下的學(xué)生的姓名和分數(shù)。第4條命令:關(guān)閉表文件GRADE,將其保存在磁盤上。這四條命令的功能分別是VisualFoxPro的一般語法式
<命令動詞>;[<表達式表>];[<范圍>];[FOR<條件>];[WHILE<條件>];[TOFILE<文件名>/TOPRINTER/TOARRAY; <數(shù)組名>/TO<內(nèi)存變量>];[ALL[LIKE/EXCEPT<通配符>]];[IN<別名>]可以將命令分為八個部分,即每個頂頭行為一個部分各部分的意義命令動詞:它是VFP的命令名,用來指示計算機要完成的操作。表達式表:用來指示計算機執(zhí)行該命令所操作的結(jié)果參數(shù)。
范圍:指定命令可以操作的記錄集。范圍有下列四種選擇:ALL當前表中的全部記錄。NEXT<n>從當前記錄開始的連續(xù)N條記錄。RECORD<n>當前表中的第N號記錄。REST從當前記錄開始到最后一條記錄為止的所有記錄。FOR<條件>:它規(guī)定只對滿足條件的記錄進行操作。WHILE<條件>:從當前記錄開始,按記錄順序從上向下處理,一旦遇到不滿足條件的記錄,就停止搜索并結(jié)束該命令的執(zhí)行。TO子句:它控制操作結(jié)果的輸出去向。ALL[LIKE/EXCEPT<通配符>]:它指出包括或不包括與通配符相匹配的文件、字段或內(nèi)存變量。IN<別名/工作區(qū)>:它允許在當前工作區(qū)操作指定工作區(qū)。返回1.4.2有關(guān)規(guī)則
1、命令動詞必須是命令行的第一個非空字符,各子句可以以任意順序跟在動詞后面,命令動詞與子句、子句與子句之間用一個或多個空格隔開,2、命令動詞和VFP保留字均可用前4個或4個以上字母簡寫。3、命令行的總長度不得超過2048個字符(包括空格在內(nèi)),若命令較長,在顯示器上顯示不下時,可以分幾行寫,但除最后一行以外,每行的未尾以“;”結(jié)束。4、命令、關(guān)鍵字、變量名和文件名中的字母既可以大寫也可以小寫,還可以大寫、小寫混合,三者等效。返回1.4.3VFP6文件命名方法
文件名由主文件名和擴展名兩部分組成。主文件名最長由10個字符組成,可以包括字母、數(shù)字、下劃線、連字符,但不能使用“*”、“?”、“/”等。但加入到了數(shù)據(jù)庫中的表和字段名均支持長文件名,最長為128個字符。擴展名由“.”加3個字母組成,表示文件類型。ABC_DE-f1主文件名.DBF分隔符擴展名文件名中可以大、小寫字母子混合使用返回命令、函數(shù)符號的約定
[]:其中的內(nèi)容是可選項,不選時系統(tǒng)自動取缺省值。<>:其中的內(nèi)容是用戶的選擇項,通常有多種可能供用戶選擇一種。/:為二選一表示符。要求用戶從本符號的左右兩項中選擇一項。…:省略符。它表示在一個命令或函數(shù)表達式中,某一部分可以按同一方式重復(fù)。返回小結(jié)
本章的重點是要掌握VFP6的一些基本概念:數(shù)據(jù)庫、表、視圖、數(shù)據(jù)模型、數(shù)據(jù)庫管理系統(tǒng)、類和對象、關(guān)系模型、關(guān)系模式、關(guān)系、元組、屬性、域、主關(guān)鍵字和外部關(guān)鍵字、投影、選擇、聯(lián)接、實體完整性、參照完整性、域完整性、常量和變量等。另一個重點是掌握VFP6的數(shù)據(jù)類型和主要文件類型、命令的基本構(gòu)成格式、基本規(guī)則和VFP6文件的命名方法。這是學(xué)習后面章節(jié)基礎(chǔ)的基礎(chǔ)。
返回第2章基本數(shù)據(jù)元素2.1工作方式
2.2常量與變量2.3表達式與運算符
2.4常用函數(shù)
返回
退出
學(xué)習要點1、了解各種設(shè)計器2、掌握內(nèi)存變量的基本操作方法3、表達式的構(gòu)造方法4、掌握運算符及其優(yōu)先級5、了解常用函數(shù),掌握使用頻度最高的函數(shù)2.1工作方式
1、VFP6的特點實現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余;采用特定的數(shù)據(jù)模型;具有較高的數(shù)據(jù)獨立性;有統(tǒng)一的數(shù)據(jù)控制功能;加強了數(shù)據(jù)安全性和完整性的維護;具有交互式(命令方式、可視化操作)和程序運行方式。2、
VisualFoxPro6.0系統(tǒng)啟動單擊此菜單項鼠標指向此菜單項鼠標指向此菜單項雙擊桌面快捷方式方法三雙擊雙擊雙擊雙擊雙擊返回3、VFP6的退出
進入到VFP6對數(shù)據(jù)庫或表進行操作后,為了保證數(shù)據(jù)的安全,必須正確退出VFP6。退出VFP6前,應(yīng)將所有打開的表全部關(guān)閉。可采用下述方法中的任何一種方法退出VFP6。■在VFP6的系統(tǒng)菜單中選擇【文件】|【退出】?!鲈赩FP6的命令窗口中輸入Quit并按Enter鍵?!鰡螕鬡FP6系統(tǒng)主窗口右上角的“×”按鈕。4、各種設(shè)計器和向?qū)В?)設(shè)計器VisualFoxPro提供了報表、標簽、表單、表、菜單及快捷菜單、查詢和視圖、類、連接、數(shù)據(jù)環(huán)境、數(shù)據(jù)庫等十多種設(shè)計器,每種設(shè)計器用于設(shè)計相應(yīng)的對象。(2)向?qū)FP6提供了豐富的向?qū)В梢詭椭鯇W(xué)者快速創(chuàng)建各種對象。向?qū)褂冒惭b目錄下的Wizard.app文件。2.2常量與變量
2.2.1常量常量:一個不變的數(shù)值或字符串。常量表達式中包括常量和操作符,但不包含變量,而且計算結(jié)果總是常值。VisualFoxPro支持多種類型的常量,如:數(shù)值常量、字符常量、日期常量、邏輯常量、貨幣常量、日期時間常量等。
2.2.2變量變量:是值可改變的量,指代計算機內(nèi)存中的某一位置,其中可存放數(shù)據(jù)。變量分為字段變量和內(nèi)存變量。內(nèi)存變量:是獨立于數(shù)據(jù)庫文件的臨時存儲單元,可以用來存放表操作過程中或程序運行過程中所要臨時保存的數(shù)據(jù)。
字段變量:表中的每一個字段就是一個字段變量,字段名就是字段變量的變量名。字段變量的當前值等于表中當前記錄該字段所對應(yīng)的內(nèi)容。2.2.3數(shù)組1、數(shù)組與下標變量下標變量:一組具有相同的變量名,而下標不同的變量。數(shù)組:存儲在一個變量中由單個變量名引用的有序數(shù)據(jù)集合。數(shù)組中的每一個元素都可以通過一個數(shù)值下標被引用。在VisualFoxPro中,一個數(shù)組中的數(shù)據(jù)不必是同一種數(shù)據(jù)類型。S1下標變量變量名下標S(1)數(shù)組數(shù)組名數(shù)組元素序號說明:由若干單下標變量組成的數(shù)組稱為一維數(shù)組,由若干雙下標變量組成的數(shù)組稱為二維數(shù)組。在VisualFoxPro中,只允許使用一維數(shù)組或二維數(shù)組。2、定義數(shù)組在使用數(shù)組時一定要先定義,有兩條命令可以定義數(shù)組。格式一格式二DIMENSION<數(shù)組名1>(<行>[,<列>])[,<數(shù)組名2>(<行>[,<列>])……]
DECLARE<數(shù)組名1>(<行>[,<列>])[,<數(shù)組名2>(<行>[,<列>])……]功能:定義一個或多個一維或二維的內(nèi)存變量數(shù)組。參數(shù)描述:DIMENSION和DECLARE為定義數(shù)組的命令動詞。<數(shù)組名1>:指定數(shù)組的名稱,其規(guī)定與內(nèi)存變量名相同。(<行>[,<列>]):定義數(shù)組的維數(shù)和大小。說明:1、數(shù)組的下標的起始值為1
。
2、同一數(shù)組中的數(shù)組元素可以有不同的數(shù)據(jù)類型。
3、二維數(shù)組中各元素按行的順序依次排列。4、每個數(shù)組占用一個內(nèi)存變量。5、除了可以分別對數(shù)組元素賦值以外,也可對數(shù)組中的所有元素賦同一初值。6、DIMENSION和DECLARE功能完全相同,常用DIMENSION。DIMENSION<數(shù)組名1>(<行>[,<列>])[,<數(shù)組名2>(<行>[,<列>])……]DIMENSIONA(2,3),BB(4,8)定義數(shù)組:DIMENSIONA(2,3),BB(4,8)也可以一次只定義一個數(shù)組:DIMENSIONA(2,3)也可以只定義一維數(shù)組:DIMENSIONA(6)定義數(shù)組命令使用示例3、數(shù)組元素的賦值操作STORE<表達式>TO<數(shù)組名/數(shù)組元素>格式一命令動詞去向子句包含值的表達式接收值的數(shù)組名或元素STORE0TOA將數(shù)值0賦給數(shù)組A的所有元素STORE"李磊"TOA(2,1)將字符串“李磊”賦給數(shù)組A的第2行第1列的元素。例格式二<數(shù)組名/數(shù)組元素>=<表達式>接收值的數(shù)組名或元素賦值操作符包含值的表達式例A=.T.將邏輯真值賦給數(shù)組A的所有元素2.1VFP內(nèi)存變量的基本操作
內(nèi)存變量的賦值操作和其它高級語言一樣,必須先定義后使用1、對內(nèi)存變量的賦值操作STORE<表達式>TO<內(nèi)存變量名表>
格式一命令動詞去向子句包含值的表達式接收值的變量名表STORE0TOAA,BB,CC將數(shù)值0賦給變量AA,BB,CCSTORE"李磊"TONAME將字符串“李磊”賦給NAME例格式二<內(nèi)存變量名>=<表達式>接收值的變量名賦值操作符包含值的表達式例A=.T.將邏輯真值賦給變量A2、顯示內(nèi)存變量格式一LISTMEMORY[LIKE<內(nèi)存變量名框架>][TOPRINTER[PROMPT]/TOFILE<文件名>][NOCONSOLE]功能:顯示當前在內(nèi)存中定義的自定義內(nèi)存變量和系統(tǒng)內(nèi)存變量,以及自定義菜單和自定義窗口的有關(guān)信息。參數(shù)描述:LIST:為命令動詞,表示此命令用以顯示。MEMORY:為子句,與LIST一起構(gòu)成復(fù)合命令,表示此命令用以顯示內(nèi)存變量。LIKE<內(nèi)存變量名框架>:可以通過它有選擇地顯示內(nèi)存變量和數(shù)組信息。TOPRINTER[PROMPT]:將顯示結(jié)果在打印機上輸出。TOFILE<文件名>:將顯示結(jié)果輸出到指定的文件中,該文件為文本文件。NOCONSOLE:不在屏幕上顯示。格式二DISPLAYMEMORY[LIKE<內(nèi)存變量框架名>][TOPRINTER[PROMPT]/TOFILE<文件名>][NOCONSOLE]功能:顯示當前在內(nèi)存中定義的自定義內(nèi)存變量和系統(tǒng)內(nèi)存變量,以及自定義菜單和自定義窗口的有關(guān)信息。參數(shù)描述:
DISPLAY:命令動詞,表示分屏顯示。其它參數(shù)與LIST相同。LISTMEMORY與DISPLAYMEMORY的區(qū)別LISTMEMORY顯示內(nèi)存變量時不暫停,在屏幕上只保留最后一屏內(nèi)存變量。DISPLAYMEMORY在顯示內(nèi)存變量時,若內(nèi)存變量數(shù)超過一屏,則在每顯示一屏后暫停,按任意鍵后繼續(xù)顯示。LISTMEMORY與DISPLAYMEMORY命令示例在命令窗口中執(zhí)行下條命令:LISTMEMORY屏幕顯示:因為LISTMEMORY命令在不帶任何參數(shù)時將顯示所有內(nèi)存變量(包括系統(tǒng)內(nèi)存變量),本例需要多屏顯示,因而在屏幕上只保留最后一屏的內(nèi)容。LISTMEMORY與DISPLAYMEMORY命令示例在命令窗口中執(zhí)行下條命令:DISPLAYMEMORY屏幕顯示:
因為DISPLAYMEMORY命令在不帶任何參數(shù)時將分屏顯示所有內(nèi)存變量(包括系統(tǒng)內(nèi)存變量)。此例中需要多屏顯示,因而在屏幕會一屏一屏的顯示內(nèi)存變量。右圖是第一屏的內(nèi)容。3、保存內(nèi)存變量SAVETO<內(nèi)存變量文件名>/<MEMO備注字段名>[ALLLIKE/EXCEPT<內(nèi)存變量名框架>]命令格式功能:它將內(nèi)存中的部分或全部內(nèi)存變量以文件的形式存入磁盤,文件名由<內(nèi)存變量文件名>指定,文件擴展名的缺省值為.MEM。參數(shù)描述:SAVE:命令動詞,表示保存內(nèi)存變量。<內(nèi)存變量文件名>:指定保存內(nèi)存變量和數(shù)組的內(nèi)存變量文件。<MEMO備注字段名>:指定保存內(nèi)存變量和數(shù)組的備注字段。ALLLIKE<內(nèi)存變量名框架>]:將符合<內(nèi)存變量名框架>的那些變量存入指定的文件。ALLEXCEPT<內(nèi)存變量名框架>]:將不符合<內(nèi)存變量名框架>的那些變量存入指定的文件。SAVETOVAR1將除系統(tǒng)內(nèi)存變量以外所有內(nèi)存變量保存到VAR1.MEM文件中。即:AA、BB、CC、NAME、A。SAVETOVAR2ALLLIKE?A*將第一個字符是任意字符,第二個字符是A的所有內(nèi)存變量保存到VAR2.MEM文件中。即AA、NAME。SAVETOVAR3ALLEXCEPT?A*
將自定義內(nèi)存變量中第二個字符不是A的所有內(nèi)存變量保存到VAR2.MEM文件中。即BB、CC、A。SAVE命令示例4、刪除內(nèi)存變量格式一RELEASE<內(nèi)存變量名表>
功能:刪除指定的內(nèi)存變量。當<內(nèi)存變量名表>為多個變量時,變量名之間用“,”隔開。格式二RELEASEALL[LIKE/EXCEPT<內(nèi)存變量名框架>]
功能:刪除指定的內(nèi)存變量。省略所有選擇項時,則刪除所有的內(nèi)存變量。格式三CLEARMEMORY
功能:刪除當前內(nèi)存中的所有內(nèi)存變量。它和RELEASEALL的效果完全相同。說明:參數(shù)與前述相同。刪除內(nèi)存變量示例在命令窗口中執(zhí)行下列命令RELEASEBB,CCLISTMEMORYLIKE*屏幕顯示在命令窗口中繼續(xù)執(zhí)行下列命令RELEASEALLLIKE?A*LISTMEMORYLIKE*屏幕顯示在命令窗口中繼續(xù)執(zhí)行下列命令RELEASEALLLISTMEMORYLIKE*屏幕顯示(空)返回5、恢復(fù)內(nèi)存變量如果需要使用已保存的內(nèi)存變量時,可用下述命令恢復(fù):格式:RESTOREFROM<內(nèi)存變量文件名>[ADDITIVE]功能:它將<內(nèi)存變量文件名>指定的內(nèi)存變量文件中所保存的內(nèi)存變量從磁盤讀回內(nèi)存重新使用。參數(shù)描述:RESTORE:命令動詞,表示執(zhí)行恢復(fù)操作。FROM<內(nèi)存變量文件名>:指定恢復(fù)內(nèi)存變量的來源。[ADDITIVE]
:保留當前內(nèi)存中的內(nèi)存變量,將指定文件中的內(nèi)存變量添加到當前內(nèi)存變量之后。若省略ADDITIVE選擇項,則內(nèi)存中已有的內(nèi)存變量全部釋放,將指定文件中的內(nèi)存變量調(diào)入內(nèi)存。恢復(fù)內(nèi)存變量示例在命令窗口中繼續(xù)執(zhí)行下列命令RESTOREFROMVAR1LISTMEMORYLIKE*屏幕顯示在命令窗口中繼續(xù)執(zhí)行下列命令RESTOREFROMVAR2LISTMEMORYLIKE*屏幕顯示在命令窗口中繼續(xù)執(zhí)行下列命令RESTOREFROMVAR3ADDITIVELISTMEMORYLIKE*屏幕顯示返回2.3表達式與運算符
2.3.1表達式的概念
2.3.2運算符
2.3.3運算符的優(yōu)先級
返回退出格式一格式二2.3.1表達式的概念表達式:由運算符和括號將常量、變量和函數(shù)連接起來的有意義的式子。單個的常量、變量和函數(shù)都可以看作是最簡單的表達式。表達式按照運算結(jié)果的類型可以分為四類■字符型表達式(C)
■數(shù)值型表達式(N)■邏輯型表達式(L)
■日期型表達式(D)?<表達式列表>
??<表達式列表>
表達式顯示命令功能:計算表達式的值,并將其顯示到屏幕上。區(qū)別:?換行顯示,??不換行顯示。返回2.3.2運算符
運算符:是對數(shù)據(jù)對象(操作數(shù))進行操作運算的符號。運算符以其結(jié)果的類型分組有如下五類■算術(shù)運算符■關(guān)系運算符■邏輯運算符■字符串運算符■日期運算符。1、算術(shù)運算符(1)+
加號(N×N→N)(2)-
減號(N×N→N)(3)*
乘號(N×N→N)(4)/
除號(N×N→N)(5)**
乘方(N×N→N)(6)^
乘方(N×N→N)(7)%
余數(shù)(N×N→N)第1操作數(shù)類型運算符第2操作數(shù)類型運算結(jié)果類型返回
關(guān)系運算符關(guān)系運算符有如下十種:(1)<
小于(N×N→L)(C×C→L)(D×D→L)(2)>
大于(N×N→L)(C×C→L)(D×D→L)(3)=
等于(N×N→L)(C×C→L)(D×D→L)(4)<=
小于或等于(N×N→L)(C×C→L)(D×D→L)(5)>=
大于或等于(N×N→L)(C×C→L)(D×D→L)(6)<>
不等于(N×N→L)(C×C→L)(D×D→L)(7)#
不等于(N×N→L)(C×C→L)(D×D→L)(8)!=
不等于(N×N→L)(C×C→L)(D×D→L)(9)$
屬于(C×C→L)
(10)==
精確等于(C×C→L)關(guān)系運算符兩邊的數(shù)據(jù)類型必須相同,不同類型的數(shù)據(jù)無法進行有意義的比較。關(guān)系運算產(chǎn)生邏輯結(jié)果。即只能是邏輯“真”或邏輯“假”中的一種。邏輯運算
邏輯運算符有下列幾個:(1).NOT.邏輯非(單邊運算符)(L→L)(2)!邏輯非(單邊運算符)(L→L)(3).AND.邏輯與(L×L→L)(4).OR.邏輯或(L×L→L)字符運算符(1)+
字符串精確連接(C×C→C)(2)-
字符串非精確連接(C×C→C)
日期運算符(1)+
加(D×N→D)(N×D→D)(2)-
減(D×D→N)(D×N→D)說明:日期加上數(shù)值得到將來的日期;數(shù)值加上日期得到將來的日期;日期減去數(shù)值得到過去的日期;兩日期相減得到兩個日期相差的天數(shù)。
返回2.3.3運算符的優(yōu)先級
算術(shù)運算符字符串運算符最高級一元運算符“+”和“-”(正負號)**或^(乘方)*、/、和%(乘、除和余數(shù))+和-(加和減)+和-(精確連接和非精確連接)+和-(加和減)日期運算符
關(guān)系運算符<、>、=、<=、>=、<>、#、!=、$、==各運算符優(yōu)先級相同次高級邏輯運算符.NOT.或?。ㄟ壿嫹牵?AND.(邏輯與).OR.(邏輯或)最低級返回2.4常用函數(shù)2.4.1數(shù)值運算函數(shù)
2.4.2字符處理函數(shù)
2.4.3日期時間函數(shù)
返回退出2.4.4轉(zhuǎn)換函數(shù)
2.4.5測試函數(shù)
2.4.6其它函數(shù)
學(xué)習函數(shù)時不僅要記住函數(shù)的名稱和功能,而且還要記住函數(shù)自變量的數(shù)據(jù)類型和函數(shù)值的數(shù)據(jù)類型,這樣才能正確使用每一個函數(shù)。
2.4.1數(shù)值運算函數(shù)
數(shù)值運算函數(shù)除特別說明的以外,其操作數(shù)為數(shù)值型,返回值的數(shù)據(jù)類型也為數(shù)值型。1.求絕對值函數(shù)格式:ABS(<nExpression>)功能:求<nExpression>的絕對值。參數(shù)描述:<nExpression>指定需由ABS()返回絕對值的數(shù)值表達式。2.正負號函數(shù)格式:SIGN(<nExpression>)功能:根據(jù)表達式的值大于、等于或小于零,函數(shù)值分別為1、0、–1。參數(shù)描述:<nExpression>指定SIGN()函數(shù)進行求值的數(shù)值表達式。如果求出的值是正數(shù),則SIGN()函數(shù)返回1;如果求出的值是負數(shù),則返回–1;如果求出的值是0,則返回0。3.取整函數(shù)格式:INT(<nExpression>)功能:將數(shù)值型表達式的值只取整數(shù)部分,舍掉小數(shù)部分。參數(shù)描述:<nExpression>指定INT()函數(shù)計算的數(shù)值表達式。4.平方根函數(shù)格式:SQRT(<nExpression>)功能:求數(shù)值型表達式值的平方根。函數(shù)的小數(shù)位與系統(tǒng)的小數(shù)位相同,或與數(shù)值型表達式中的小數(shù)位相同。參數(shù)描述:<nExpression>指定由SQRT()函數(shù)計算的數(shù)值表達式,其值不能為負數(shù)。5.指數(shù)函數(shù)格式:EXP(<nExpression>)功能:求以e為底,數(shù)值型表達式的值為指數(shù)的值。參數(shù)描述:<nExpression>指定指數(shù)表達式中ex的指數(shù)x。6.自然對數(shù)函數(shù)格式:LOG(<nExpression>)功能:求數(shù)值型表達式值的自然對數(shù)。它是EXP函數(shù)的逆運算。參數(shù)描述:<nExpression>指定數(shù)值表達式。LOG()函數(shù)返回ex=<nExpression>中x的值,<nExpression>必須大于0。7.常用對數(shù)函數(shù)格式:LOG10(<nExpression>)功能:求以10為底的數(shù)值型表達式的值。數(shù)值型表達式必須為正數(shù)。參數(shù)描述:<nExpression>指定數(shù)值表達式。LOG10()函數(shù)返回10x=<nExpression>中x的值,<nExpression>必須大于0。8.最小整數(shù)函數(shù)格式:CEILING(<nExpression>)功能:求大于或等于指定表達式的最小整數(shù)。參數(shù)描述:<nExpression>指定CEILING()函數(shù)返回其后續(xù)整數(shù)的數(shù)值。9.最大整數(shù)函數(shù)格式:FLOOR(<nExpression>)功能:求小于或等于指定表達式值的最大整數(shù)。參數(shù)描述:<nExpression>指定數(shù)值表達式。FLOOR()函數(shù)返回小于或等于此表達式值的最大整數(shù)。10.最大值函數(shù)格式:MAX(<eExpression1>,<eExpression2>[,<eExpression3>…])功能:先計算表達式的值,然后取其中最大的值作為函數(shù)值。參數(shù)描述:<eExpression1>,<eExpression2>[,<eExpression3>…]指定若干個表達式。MAX()返回其中具有最大值的表達式,所有表達式必須為同一數(shù)據(jù)類型。返回值類型:表達式的數(shù)據(jù)類型。11.最小值函數(shù)格式:MIN(<eExpression1>,<eExpression2>[,<eExpression3>…])
功能:先計算表達式的值,然后取其中最小的作為函數(shù)值。參數(shù)描述:同上返值類型:同上12.舍入函數(shù)格式:ROUND(<nExpression1>,<nExpression2>)功能:四舍五入運算參數(shù)描述:<nExpression1>要舍入的數(shù)值表達式。<nExpression2>指定舍入到的小數(shù)位數(shù)。如果<nExpression2>的值是一個負數(shù),則ROUND()返回的結(jié)果在小數(shù)點左端包含<nExpression2>個零。例如,它的值為–2,則函數(shù)值舍入成整百的數(shù),即小數(shù)點左端的第一個和第二個數(shù)字(個位和十位)均為0。13.隨機函數(shù)格式:RAND([<nExpression>])功能:產(chǎn)生一個在(0,1)范圍內(nèi)取值的隨機數(shù)。參數(shù)描述:<nExpression>為指定的種子數(shù),它指定RAND()函數(shù)返回的數(shù)值序列。14.求
值函數(shù)格式:PI()
功能:返回π的常數(shù)數(shù)值。15.求模函數(shù)格式:MOD(<nExpression1>,<nExpression2>)
功能:求<nExpression1>除以<nExpression2>的余數(shù)。參數(shù)描述:<nExpression1>指定被除數(shù),它的小數(shù)位決定了返回值中的小數(shù)位。<nExpression2>指定除數(shù)。說明:函數(shù)的值可以為正值也可以為負值,為了確保函數(shù)值的惟一性,函數(shù)值必須滿足下列條件:①函數(shù)值與<nExpression2>的值同為正數(shù)或同為負數(shù);②函數(shù)值的絕對值必須小于<nExpression2>的絕對值;③取余函數(shù)MOD()和算子%返回同樣的結(jié)果;④當<nExpression1>與<nExpression2>異號時,可將<nExpression1>絕對值除以<nExpression2>絕對值后的余數(shù)再帶上<nExpression1>的符號,然后與<nExpression2>求和即得其模。示例:?MOD(132,11)0?MOD(132.45,11.56)5.29?MOD(-132.45,11.56)6.27?MOD(132.45,-11.56)-6.27?MOD(-132.45,-11.56)-5.292.4.2字符處理函數(shù)
1.宏代換函數(shù)格式1:&<VarName>[.<cExpression>]功能:以內(nèi)存變量的值代替變量名。說明:①使用&函數(shù)時,&與<VarName>間不能有空格;②它是眾多函數(shù)中惟一參數(shù)不帶括號的函數(shù);③宏代換函數(shù)的作用范圍是從符號&起,直到遇到一個“.”或空格字符為止。如果宏代換后的值要與其后面的字符串一起使用,則應(yīng)在&<VarName>與其后的字符串之間插入一個圓點“.”。示例:abcd=[Visual]VisualFoxpro=[小型關(guān)系數(shù)據(jù)庫]Visual=123456789
?"&abcd.FoxPro"VisualFoxPro(C)?&abcd.Foxpro小型關(guān)系數(shù)據(jù)庫(C)?Abcd123456789(N)格式2:
(<VarName>)功能:當要代換的內(nèi)容是表名或是索引文件名時,可用()函數(shù)代換&函數(shù)。參數(shù)描述:<VarName>中所含的值為表名或為數(shù)據(jù)庫文件名等名稱。示例:tableName=[Student]use(tablename)&&將打開默認目錄下的Student表格式3:EVALUATE(<cExpression>)
功能:計算字符表達式的值并返回結(jié)果。參數(shù)描述:<cExpression>指定要計算的字符表達
<cExpression>可以是原義字符串,也可以是引號括起的各種數(shù)據(jù)類型的有效VFP6表達式、內(nèi)存變量、數(shù)組元素或字段。<cExpression>中的字符不能超過255個。只要可能,就應(yīng)使用EVALUATE()和名稱表達式來代替&的宏代換,因為EVALUATE()函數(shù)或名稱表達式比宏代換的執(zhí)行速度快。2.子字符串檢索函數(shù)格式1:AT(<cSearchExpression>,<cExpressionSearched>[,<nOccurrence>])功能:返回一個字符表達式或備注字段在另一個字符表達式或備注字段中第n次出現(xiàn)的位置,從最左邊開始計數(shù)。參數(shù)描述:<cSearchExpression>指定要搜索的字符或備注表達式,AT()函數(shù)將在<cExpressionSearched>中搜索此字符表達式或備注字段值。<nOccurrence>指定搜索<cSearchExpression>在<cExpressionSearched>中第<nExpression>次出現(xiàn)。說明:①如果未指定<nOccurrence>,則返回第一次出現(xiàn)<cSearchExpression>的起始位置。②如果<cExpressionSearched>不包含有<cSearchExpression>,或出現(xiàn)次數(shù)少于<nOccurrence>的值,則函數(shù)返回值為0。③AT()函數(shù)區(qū)分搜索字符的大小寫,如果不區(qū)分搜索字符的大小寫,應(yīng)采用格式2的函數(shù)。格式2:
ATC(<cSearchExpression>,<cExpressionSearched>[,<nOccurrence>])3.反向子串檢索函數(shù)格式:RAT(<cSearchExpression>,<cExpressionSearched>[,<nOccurrence>])功能:與AT()函數(shù)功能類似,它是從字符串最右邊開始檢索子字符串,返回<cSearchExpression>在<cExpressionSearched>內(nèi)第<nOccurrence>次出現(xiàn)的位置,從最右邊的位置算起。說明:<nOccurrence>指定RAT()在<cExpressionSearched>中從右向左搜索<cSearchExpression>的第<nOccurrence>次出現(xiàn)時的位置。默認<nExpression>=1。如果在<cExpressionSearched>中沒有找到<cSearchExpression>,那么RAT()函數(shù)返回0。4.反向子串檢索函數(shù)格式:RATC(<cSearchExpression>,<cExpressionSearched>[,<nOccurrence>])功能:返回<cSearchExpression>在<cExpressionSearched>中從右邊第<nOccurrence>次出現(xiàn)的位置,不區(qū)分字符的大小寫。說明:當<cExpressionSearched>中不包含<cSearchExpression>,或包含次數(shù)少于<nOccurrence>時,函數(shù)返回值為0。5.字符串截取函數(shù)格式:SUBSTR(<cExpression>,<nStartPosition>[,<nCharactersReturned>])功能:返回從<cExpression>中截取從第<nStartPosition>個字符開始的連續(xù)<nCharactersReturned>個字符所形成的一個新子字符串。若省略<nCharactersReturned>,則截取的子字符串終止于字符串的最后一個字符。若<nCharactersReturned>大于起始位置到字符串的結(jié)束位置之間的字符個數(shù)時,則終止于字符串的最后一個字符。6.左子串截取函數(shù)格式:LEFT(<cExpression>,<nExpression>)功能:從<cExpression>中最左邊第一個字符開始截取<nExpression>個字符,形成一個新的字符串。參數(shù)描述:<cExpression>指定用于截取的字符表達式,LEFT()函數(shù)從中返回一個字符串。<nExpression>指定從<cExpression>中返回的字符個數(shù)。如果<nExpression>的值大于或等于<cExpression>的長度,函數(shù)的值為整個字符串;如果<nExpression>的值小于或等于零,則函數(shù)的值為一個空串。LEFT(
)函數(shù)與起始位置為1的SUBSTR()函數(shù)是等價的。7.右子串截取函數(shù)格式:RIGHT(<cExpression>,<nExpression>)功能:從<cExpression>中最右邊第一個字符開始截取<nExpression>個字符形成一個新的字符串。參數(shù)描述:<cExpression>指定用于截取的字符表達式,LEFT()從中返回一個字符串。<nExpression>指定從中<cExpression>返回的字符個數(shù)。如果<nExpression>的值大于或等于<cExpression>的長度,函數(shù)的值為整個字符串;如果<nExpression>的值小于或等于零,則函數(shù)的值為一個空串。8.刪除字符串尾部空格函數(shù)格式:TRIM(<cExpression>)功能:返回刪除全部后綴空格后的字符表達式。參數(shù)描述:<cExpression>指定需要刪除后綴空格的字符表達式。說明:TRIM()函數(shù)等同于RTRIM()函數(shù)。9.刪除字符串右邊空格函數(shù)格式:RTRIM(<cExpression>)功能:刪除字符串右邊空格。RTRIM()函數(shù)等同于TRIM()函數(shù)。10.刪除字符串先導(dǎo)和尾部空格函數(shù)格式:ALLTRIM(<cExpression>)功能:刪除<cExpression>值的先導(dǎo)和尾部空格。它等價于LTRIM(RTIMR(<cExpression>))。說明:使用ALLTRIM()函數(shù)能確保刪除用戶輸入的數(shù)據(jù)首尾的空格字符。11.長度函數(shù)格式:LEN(<cExpression>)功能:求字符型表達式<cExpression>的長度,返回字符表達式中字符的數(shù)目。12.空格生成函數(shù)格式:SPACE(<nExpression>)功能:生成指定數(shù)目空格的字符串,其空格個數(shù)由<nExpression>的值確定。13.字符重復(fù)函數(shù)格式:REPLICATE(<cExpression>,<nExpression>)功能:它把<cExpression>的值重復(fù)<nExpression>次構(gòu)成新的字符串。14.字符串替換函數(shù)格式:STUFF(<cExpression>,<nStartReplacement>,<nCharacters-Replaced>,<cReplacement>)功能:返回一個字符串,此字符串是通過用另一個表達式替換現(xiàn)有字符表達式中指定數(shù)目的字符得到的。參數(shù)描述:<cExpression>指定要在其中替換的字符表達式。<nStartReplacement>在<cExpression>中開始替換的位置。<nCharactersReplaced>指定要替換的字符數(shù)目。如果數(shù)目是0,則替換字符串<cReplacement>插入到<cExpression>中。<cReplacement>指定用以替換的字符型表達式,如果該表達式是空串,則從<cExpression>中刪除用<nCharactersReplaced>指定的字符數(shù)目。2.4.3日期、時間函數(shù)
1.時間函數(shù)格式:TIME([<nExpression>])功能:以24小時制、8位字符串(時:分:秒)格式取得當前的系統(tǒng)時間。參數(shù)描述:如果含有<nExpression>變量,則可以返回包括1/100s的時間。<nExpression>可以是任何值,然而,實際的最大精度是1/18s。使用SECONDS()函數(shù)可獲得更高的精度。2.日期函數(shù)格式:DATE()功能:返回由操作系統(tǒng)控制的當前系統(tǒng)日期。3.日月年函數(shù)格式:DMY(<dExpression|tExpression>)功能:返回一個“日.月.年”格式的字符表達式。其中日為2位,月為英文月份名稱,年通常為2位。參數(shù)描述:<dExpression>為日期型表達式。<tExpression>為日期時間表達式。4.月日年函數(shù)格式:MDY(<dExpression|tExpression>)功能:以“月.日.年”格式返回指定日期或日期時間表達式,其中月份名不縮寫。如October0520005.年函數(shù)格式:YEAR(<dExpression>)功能:從日期型表達式<dExpression>中求出年的數(shù)值。說明:該函數(shù)總是返回帶世紀的年份,CENTURY的設(shè)置對該函數(shù)沒有影響。6.月份函數(shù)格式:MONTH(<dExpression>)功能:從日期型表達式<dExpression>中求出月的數(shù)值。7.日函數(shù)格式:DAY(<dExpression>)功能:以數(shù)值型返回給定的日期表達式<dExpression>是某月中的第幾天。說明:DAY()函數(shù)返回1到31之間的一個數(shù)。2.4.4轉(zhuǎn)換函數(shù)
1.小寫轉(zhuǎn)換成大寫函數(shù)格式:UPPER(<cExpression>)功能:用大寫字母返回<cExpression>字符串表達式。2.大寫轉(zhuǎn)換成小寫函數(shù)格式:LOWER(<cExpression>)功能:將<cExpression>中大寫字母轉(zhuǎn)換成小寫字母。3.字的第一個字母轉(zhuǎn)換成大寫函數(shù)格式:PROPER(<cExpression>)功能:從<cExpression>中返回一個字符串,字符串的每個首字母大寫,其它字母轉(zhuǎn)換為小寫字母。4.字符型轉(zhuǎn)換為日期型函數(shù)格式:CTOD(<cExpression>)功能:將具有正確日期格式的字符型表達式<cExpression>轉(zhuǎn)換成日期型表達式。5.日期型轉(zhuǎn)換為字符型函數(shù)格式:DTOC(<dExpression|tExpression>[,1])功能:由日期型表達式數(shù)據(jù)轉(zhuǎn)換成字符型日期數(shù)據(jù)。參數(shù)描述:<dExpression|tExpression>參數(shù)指定要轉(zhuǎn)換成字符型日期數(shù)據(jù)的日期。[,1]:以適合作為索引的格式返回日期。6.數(shù)值型轉(zhuǎn)換成字符型函數(shù)格式:STR(<nExpression>[,<nLength>[,<nDecimalPlaces>]])功能:返回與數(shù)值型表達式相對應(yīng)的字符型串。參數(shù)描述:<nExpression>指定用于轉(zhuǎn)換數(shù)值表達式。<nLength>指定要返回的字符串的長度,包括小數(shù)點和小數(shù)位在內(nèi)。如果指定長度大于小數(shù)點左邊數(shù)字位數(shù)與<nDecimalPlaces>之和,則該函數(shù)用前導(dǎo)空格填充返回的字符串;如果指定的長度小于小數(shù)點左邊的數(shù)字位數(shù),則該函數(shù)返回一串星號(*),“*”的長度等于給出的長度,表示數(shù)據(jù)溢出。<nDecimalPlaces>指定該函數(shù)返回的字符串中的小數(shù)位,若要指定小數(shù)位,則必須同時包含<nLength>。如果指定的小數(shù)位數(shù)小于<nExpression>中的小數(shù)位數(shù),則返回四舍五入值。7.字符型轉(zhuǎn)換成數(shù)值型函數(shù)格式:VAL(<cExpression>)功能:將數(shù)字組成的字符型表達式<cExpression>轉(zhuǎn)換成為數(shù)值型值。8.字符轉(zhuǎn)換成ASCII碼值函數(shù)格式:ASC(<cExpression>)功能:求出<cExpression>最左邊一個字符的ASCⅡ碼的十進制碼值。9.ASCII碼值轉(zhuǎn)換成字符串函數(shù)格式:CHR(<nExpression>)功能:將<nExpression>的值轉(zhuǎn)換成一個ASCⅡ碼。數(shù)值型表達式的值必須是一個1~255之間的整數(shù)。通常,可以借助數(shù)值7來響鈴以引起注意。如輸入下列命令:
?CHR(7)+"小心" &&輸出時先響鈴,然后在屏幕上顯示“小心”2.4.5測試函數(shù)
1.數(shù)據(jù)庫函數(shù)格式:DBC()功能:返回當前數(shù)據(jù)庫的名稱和路徑。2.表文件函數(shù)格式:DBF([<cTableAlias|nWorkArea>])功能:求出指定工作區(qū)中打開的表文件名。參數(shù)描述:<cTableAlias>參數(shù)指定表的別名。<nWorkArea>參數(shù)指定工作區(qū)的編號。3.表文件修改測試函數(shù)格式:LUPDATE([<cTableAlias>|<nWorkArea>])功能:返回指定工作區(qū)中表文件的最后修改日期。參數(shù)描述:同上4.文件修改測試函數(shù)格式:FDATE(<cFileName>[,<nType>])功能:返回文件最近一次被修改的日期。參數(shù)描述:<cFileName>指定要檢測的文件名。<nType>的值為0或1,如果選擇0或省略則返回日期型;否則返回日期時間型。5.字段數(shù)測試函數(shù)格式:FCOUNT([<nWorkArea>|<cTableAlias>])功能:返回指定工作區(qū)中表的字段數(shù)目。參數(shù)描述:可選項指定要測試的表所在的工作區(qū)或表的別名。說明:如果指定的工作區(qū)中沒有打開的表,則該函數(shù)返回0;如果指定的別名不存在,則VFP6將產(chǎn)生錯誤信息。若省略選擇項,則約定為當前工作區(qū),該函數(shù)將返回當前工作區(qū)中表的字段數(shù)目。6.字段名函數(shù)格式:FIELD(<nExpression>[,<nWorkArea>|<cTableAlias>])功能:根據(jù)字段編號,返回指定表或指定工作區(qū)中表的字段名。參數(shù)描述:<nExpression>指定字段的編號。編號按建立表結(jié)構(gòu)的順序編號。如果該參數(shù)大于字段的數(shù)目則返回空字符串。返回的字段名為大寫字母。<nWorkArea>|<cTableAlias>指定表所在的工作區(qū)或表的別名。說明:如果指定的工作區(qū)中沒打開的表,則該函數(shù)將返回一個空串;如果指定的別名不存在,則VFP6將產(chǎn)生錯誤信息。若省略選擇項,則約定為當前工作區(qū)。7.字段寬度函數(shù)格式:FSIZE(<cFieldName>[,<nWorkArea>|<cTableAlias>])功能:以字節(jié)為單位返回指定工作區(qū)中指定字段的寬度。參數(shù)描述:<cFieldName>參數(shù)指定要求其寬度的字段名。<nWorkArea>|<cTableAlias>表打開時所在的工作區(qū)或所取的別名。8.記錄數(shù)測試函數(shù)格式:RECCOUNT([<nWorkArea>|<cTableAlias>])功能:返回當前或指定工作區(qū)中表的記錄數(shù)。參數(shù)描述:<nWorkArea>|<cTableAlias>指定要測試記錄的表打開時所在的工作區(qū)或所取的別名。如果指定的工作區(qū)中沒有打開的表,則該函數(shù)返回值為0;如果指定的別名不存在,VFP6將返回錯誤信息。9.記錄長度測試函數(shù)格式:RECSIZE([<nWorkArea>|<cTableAlias>])功能:求指定工作區(qū)中表的記錄長度。參數(shù)描述:<nWorkArea>|<cTableAlias>指定要測試記錄長度的表所在的工作區(qū)。10.當前記錄號測試函數(shù)格式:RECNO([<nWorkArea>|<cTableAlias>])功能:返回當前表或指定工作區(qū)中表的當前記錄的記錄號。參數(shù)描述:<nWorkArea>|<cTableAlias>指定要測試的表打開時所在的工作區(qū)。11.文件起始測試函數(shù)格式:BOF([<nWorkArea>|<cTableAlias>])功能:測試指定工作區(qū)中的表的當前記錄指針是否指向文件的起始位置(表頭)。參數(shù)描述:<nWorkArea>|<cTableAlias>指定在非當前工作區(qū)中打開的表的工作區(qū)號或指定非當前工作區(qū)中打開的表的別名。12.文件結(jié)束測試函數(shù)格式:EOF([<nWorkArea>|<cTableAlias>])功能:測試指定工作區(qū)中的表的記錄指針是否指向文件的結(jié)束位置(表尾)。參數(shù)描述:<nWorkArea>|<cTableAlias>指定在非當前工作區(qū)中打開的表的工作區(qū)號或指定非當前工作區(qū)中打開的表的別名。13.記錄刪除測試函數(shù)格式:DELETED([<nWorkArea>|<cTableAlias>])功能:檢測指定工作區(qū)中當前記錄是否帶有刪除標記。若有,則函數(shù)值為.T.,否則為.F.。參數(shù)描述:<nWorkArea>|<cTableAlias>參數(shù)指定工作區(qū)或別名。如果指定的工作區(qū)中沒有打開的表,則DELETED()函數(shù)返回.F.。14.查找測試函數(shù)格式:FOUND([<nWorkArea>|<cTableAlias>])功能:檢測指定工作區(qū)中最后一個LOCATE、CONTINUE、FIND、SEEK命令是否查找成功。若成功,則函數(shù)值為.T.,否則,為.F.。參數(shù)描述:<nWorkArea>|<cTableAlias>指定表所在的工作區(qū)或別名。15.別名測試函數(shù)格式:ALIAS([<nWorkArea>|<cTableAlias>])功能:求指定工作區(qū)中打開的表的別名。參數(shù)描述:<nWorkArea>|<cTableAlias>指定非當前工作區(qū)的區(qū)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 第八單元《詞義的辨析和詞語的使用》教學(xué)設(shè)計 2024-2025學(xué)年統(tǒng)編版高中語文必修上冊
- 2 回延安2024-2025學(xué)年八年級下冊語文同步教學(xué)設(shè)計(統(tǒng)編版)
- Unit 7 Happy birthday Section A Grammar 教學(xué)設(shè)計2024-2025學(xué)年人教版(2024)七年級英語上冊
- 第五單元 貨幣與賦稅制度 單元教學(xué)設(shè)計-2023-2024學(xué)年高中歷史統(tǒng)編版(2019)選擇性必修1
- 2024年12月江蘇省醫(yī)療器械檢驗所工作人員6人筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 第3章數(shù)據(jù)處理與應(yīng)用3.4數(shù)據(jù)分析報告與應(yīng)用 -高中教學(xué)同步《信息技術(shù)-數(shù)據(jù)與計算》教學(xué)設(shè)計(人民教育出版社)
- 2025年湖南都市職業(yè)學(xué)院單招職業(yè)技能測試題庫完美版
- 籃球 行進間雙手胸前傳接球 教學(xué)設(shè)計-2023-2024學(xué)年高一上學(xué)期體育與健康人教版必修第一冊
- 機器學(xué)習原理與應(yīng)用電子教案 5.7K均值聚類
- 第12課《醉翁亭記》教學(xué)設(shè)計 2024-2025學(xué)年統(tǒng)編版語文九年級上冊
- 第1課+古代亞非【中職專用】《世界歷史》(高教版2023基礎(chǔ)模塊)
- 趙尚志愛國主義教育班會
- 產(chǎn)品生產(chǎn)技術(shù)方案
- 《陶瓷模型制作》課程標準
- 異位妊娠的臨床表現(xiàn)醫(yī)學(xué)課件
- 《賣火柴的小女孩》的語文說課課件
- 經(jīng)濟數(shù)學(xué)基礎(chǔ)(高職)全套教學(xué)課件
- 交通法律與交通事故處理培訓(xùn)課程與法律解析
- 石材幕墻維修方案
- 廣西版四年級下冊美術(shù)教案
評論
0/150
提交評論