




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、(中職)2022-2023學(xué)年第4章 結(jié)構(gòu)化程序設(shè)計ppt課件4.1第 4 章結(jié)構(gòu)化程序設(shè)計前面介紹了很多數(shù)據(jù)操作的方法,可以看出 Visual FoxPro 6.0 擁有強大的數(shù)據(jù)管理功能。但是,前面的方法都是基于命令或菜單方式的操作,效率不高。如果有程序員將進(jìn)行重復(fù)操作或復(fù)雜操作的命令編制成一個序列,以后只要執(zhí)行這個命令序列就可以迅速完成相應(yīng)操作,就可以很好地解決上述問題了?!景咐?15】常用命令的程序設(shè)計案例描述通常把編制命令序列的過程稱為編寫程序代碼,把寫好的命令序列稱為程序。程序設(shè)計就是為實現(xiàn)一種功能而編寫命令的過程。一條命令即完成一個特定動作的指令。每條命令都有自己特定的語法,用來
2、說明為實現(xiàn)該命令的功能所必須包含的東西。相關(guān)知識1Visual FoxPro 6.0 命令的相關(guān)概念(1)命令的組成命令由命令動詞和語句體組成。Visual FoxPro 6.0 中所有的命令均以命令動詞開頭,必不可少。命令動詞指定了該命令的功能,即做什么,它是 Visual FoxPro 6.0 的保留字。語句體用于指明命令動詞的操作對象或操作方法,即對誰做、怎么做。它多以參數(shù)的形式出現(xiàn)。有些命令中語句體可以省略,省略后常有默認(rèn)含義,有些必不可少。(2)命令的書寫規(guī)則 命令必須以命令動詞開頭。 命令中可以有多個參數(shù),參數(shù)的次序任意,各參數(shù)之間能用空格隔開。 為了便于用戶使用,所有的保留字只要
3、寫出前四個字符即可。例如,可以將 CREATEDATABASE 命令簡寫成 CREA DATA 或 CREATE DATA 或 CREA DATABASE 等,英文不區(qū)分大小寫。 每條命令最多由 254 個字符組成,一個漢字占兩個字符,空格也計算在內(nèi)。 每條命令占一行,輸入完畢后,按【Enter】鍵執(zhí)行。TO2接收鍵盤輸入的命令(1)INPUT 命令命令:INPUT功能:接受用戶從鍵盤輸入的數(shù)據(jù),并將其賦給內(nèi)存變量。說明: 指定命令執(zhí)行時顯示的信息。通常是一個字符串,字符串必須用單引號、雙引號或方括號括起來。 指定存放輸入數(shù)據(jù)的內(nèi)存變量或數(shù)組元素。如果該內(nèi)存變量不存在,此命令將自動創(chuàng)建一個內(nèi)存
4、變量。使用此命令可輸入 N,C,D,L 等多種類型的數(shù)據(jù),數(shù)據(jù)應(yīng)按其類型規(guī)定的形式輸入。例如,字符型數(shù)據(jù)要用引號括起來,數(shù)值型數(shù)據(jù)可以直接輸入。如果直接按【Enter】鍵或者輸入非法的表達(dá)式,屏幕會重新顯示,直到輸入一個合法的表達(dá)式。(2)ACCEPT 命令命令:ACCEPT TO 功能:把用戶從鍵盤輸入的字符型數(shù)據(jù)賦值給內(nèi)存變量。說明: 指定命令執(zhí)行時顯示的內(nèi)容。通常是一個字符串,字符串必須用單引號、雙引號或方括號括起來。 存儲字符數(shù)據(jù)的內(nèi)存變量或數(shù)組元素。輸入的數(shù)據(jù)將作為字符型數(shù)據(jù)處理,不需要單引號、雙引號等定界符。如果使用了定界符,則這些定界符也被作為輸入字符的一部分,一起存入內(nèi)存變量中
5、。如果只輸入一個【Enter】鍵,將把一個“空”字符賦給內(nèi)存變量。(3)WAIT 命令命令:WAIT TO 功能:把用戶從鍵盤輸入的單個字符型數(shù)據(jù)賦值給內(nèi)存變量。說明:指定命令執(zhí)行時顯示的內(nèi)容。通常是一個字符串,字符串必須用單引號、雙引號或方括號括起來。存儲單個字符數(shù)據(jù)的內(nèi)存變量或數(shù)組元素。如果不指定內(nèi)存變量則屏幕顯示“按任意鍵繼續(xù)”。3注釋語句命令:& 注釋內(nèi)容編寫代碼時,一定要為代碼添加注釋,沒有任何注釋的程序閱讀起來非常困難。即使是自己編寫的代碼,如果沒有注釋,經(jīng)過一段時間后讀起來也會感覺吃力。Visual FoxPro 6.0 中的注釋語句從符號&開始一直到本行末尾的內(nèi)容都是注釋,可以
6、是中文也可以是英文,其內(nèi)容不會對程序的執(zhí)行產(chǎn)生任何影響。4常用 SET 命令在 Visual FoxPro 6.0 中,環(huán)境設(shè)置對編程非常重要。例如,SET PATH 命令設(shè)置查找文件的路徑,如果設(shè)置不正確,就無法正確地在特定的路徑下找到程序文件或資源文件。環(huán)境設(shè)置主要是通過 SET 命令對系統(tǒng)變量進(jìn)行設(shè)置。設(shè)置的系統(tǒng)變量值有的存儲在當(dāng)前數(shù)據(jù)工作期中,有的作為系統(tǒng)注冊時的啟動默認(rèn)值,也有的存儲在資源文件中。使用 SET 命令可以修改系統(tǒng)配置,例如,如果希望啟動時在狀態(tài)欄上顯示時鐘,可以通過下列命令來完成:SET CLOCK ON。如果希望查看環(huán)境設(shè)置狀態(tài),可以選擇以下的任何一種方法。顯示多個環(huán)
7、境設(shè)置:打開“工具”菜單中的“選項”對話框并查看當(dāng)前設(shè)置,或者是在“命令”窗口中輸入 DISPLAY STATUS 命令。顯示單個環(huán)境設(shè)置:在“命令”窗口使用 SET()函數(shù)來顯示任何 SET 命令的當(dāng)前值。下面分類說明一些常用 SET 命令的用法。(1)SET EXCLUSIVE命令:SET EXCLUSIVE ON | OFF功能:指定以獨占方式還是共享方式打開表文件。改變 SET EXCLUSIVE 的設(shè)置并不改變已經(jīng)打開表的狀態(tài)。作用域是當(dāng)前數(shù)據(jù)工作期。說明:其中,ON指定以獨占方式打開數(shù)據(jù)表,這是全局?jǐn)?shù)據(jù)工作期的默認(rèn)方式。在這種方式下,只有打開表的用戶有權(quán)限訪問該表,網(wǎng)絡(luò)上的其他用戶
8、不能以任何方式訪問該表,包括只讀方式。在 USE 命令中使用 EXCLUSIVE 子句也可以在網(wǎng)絡(luò)上以獨占方式打開表文件,在此方式下,無需鎖定該表的記錄和文件。有些命令只能處理以獨占方式打開的表,這些命令有 INSERT、INSERTBLANK、MODIFY STRUCTURE、PACK、REINDEX、ZAP 等。OFF指定以共享方式打開數(shù)據(jù)表,這是私有數(shù)據(jù)工作期的默認(rèn)方式。它允許網(wǎng)絡(luò)上的任何用戶共享和修改網(wǎng)絡(luò)上打開的表。(2)SET DELETED命令:SET DELETED ON | OFF功能:指定數(shù)據(jù)操作命令在執(zhí)行時,是否處理標(biāo)有刪除標(biāo)記的記錄。作用域是當(dāng)前數(shù)據(jù)工作期。說明:其中,O
9、N指定所有帶范圍子句的命令在處理記錄(包括在相關(guān)表中的記錄)時,忽略標(biāo)有刪除標(biāo)記的記錄。OFF是該命令的默認(rèn)值。它指定帶有范圍子句的命令在處理記錄(包括在相關(guān)表中的記錄)時包含有刪除標(biāo)記的記錄。如果默認(rèn)的作用域是當(dāng)前記錄或者只含單個記錄,SET DELETED 命令被忽略。REINDEX 命令總是忽略 SET DELETED 命令,給表中所有記錄建立索引。(3)SET EXACT命令:SET EXACT ON | OFF功能:指定比較不同長度的兩個字符串時的規(guī)則。說明:其中,ON兩個字符串的每個對應(yīng)字符都相等時,就認(rèn)為兩個字符串相等。OFF為該命令的默認(rèn)值。該參數(shù)指定比較表達(dá)式右端字符串的每個
10、字符都和左端的字符串相匹配,就認(rèn)為兩表達(dá)式相等。(4)SET SAFETY命令:SET SAFETYON | OFF功能:在覆蓋已有文件之前是否顯示對話框,當(dāng)用表設(shè)計器或 ALTER TABLE 命令對表結(jié)構(gòu)進(jìn)行修改后,是否重新計算表或字段規(guī)則、默認(rèn)值以及錯誤信息。作用范圍是當(dāng)前數(shù)據(jù)工作期。說明:其中,ON為該命令的默認(rèn)值。它表示覆蓋已有文件之前顯示,并提供選項供用戶決定是否覆蓋已有文件。該參數(shù)使得表結(jié)構(gòu)被修改后會重新計算表規(guī)則或字段規(guī)則、默認(rèn)值以及錯誤信息。保存表結(jié)構(gòu)所做的修改時,使用新的或修改后的數(shù)據(jù)有效性規(guī)則進(jìn)行數(shù)據(jù)有效性檢查。如果有效性規(guī)則包含 UDF(用戶自定義函數(shù)),將不計算 UD
11、F,并且忽略有效性規(guī)則。OFF指定在覆蓋已有文件時不顯示對話框。該參數(shù)指定表結(jié)構(gòu)被修改后不重新計算表規(guī)則或字段規(guī)則、默認(rèn)值以及錯誤信息。但是,保存表結(jié)構(gòu)所做的修改時,使用新的或修改后的數(shù)據(jù)有效性規(guī)則進(jìn)行數(shù)據(jù)有效性檢查。(5)SET DATE命令:SET DATE TO AMERICAN | ANS | BRITISH | FRENCH | GERMAN | ITALIAN | JAPAN| USA | MDY | DMY | YMDTO功能:指定日期表達(dá)式和日期時間表達(dá)式的顯示格式。在當(dāng)前數(shù)據(jù)工作期有效。日期的默認(rèn)設(shè)置是 AMERICAN。SET DATE 設(shè)置也決定日期在日期時間表達(dá)式中的格
12、式。說明:其中,各參數(shù)所對應(yīng)的日期、時間格式如表 4-1-1 所示。(6)SET MARK TO命令:SET MARKcDelimiter功能:指定顯示日期表達(dá)式時所使用的分隔符。作用范圍是當(dāng)前數(shù)據(jù)工作期。說明:其中,cDelimiter指定所使用的日期分隔字符。無 cDelimiter 參數(shù)時,將分隔符重置為默認(rèn)的正斜杠符()。(7)SET CENTURY命令:SET CENTURY ON | OFF功能:是否顯示日期表達(dá)式中的世紀(jì)部分。作用域是當(dāng)前數(shù)據(jù)工作期。說明:其中,ON指定在包含 10 個字符(包括日期分隔符)的日期格式中,用四位數(shù)字表示年。OFF為該命令的默認(rèn)值。它表示指定在包括
13、8 個字符的日期格式中,用兩位數(shù)字表示年。在進(jìn)行日期計算時假定它表示的是二十世紀(jì)。(8)SET HOURS命令:SET HOURS TO 12 | 24功能:將系統(tǒng)時間設(shè)置為 12 小時或 24 小時格式。說明:其中,12為該命令的默認(rèn)值。指定為 12 小時時間格式。24指定為 24 小時時間格式。如果省略 12 或 24 參數(shù)時,將返回默認(rèn)的 12 小時時間格式。TIME()函數(shù)總是返回 24 小時時間格式的時間值,不受 SET HOURS TO 的影響。但是 DATETIME()函數(shù)的返回值格式由 SET HOURS TO 的設(shè)置決定。(9)SET SECONDS命令:SET SECOND
14、S ON | OFF功能:指定顯示日期時間值時是否顯示秒。TO說明:其中,ON為該命令的默認(rèn)值。它表示指定在日期時間值中顯示秒。OFF指定在日期時間值中不顯示秒。(10)SET CURRENCY命令:SET CURRENCYcCurrencySymbol或SET CURRENCY LEFT | RIGHT功能:定義貨幣符號并且指定貨幣符號在數(shù)值、貨幣、浮點數(shù)和雙精度數(shù)表達(dá)式中的顯示位置。說明:其中,cCurrencySymbol指定用作貨幣符號的字符串,最長可以是九個字符。使用不帶 cCurrencySymbol 參數(shù)的 SET CURRENCY TO 命令將貨幣符號設(shè)置為默認(rèn)的美元符$。LE
15、FT為該命令的默認(rèn)值。它指定將貨幣符號放在貨幣值的左邊。RIGHT指定將貨幣符號放在貨幣值的右邊。在當(dāng)前數(shù)據(jù)工作期有效。(11)SET TALK命令:SET TALKON | OFF功能:該命令確定是否顯示 Visual FoxPro 6.0 命令執(zhí)行過程中的狀態(tài)信息。說明:其中,ON顯示 Visual FoxPro 6.0 命令執(zhí)行的狀態(tài)。OFF不顯示 Visual FoxPro 6.0命令執(zhí)行的狀態(tài)。參數(shù)ON、OFF二者中必須選擇其一。很多 Visual FoxPro 6.0 命令執(zhí)行后,在狀態(tài)欄會顯示執(zhí)行的結(jié)果。例如,LOCATE FOR 命令執(zhí)行時,如果找到所需記錄,則顯示被找到的記錄
16、號,否則會顯示“已到文件尾”,但在程序運行中可能不需要顯示這些信息,如果找到記錄就直接顯示該記錄;如果記錄無法找到,可以使用對話框給出相應(yīng)提示。所以大多數(shù)情況下在程序開始就將 SET TALK 設(shè)置為關(guān)閉狀態(tài)。(12)SET DEFAULT命令:SET DEFAULT TO cPath功能:指定默認(rèn)的驅(qū)動器、目錄或文件夾。說明:其中,cPath可以是下列內(nèi)容:驅(qū)動器符、含目錄名稱或文件夾名稱的驅(qū)動器符、子目錄名稱或文件夾名稱。Visual FoxPro 6.0 在默認(rèn)的目錄或文件夾中搜索文件。默認(rèn)的目錄或文件夾就是啟動 Visual FoxPro 6.0 的目錄或文件夾。不過,可以在啟動程序或
17、 Visual FoxPro6.0 的配置文件中指定一個不同的默認(rèn)目錄或文件夾。如果 Visual FoxPro 6.0 不能在默認(rèn)的目錄或文件夾中找到文件,將搜索另一個指定的路徑。要指定 Visual FoxPro 6.0 路徑可使用 SETPATH。使用下面命令可以將默認(rèn)驅(qū)動器設(shè)置為驅(qū)動器 A:SET DEFAULT TO A;還可以使用下列命令形式指定一個特定的目錄,SET DEFAULT TO d:work;也可以使用下面命令將默認(rèn)目錄設(shè)置為上一層父目錄:SET DEFAULT TO 如果想將默認(rèn)目錄恢復(fù)成為 Visual FoxPro 啟動目錄,則可以使用不帶參數(shù)的 SET DEFA
18、ULT 命令:SET DEFAULT TO。(13)SET PATH命令:SET PATHTOPath功能:指定查找文件的路徑。4.2說明:其中,Path指定查找文件的一組目錄。用逗號或分號隔開不同的目錄。SET PATH指定一組目錄,用于 Visual FoxPro 6.0 無法在當(dāng)前默認(rèn)目錄中找到文件的情況下查找文件。不帶參數(shù)的 SET PATH 命令把路徑恢復(fù)為默認(rèn)目錄或默認(rèn)文件夾。作用范圍為當(dāng)前數(shù)據(jù)工作期。編寫程序時,需要有各種數(shù)據(jù),如常量、變量、數(shù)組等進(jìn)行信息傳遞。所有 Visual FoxPro 6.0 數(shù)據(jù)都有其所屬的類型。類型就是對數(shù)據(jù)的允許取值以及這個值的范圍進(jìn)行的說明。數(shù)據(jù)
19、類型決定了數(shù)據(jù)的存儲方式和使用方式。不同的數(shù)據(jù)類型具有不同的運算含義、表現(xiàn)形式和變化范圍?!景咐?16】使用分支語句程序設(shè)計案例描述根據(jù)語句的書寫順序依次執(zhí)行程序命令的程序結(jié)構(gòu)稱為順序結(jié)構(gòu)。但是在完成相關(guān)程序設(shè)計時,不可能完全使用順序結(jié)構(gòu),有時需要根據(jù)不同的條件,選擇執(zhí)行不同的程序語句,這種程序結(jié)構(gòu)被稱為分支結(jié)構(gòu)。分支結(jié)構(gòu)以條件或判斷為起點,根據(jù)邏輯判斷是否成立而決定程序運行的方向。有時從程序某個位置開始有規(guī)律地反復(fù)執(zhí)行一段程序,而執(zhí)行次數(shù)由一個控制循環(huán)的條件來決定,這種結(jié)構(gòu)被稱為循環(huán)結(jié)構(gòu),根據(jù)特定的條件來執(zhí)行指定程序。相關(guān)知識1常量常量是指數(shù)據(jù)處理過程中其值和類型均保持不變的量。在 Visu
20、al FoxPro 6.0 中,作為常量常用到的數(shù)據(jù)類型主要有以下幾種。(1)數(shù)值型常量(numeric)數(shù)值型數(shù)據(jù)是有大小含義、可以參與數(shù)學(xué)運算的數(shù)據(jù)。數(shù)值型數(shù)據(jù)可以由正號、負(fù)號、09的數(shù)字和小數(shù)點組成。比較大或比較小的數(shù)據(jù)還可以采用科學(xué)計數(shù)法,其中整數(shù)還可以采用十六進(jìn)制表示法。數(shù)值型數(shù)據(jù)的范圍是-0.9999999999E+190.9999999999E-20。數(shù)值型常量就是平常所說的“數(shù)”。(2)字符型常量(character)字符型數(shù)據(jù)是由字母、數(shù)字、空格、符號和漢字等字符組成的文字序列。字符型常量最多可由 254 個字符組成,其中一個漢字占兩個字符。字符型常量又稱字符串,必須用定界符
21、一對雙引號“”或單引號或方括號括起,在計算字符串的長度時定界符不包含在內(nèi)。例如,表示身份證號的是一個包含 18 個字符的字符串;表示姓名的張?zhí)煲硎且粋€包含 6 個字符的字符串;表示培訓(xùn)班編號的y-001-01是一個包含 8 個字符的字符串等。(3)邏輯型常量(logic)邏輯型數(shù)據(jù)用于表示兩種相反的狀態(tài)。例如,對、錯,真、假,是、否等。它只有兩個值,一個為“真”,另一個為“假”。其常量要用定界符“.”。通常,邏輯“真”用“.T.”或“.Y.”表示,邏輯“假”用“.F.”或“.N.”表示,不區(qū)分大小寫。(4)日期型常量(data)日期型數(shù)據(jù)是存儲和表示年、
22、月、日等日期的數(shù)據(jù)類型,其內(nèi)部存儲格式為“yyyy/mm/dd”,其中 yyyy 代表年份,mm 代表月份,dd 代表日子,共占八個字符。年份的取值范圍為 1009999;月份的取值范圍為 112;日子的取值范圍隨年份和月份的不同而不同,最大范圍為 131。日期型常量要用大括號 作為定界符。例如,報名日期 2006 年 1 月 20 日可以表示為2006/01/20。需要注意的是,日期型數(shù)據(jù)的格式并不固定,可以通過 SET DATE、SET CENTURY 等命令改成習(xí)慣使用的日期格式。常用的格式有mm/dd/yy、 yyyy-mm-dd 等。(5)日期時間型常量(datetime)日期時間型
23、數(shù)據(jù)是存儲和表示年、月、日、時、分、秒的數(shù)據(jù)類型,其內(nèi)部存儲格式為“yyyy/mm/ddhh:mm:ss am|pm”。其中,hh 代表小時,mm 代表分鐘,ss 代表秒,am 表示上午,pm 表示下午,日期和時間之間用空格分開。日期時間型數(shù)據(jù)可以只含日期不含時間,或者只含時間不含日期,或者既含日期又含時間。日期時間型常量也要用大括號 作為定界符。例如,報名日期 2006 年 1 月 20 日上午 10 點 20 分 39 秒可以表示為2006/01/20 10:20:39 am。至于時間采用 12 小時表示法,還是 24 小時表示法可以通過 SET HOURS 命令設(shè)置。(6)貨幣型(cur
24、rency)貨幣型數(shù)據(jù)是數(shù)值型數(shù)據(jù)的一種變形。與一般數(shù)值型數(shù)據(jù)不同的是數(shù)值之前或之后要加貨幣符號,例如¥、$等。貨幣符號也可以通過命令設(shè)置。另外,貨幣型數(shù)據(jù)的小數(shù)位數(shù)為四位,四位以后的小數(shù)將被四舍五入。貨幣型常量就是一個固定的錢數(shù)。例如,50 美元可表示為$50。2變量變量是指在處理過程中其值可變的量。在 Visual FoxPro 6.0 中變量又進(jìn)一步分為內(nèi)存變量、數(shù)組變量、系統(tǒng)變量和字段變量。其中,字段變量是在打開表時,由系統(tǒng)自動產(chǎn)生的與字段名同名的變量。它們都可用于編寫程序代碼,開發(fā)系統(tǒng)功能。為了區(qū)分每個變量,需要給變量起一個名字,這個名字就是變量名。變量名可為字母、漢字、數(shù)字、下畫線
25、標(biāo)識,但必須以字母或漢字開頭。要注意的是,變量名不要與系統(tǒng)定義的保留字相同,例如命令動詞、參數(shù)、函數(shù)名等。(1)內(nèi)存變量內(nèi)存變量又稱為簡單變量。內(nèi)存變量常用來存儲用戶經(jīng)常用到的常量、程序運行的中間結(jié)果或最終結(jié)果、用戶輸入的信息等,只保留在內(nèi)存中。因此,內(nèi)存變量是一種臨時工作單元,需要時可以臨時定義,不用時可以釋放。任意時刻,一個變量只保留一個值,當(dāng)為同一變量賦第二個值時,第一個值將被覆蓋。變量的類型由用戶給變量所賦的值決定。為變量賦值的同時既聲明了變量,又定義了變量的類型。如果未賦值就使用,則系統(tǒng)會彈出找不到變量的提示信息。常用的為內(nèi)存變量賦值的方式有兩種: 使用等號“=”命令賦值,在“命令”
26、窗口中輸入命令:=為不同類型的變量賦值只需在命令窗口輸入相應(yīng)的賦值命令即可,如表 4-2-1 所示。需要注意的是,為日期型、日期時間型數(shù)據(jù)賦值時,數(shù)據(jù)格式與系統(tǒng)默認(rèn)的格式有關(guān)。如果賦值格式與默認(rèn)格式不符,系統(tǒng)會彈出提示信息。用戶只需按照提示信息的格式要求重新賦值或用相應(yīng)命令修改系統(tǒng)狀態(tài)即可。 使用 STORE 命令賦值,在“命令”窗口中輸入命令:STORETO其中變量名表是用逗號“,”分開的多個變量名。與等號賦值命令不同的是一條 STORE 命令可以同時給多個變量賦相同的值。例如為 a,b,c 賦相同的值 34,需輸入命令:store34toa,b,c如果想檢查變量的值,在“命令”窗口中輸入命
27、令:?表達(dá)式表或?表達(dá)式表其中,表達(dá)式表為一個或多個表達(dá)式,各表達(dá)式之間用逗號“,”隔開。命令先計算各表達(dá)式的值,再將最終結(jié)果顯示輸出。?語句將表達(dá)式的結(jié)果另起一行顯示。?語句在當(dāng)前行顯示表達(dá)式的結(jié)果。(2)數(shù)組變量在數(shù)據(jù)的操作過程中,有時需要存儲成批的含義相同的數(shù)據(jù),例如保存 50 個人的身份證號,如果使用簡單變量就比較繁瑣了。此時,可以使用 Visual FoxPro 6.0 中所設(shè)置的數(shù)組。VisualFoxPro 6.0 支持一維數(shù)組和二維數(shù)組。一維數(shù)組與向量相對應(yīng),具有如下形式:A=(a1,a2,a3,,ai,an)其中 ai(1in)為數(shù)組 A 的數(shù)組元素,i 稱為該元素的下標(biāo),V
28、isual FoxPro 6.0 默認(rèn)數(shù)組的最小下標(biāo)為 1。二維數(shù)組與矩陣相對應(yīng),下面是一個具有三行四列的數(shù)組 A 對應(yīng)的矩陣:3247861093512A 數(shù)組共有 12 個數(shù)組元素,其中值為 9 的元素處在第二行第三列,我們用 A(2,3)表示。2 稱為行下標(biāo),3 稱為列下標(biāo)。Visual FoxPro 6.0 中可以將二維數(shù)組轉(zhuǎn)換為一維數(shù)組。它將二維數(shù)組中的每一個元素按照從左到右、從上到下的順序排序,即值為 3 的是第一個元素,值為 7 的是第二個元素,值為 10 的是第三個元素,值為 5 的是第四個元素,值為 2 的是第五個元素依此類推。則數(shù)組元素 A(2,3)還可以表示成 A(7)。
29、 數(shù)組變量也要先定義后使用。定義數(shù)組使用命令:DIMENSION |DECLARE (n1,n2),(m1,m2)其中,由用戶指定,命名規(guī)則同變量名。括號中參數(shù)的個數(shù)決定了是一維數(shù)組,還是二維數(shù)組。括號可以是一對圓括號()或一對方括號 。數(shù)組的最大下標(biāo)由數(shù)組名后括號中的參數(shù)決定。因最小下標(biāo)固定為 1,所以對于一維數(shù)組,最大下標(biāo)數(shù)就是數(shù)組中元素的個數(shù),對于一個二維數(shù)組,數(shù)組的行數(shù)乘以數(shù)組的列數(shù)就是數(shù)組中元素的個數(shù)。另外,根據(jù)需要可以用一條命令定義一個或多個數(shù)組,各數(shù)組名之間用逗號隔開。定義一個含有 10 個數(shù)組元素的一維數(shù)組 GROUP,用命令:DIMENSIONGROUP(10)該數(shù)組共有 1
30、0 個數(shù)組元素。定義一個具有 2 行 4 列,名為 PART 的二維數(shù)組,用命令:DIMENSIONPART(2,4)該數(shù)組共有 8 個數(shù)組元素。在同一個命令中定義三個數(shù)組 ar1、ar2、ar3,用命令:DIMENSIONAR1(3,5),AR2(2,4),AR3(50) 數(shù)組創(chuàng)建后,系統(tǒng)將數(shù)組的所有元素都初始化為邏輯值“假”(.F.)。為數(shù)組賦值即為數(shù)組元素重新賦值。賦值方法同為變量賦值一樣,數(shù)組元素的類型由用戶賦予值的類型決定。同一數(shù)組各元素值的類型可以各不相同。為數(shù)組 GROUP 中的元素賦值,可以使用如下命令:GROUP(1)=000002GROUP(2)=李飛GROUP(3)=女G
31、ROUP(4)=01/20/2005GROUP(5)=.T.其余的 GROUP(6)、GROUP(7)、GROUP(8)、GROUP(9)、GROUP(10)還均保留默認(rèn)值 .F. 。如果命令 SET COMPATIBLE 設(shè)置為 FOXPLUS 或 OFF(默認(rèn)設(shè)置),則可以用賦值語句為數(shù)組名賦值,從而實現(xiàn)為數(shù)組中的所有元素賦相同的值。定義一個 5 行 5 列的二維數(shù)組 X,將其所有元素賦值為“男”,可用命令:DIMENSIONX(5,5)STORE男TOX(3)字段變量字段變量隨著表文件的打開而產(chǎn)生,它是表中最基本的數(shù)據(jù)單元,它的名稱、類型、值等內(nèi)容在打開表文件的同時定義、賦值。字段變量除
32、了可以是數(shù)值、字符、日期、邏輯、貨幣等數(shù)據(jù)類型外,還可以是一些特殊的數(shù)據(jù)類型,例如備注、通用等。字段變量是一個多值變量,表文件中的記錄個數(shù)就是同一個變量名中保留的值的個數(shù)。但任意時刻,字段變量只能有一個值,即記錄指針?biāo)赣涗泴?yīng)的值。如果內(nèi)存變量名與字段變量的名字重名,系統(tǒng)默認(rèn)為是字段變量,此時如果需引用內(nèi)存變量應(yīng)在其變量名前加上“M.”或“M-”,以示區(qū)別。例如,內(nèi)存變量姓名=王五,打開的表文件中如果也有姓名字段,且記錄指針指向姓名為“李飛”的記錄:?姓名顯示結(jié)果為:李飛,?m.姓名顯示結(jié)果為:王五。(4)系統(tǒng)內(nèi)存變量系統(tǒng)內(nèi)存變量是 Visual FoxPro 6.0 建立并自動維護(hù)的內(nèi)部變
33、量,是為方便程序設(shè)計而設(shè)置的。系統(tǒng)內(nèi)存變量被默認(rèn)為全局變量(PUBLIC),用戶也可以將系統(tǒng)內(nèi)存變量改為局部變量(PRIVATE)。系統(tǒng)內(nèi)存變量名以下畫線開頭,與一般變量有相同的意義和使用方法。因此可以像使用一般變量那樣使用系統(tǒng)內(nèi)存變量。3運算符和表達(dá)式如同數(shù)學(xué)運算一樣,運算符用以連接運算對象。運算對象包括常量、變量和函數(shù)。將運算對象按照一定的規(guī)則用運算符連接起來得到表達(dá)式。Visual FoxPro 6.0 中的表達(dá)式根據(jù)參與運算的數(shù)據(jù)類型分為五種:算術(shù)表達(dá)式、字符串表達(dá)式、日期時間表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式。(1)算術(shù)表達(dá)式算術(shù)表達(dá)式是用算術(shù)運算符將數(shù)值型運算對象連接起來的表達(dá)式,算術(shù)
34、運算符如表 4-2-2 所示。算術(shù)運算的優(yōu)先順序由高到低為:正號(+)和負(fù)號(-)、乘方( 或*)、乘(*)、除(/)和取余(%)、加(+)和減(-)。同級運算由左向右進(jìn)行。小括號可以改變運算的優(yōu)先順序。括號可以嵌套,一律使用小括號(),運算時內(nèi)層括號優(yōu)先。(2)字符串表達(dá)式字符串表達(dá)式是由字符串運算符將字符類運算對象連的表達(dá)式,字符串運算符如表 4-2-3 所示。+、-運算符的優(yōu)先級高于$,+、-運算符的優(yōu)先級相同。同級運算由左向右進(jìn)行。(3)日期時間表達(dá)式日期時間表達(dá)式是用日期時間型運算符將日期型或日期時間型常量、變量或函數(shù)連接起來的表達(dá)式,日期時間運算符如表 4-2-4 所示。兩個運算符
35、的優(yōu)先級相同。同級運算由左向右進(jìn)行。需要注意的是時間越靠后越大,2008年 12 月 20 日比 2008 年 12 月 2 日大,比 2008 年 12 月 25 日小。(4)關(guān)系表達(dá)式關(guān)系表達(dá)式也稱比較運算。關(guān)系表達(dá)式是用關(guān)系運算符將同類型可比較的兩個常量、變量或函數(shù)連接起來的表達(dá)式。關(guān)系運算符如表 4-2-5 所示。比較運算符的優(yōu)先級相同。同級運算由左向右進(jìn)行。其中,數(shù)值型數(shù)據(jù)按其數(shù)值的大小進(jìn)行比較;字符型數(shù)據(jù)按其第一個字符的 ASCII 值進(jìn)行比較,如果第一個字符相同,再比較第二個,依此類推;漢字按照內(nèi)碼進(jìn)行比較;日期型數(shù)據(jù)越靠后的越大;邏輯值 .F. 小于邏輯值.T.。默認(rèn)情況下,S
36、ET EXACT 為 OFF 時,只要從第一個字符起后串與前串對應(yīng)字符相同,等號“=”比較的結(jié)果就為.T.。SET EXACT 為 ON 時,為精確比較,要求兩個字符串完全相同時,運算結(jié)果才為.T.,否則為.F.。例如,在命令窗口中輸入:set exact off?王五=王結(jié)果為:.T.set exact on?王五=王結(jié)果為:.F.(5)邏輯表達(dá)式邏輯表達(dá)式也稱作布爾運算。邏輯表達(dá)式是用邏輯運算符將邏輯型運算對象連接起來的表達(dá)式。邏輯運算符如表 4-2-6 所示。邏輯運算的優(yōu)先級由高到低為:邏輯非(NOT)、邏輯與(AND)、邏輯或(OR)。在一個表達(dá)式中可能包含幾種不同類型的運算。要注意運
37、算符與運算對象類型一致的問題,否則會產(chǎn)生操作符與操作數(shù)類型不匹配的錯誤。不同類型運算的優(yōu)先順序由高到低為:算術(shù)型運算和字符型運算、日期時間型運算、關(guān)系型運算、邏輯型運算。括號可改變優(yōu)先級順序。例如,在命令窗口中輸入:?3+23-15%3 and not 王五=王 +五 or07/20/05=05/04/05結(jié)果為:.T.。4順序結(jié)構(gòu)根據(jù)語句的書寫順序依次執(zhí)行程序命令的程序結(jié)構(gòu)稱為順序結(jié)構(gòu),如圖 4-2-2 所示,執(zhí)行了程序段 1 后按順序執(zhí)行程序段 2。5分支結(jié)構(gòu)在程序編寫過程中,有時需要根據(jù)不同的條件,選擇執(zhí)行不同的程序語句,這種程序結(jié)構(gòu)被稱為分支結(jié)構(gòu)。分支結(jié)構(gòu)以條件或判斷為起始點,根據(jù)邏輯
38、判斷是否成立而決定程序運行的方向,如圖 4-2-3 所示。立?圖 4-2-2順序結(jié)構(gòu)圖 4-2-3分支結(jié)構(gòu)(1)IF 語句命令格式:IF 邏輯表達(dá)式 THEN程序段 1ELSE程序段 2ENDIF說明:該語句根據(jù)邏輯表達(dá)式的值,判斷是否執(zhí)行程序段,如果邏輯表達(dá)式的值為真,執(zhí)行程序段 1 之后執(zhí)行 ENDIF 后的語句。如果邏輯值為假則執(zhí)行程序段 2,如果沒有 ELSE 語句及程序段 2,則直接執(zhí)行 ENDIF 后的語句。IF 與 ENDIF 必須成對使用,在 IFENDIF 之間還可以有成對使用的 IFENDIF 語句,這種情況被稱為分支嵌套。(2)DO CASE命令格式:DO CASECAS
39、E 邏輯表達(dá)式 1程序段 1CASE 邏輯表達(dá)式 2程序段 2CASE 邏輯表達(dá)式 n程序段 nOTHERWISE程序段 0ENDCASE說明:該語句根據(jù)多個不同的條件決定執(zhí)行不同的程序段,當(dāng)程序執(zhí)行到 DO CASE 時,先求邏輯表達(dá)式 1 的值,如果不為真,則求邏輯表達(dá)式 2 的值,以此類推直到邏輯表達(dá)式 n。當(dāng)檢測到第一個值為真的邏輯表達(dá)式時,執(zhí)行其后的程序段,執(zhí)行完后跳過后面所有的 CASE,執(zhí)行ENDCASE 后的語句。如果所有 CASE 后的邏輯表達(dá)式值都為假,則執(zhí)行 OTHERWISE 后的程序段。如果沒有 OTHERWISE,則直接執(zhí)行 ENDCASE 以后的程序。注意,在 D
40、O CASE 和 ENDCASE 之間可以有任意多個 CASE 。但是 DO CASE 和 ENDCASE 必須成對使用。6循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是指根據(jù)特定的條件,從程序某個位置開始有規(guī)律地反復(fù)執(zhí)行一段程序,而執(zhí)行次立?數(shù)由一個控制循環(huán)的條件決定,如圖 4-2-4 所示。立?圖 4-2-4(1)FORENDFOR 語句命令格式:FOR 循環(huán)變量=初值 TO 終值 STEP 步長值循環(huán)體循環(huán)結(jié)構(gòu)LOOPEXITENDFOR說明:“循環(huán)體”是由用戶定義的一段程序。LOOP 子句可以放在“循環(huán)體”中的任意位置,當(dāng)程序執(zhí)行到該子句時,則直接返回第二步。EXIT 子句可以放在“循環(huán)體”中的任意位置,當(dāng)程序執(zhí)
41、行到該子句時,則無條件跳出循環(huán),執(zhí)行 ENDFOR 后面的語句。該語句可以根據(jù)給定條件,重復(fù)執(zhí)行一段程序,執(zhí)行次數(shù)由給定條件確定。執(zhí)行時首先把初值賦給循環(huán)變量。接著檢查循環(huán)變量的值沿變化方向是否超過終值。如果超過就跳出循環(huán),執(zhí)行 ENDFOR 后面的語句;如果未超過則執(zhí)行一次“循環(huán)體”,遇到 ENDFOR 語句時,把“循環(huán)變量+步長值”的結(jié)果賦給循環(huán)變量。重復(fù)前兩步,直到循環(huán)變量的值沿變化方向超過終值,結(jié)束循環(huán)。需要注意的是,F(xiàn)ORENDFOR 循環(huán)語句中的 FOR 語句和 ENDFOR 語句必須成對出現(xiàn),不能單獨使用,且必須各占一行。FORENDFOR 循環(huán)可以嵌套使用。但每一層的循環(huán)變量應(yīng)
42、唯一。內(nèi)層循環(huán)應(yīng)完全在外層循環(huán)體內(nèi),內(nèi)外循環(huán)不得互相交叉。FORENDFOR 循環(huán)遵循“先檢查,后執(zhí)行”的原則,在下列兩種情況下,“循環(huán)體”不被執(zhí)行: 當(dāng)步長為正數(shù)時,初值大于終值。 當(dāng)步長為負(fù)數(shù)時,初值小于終值。所以,循環(huán)體最少執(zhí)行 0 次。當(dāng)初值等于終值時,均執(zhí)行一次“循環(huán)體”。循環(huán)次數(shù)=INT(終值-初值)/步長+(1)。如果在 FORENDFOR 之間改變循環(huán)變量的值,將影響循環(huán)執(zhí)行的次數(shù)。(2)DO WHILE命令格式:DO WHILE 邏輯表達(dá)式循環(huán)體LOOPEXITENDDO說明:該語句根據(jù)邏輯表達(dá)式的值,決定是否重復(fù)執(zhí)行“循環(huán)體”。邏輯表達(dá)式的值為真,執(zhí)行“循環(huán)體”,遇到 EN
43、DDO 后返回 DO WHILE 再次計算邏輯表達(dá)式是否為真,如此循環(huán)往復(fù)直至邏輯表達(dá)式的值為假時,則跳過“循環(huán)體”,執(zhí)行 ENDDO 后面的語句。LOOP 子句可以放在“循環(huán)體”中的任意位置,當(dāng)程序執(zhí)行到該子句時,則返回 DO WHILE 重新判斷邏輯表達(dá)式。EXIT 子句可以放在“循環(huán)體”中的任意位置,當(dāng)程序執(zhí)行到該子句時,則無條件跳出循環(huán),執(zhí)行 ENDDO 后面的語句。DO WHILE 與 ENDDO 必須成對使用。該語句也可以嵌套使用。(3)SCAN命令格式:SCAN范圍 FOR 條件 1 WHILE 條件 2循環(huán)體LOOPEXITENDSCAN說明:SCAN 語句類似于循環(huán)語句 DO
44、 WHILEENDDO 或 FORENDFOR,只不過是專門針對數(shù)據(jù)表的循環(huán)。SCAN 語句在打開的數(shù)據(jù)表中,自動移動記錄指針,將記錄從頭到尾掃描一遍,每移動一次記錄指針,就執(zhí)行一次循環(huán)體。該語句要求必須先打開一數(shù)據(jù)表。范圍,在指定記錄范圍內(nèi)掃描打開的數(shù)據(jù)表。FOR 條件 1 WHILE 條件 2,根據(jù)給定的條件,只掃描符合條件的記錄。如果不帶范圍和條件子句,則默認(rèn)掃描表中的全部記錄。LOOP 子句可以放在程序段中的任何地方,當(dāng)程序一旦執(zhí)行到該子句時,則返回 SCAN 重新執(zhí)行。EXIT 子句可以放在程序段中的任何地方,當(dāng)程序一旦執(zhí)行到該子句時,則無條件跳出循環(huán),執(zhí)行 ENDSCAN 后面的語
45、句。4.3【案例 17】使用子程序和函數(shù)進(jìn)行程序設(shè)計案例描述編寫代碼的時候經(jīng)常會遇到同一段代碼在不同的地方執(zhí)行多次的情況。將代碼放入子程序或者函數(shù)中,可以方便其他地方調(diào)用執(zhí)行。函數(shù)是 Visual FoxPro 6.0 的重要組成部分。VisualFoxPro 6.0 中的許多操作和功能都是通過函數(shù)實現(xiàn)的。相關(guān)知識1子程序概述編寫代碼的時候經(jīng)常會遇到同一段代碼在不同的地方執(zhí)行多次的情況??梢园研枰貜?fù)使用的代碼單獨保存在擴展名為.prg 的程序文件中,供其他程序反復(fù)調(diào)用,這樣的程序文件就是Visual FoxPro 6.0 中的子程序。使用子程序可以避免程序冗長,提高程序可讀性,縮短開發(fā)周期。
46、例如,有兩個程序文件分別為 A.prg 和 B.prg。&主程序 A.prgACCEPT 請輸入表名: TO FILENAMEUSE &FILENAMEACCEPT 請輸入要查詢的編號: TO STUIDDO B&子程序 B.prgLOCATE FOR 編號=STUIDDISPRETURN&調(diào)用程序 B&返回主程序當(dāng)程序 A 執(zhí)行到 DO B 這一語句時,轉(zhuǎn)去執(zhí)行 b 程序,當(dāng) B 程序執(zhí)行到 RETURN 語句時返回 A程序,繼續(xù)執(zhí)行 A 程序 DO B 語句之后的語句。這種情況稱為 A 程序調(diào)用 B 程序,A 是主程序,B是子程序。主程序、子程序是相對的。假如 B 程序又調(diào)用另一個程序 C
47、,那么 B 程序就是 C 程序的主程序,C 程序就是 B 程序的子程序。注意每個子程序至少有一個 RETURN 語句,并將該語句放到最后,在 RETURN 語句后面的語句不會被執(zhí)行。在實際的編寫代碼的過程中經(jīng)常發(fā)現(xiàn),程序中重復(fù)出現(xiàn)的多是處理數(shù)據(jù)一些步驟,但是每次處理的數(shù)據(jù)對象卻有所不同,這時用前面介紹的方法就難以編寫出合適的代碼。解決這種問題就要采用帶參數(shù)的子程序了。所謂“參數(shù)”就是向子程序傳遞的信息。它可以是一個字符串,也可以是一個數(shù)值。用 PARAMETERS 聲明的變量被稱為形式參數(shù),如果多于一個參數(shù),則參數(shù)之間用逗號分開。形式參數(shù)只是一個參與運算的符號,沒有任何實際的值,只有在子程序被
48、調(diào)用時,才由主程序的WITH 關(guān)鍵字后的實際參數(shù)指出要傳遞給子程序的數(shù)據(jù)。需要強調(diào)的是形式參數(shù)和實際參數(shù)的個數(shù)必須一致,順序必須對應(yīng)。二者對應(yīng)參數(shù)的數(shù)據(jù)類型必須一致。子程序還可以通過參數(shù)返回一些值供主程序來引用,以便進(jìn)行其他的運算。例如,下面的程序中,主程序用變量 R 接收圓的半徑,調(diào)用子程序的時候?qū)?R 的值作為實際參數(shù)傳遞給子程序CIR.prg 中的形式參數(shù) I。子程序?qū)⒏鶕?jù) I 計算出的圓面積存入形式參數(shù) J 中,返回主程序時,將 j 的值傳遞給主程序的實際參數(shù) S。由主程序輸出實際參數(shù) S 的值。&子程序 CIR.prgPARAMETERS I,J&定義形式參數(shù) I 和 JJ=3.14
49、*I*IRETURN&主程序 MAIN.PRGCLEARINPUT 請輸入圓的半徑: TO RS=0DO CIR WITH R,S?半徑為+ALLTRIM(STR(R)+圓的面積為:,S2過程概述在編寫一個大型程序時,可能有許多段代碼需要重復(fù)使用,如果都寫成子程序,就要創(chuàng)建很多.prg 文件。由于每個子程序都作為單獨的文件處理,所以過多的子程序會帶來加載文件耗時的問題,而且不便于管理。因此需要引入“過程”的概念。其實過程和子程序非常相似,只是將多個子程序保存在同一個.prg 文件中。在.prg 文件中每個子程序單獨定義。而含有多個子程序的.prg 文件稱為“過程文件”。當(dāng)然還可以將過程放在主程
50、序的結(jié)尾,但不能把主程序代碼放在過程之后。在過程文件中編寫子程序必須先對子程序進(jìn)行定義,否則多個子程序就會混在一起,無法分清。過程的定義形式如下:PROCEDURE過程名PARAMETERS參數(shù) 1,參數(shù) 2.過程體RETURN TO 程序名其中 PROCEDURE 是標(biāo)識開始過程定義的關(guān)鍵字,“過程名”是標(biāo)識此過程的名字,此名必須唯一。此處應(yīng)盡可能使用能表達(dá)過程主要功能的名稱。PARAMETERS 和 RETURN 的用法和子程序的用法一樣,就不再贅述。調(diào)用過程的方法和調(diào)用子程序的方法近似。但是要注意在調(diào)用過程時要指出調(diào)用的過程包含在哪個過程文件中,方法有兩種:(1)DO 語句命令:DO 過
51、程名 WITH 參數(shù)表 IN 過程文件名功能:其中,IN 關(guān)鍵字指出定義該過程的過程文件名。(2)打開指定的過程文件命令:SET PROCEDURE TO 過程文件名功能:該語句可以用在主程序中,打開指定的過程文件,要求過程文件名必須帶擴展名。打開的過程文件中的過程就可以在主程序中用下面命令調(diào)用。DO 過程名3函數(shù)概述根據(jù)函數(shù)返回值的數(shù)據(jù)類型,可以將函數(shù)分為字符型函數(shù)、數(shù)值型函數(shù)、日期型函數(shù)、日期時間型函數(shù)、邏輯型函數(shù)、貨幣型函數(shù)等幾類。Visual FoxPro 6.0 中的函數(shù)大多按照以下格式使用:函數(shù)名(參數(shù)名表)其中函數(shù)名定義了函數(shù)的功能。參數(shù)名表決定了函數(shù)的操作對象,有的函數(shù)包含多個
52、參數(shù),有的函數(shù)沒有參數(shù)。多個參數(shù)間用逗號“,”隔開。參數(shù)名表一定要用小括號括起,即便沒有參數(shù),小括號也不能省略。4數(shù)值函數(shù)(1)ABS()命令:ABS(nExpression)功能:返回指定數(shù)值型表達(dá)式的絕對值。說明:參數(shù) nExpression 指定由 ABS()返回絕對值的數(shù)值表達(dá)式,返回值為數(shù)值型。(2)INT()命令:INT(nExpression)功能:計算一個數(shù)值表達(dá)式的值,并返回其整數(shù)部分。說明:參數(shù) nExpression 指定 INT()計算的數(shù)值表達(dá)式,返回值為數(shù)值型。(3)MAX()命令:MAX(eExpression1,eExpression2,eExpression3
53、)功能:比較幾個表達(dá)式的值,并返回其中值最大的表達(dá)式。說明:參數(shù) eExPression1,eExpression2 ,eExpression3指定多個表達(dá)式,MAX()返回其中值最大的表達(dá)式。所有表達(dá)式必須為同一數(shù)據(jù)類型。返回值的類型由參數(shù)類型決定,可以有字符型、數(shù)值型、貨幣型、雙精度型、浮點型、日期型或日期時間型。(4)MIN()命令:MIN(eExpression1,eExpression2,eExpression3)功能:比較幾個表達(dá)式的值,并返回其中值最小的表達(dá)式。說明:參數(shù) eExpression1,eExpression2 ,eExpression3指定多個表達(dá)式,MIN()返回
54、其中值最小的表達(dá)式。返回值的類型由參數(shù)類型決定,可以有字符型、數(shù)值型、貨幣型、雙精度型、浮點型、日期型、日期時間型。(5)MOD()命令:MOD ( nDividend,nDivisor)功能:用一個數(shù)值表達(dá)式去除以另一個數(shù)值表達(dá)式,返回余數(shù)。說明:參數(shù) nDividend 指定被除數(shù);nDividend 中的小數(shù)位數(shù)決定了返回值中的小數(shù)位;nDivisor 指定除數(shù);除數(shù)的符號決定返回值的符號,與算術(shù)運算符功能相同;返回值為數(shù)值型。(6)SQRT()命令:SQRT(nExpression)功能:返回指定數(shù)值表達(dá)式的算術(shù)平方根。說明:參數(shù) nExpression 指定由 SQRT ()計算的數(shù)
55、值表達(dá)式,nExpression 不可為負(fù)值。返回值為數(shù)值型。(7)ROUND ()命令:ROUND(nExpression,nDecimalPlaces)功能:計算一個數(shù)值表達(dá)式的值,并對結(jié)果按要求四舍五入。說明:參數(shù) nExpression 指定 ROUND()計算的數(shù)值表達(dá)式。nDecimalPlaces 指定保留的小數(shù)位數(shù)。如果 nDecimalPlaces 為負(fù)數(shù),則 ROUND()返回的結(jié)果在小數(shù)點左端包含 nDecimalPlaces個零。例如,如果 nDecimalPlaces 為 -2,那么個位和十位均為 0。返回值為數(shù)值型。5字符函數(shù)(1)ALLTRIM()命令:ALLTR
56、IM(cExpression)功能:刪除位于指定字符表達(dá)式前后的空格,并返回刪除空格后的字符串。說明:參數(shù) cExpression 指定的字符表達(dá)式,ALLTRIM()函數(shù)將刪除其首尾空格。返回值為字符型。功能:刪除指定字符表達(dá)式的前導(dǎo)空格,并返回刪除空格后的字符串。說明:參數(shù) cExpression 指定的字符表達(dá)式,LTRIM()函數(shù)將刪除其前導(dǎo)空格。返回值為字符型。(3)LEFT()命令:LEFT(cExpression,nCharacters)功能:從字符表達(dá)式最左邊字符開始,返回指定數(shù)目的字符。說明:參數(shù) cExpression 指定字符表達(dá)式,LEFT()函數(shù)從中返回最左邊指定個數(shù)
57、的字符。nCharacters 指 定 從 字 符 表 達(dá) 式 中 返 回 的 字 符 個 數(shù) 。 如 果 nCharacters 的 值 大 于cExpression 的長度,則返回字符表達(dá)式中的全部字符。否則,返回相應(yīng)字符串。LEFT()函數(shù)與起始位置為 1 的 SUBSTR()函數(shù)是等價的。返回值為字符型。(4)RIGHT()命令:RIGHT(cExpression,nCharacters)功能:從字符串中的最右邊開始返回指定數(shù)目的字符。說明:參數(shù) cExpression 指定的字符表達(dá)式,RIGHT()函數(shù)從中返回最右邊指定個數(shù)的字符。nCharacters 指定從字符串中返回的字符個
58、數(shù)。如果 nCharacters 大于 cExpression 的長度,RIGHT()函數(shù)返回整個字符表達(dá)式。如果 nCharacters 為負(fù)數(shù)或 0,則 RIGHT()函數(shù)返回空字符串。返回值為字符型。(5)ASC()命令:ASC(cExpression)功能:返回位于指定字符表達(dá)式中最左邊字符的 ASCII 碼值。說明:參數(shù) cExpression 指定的字符表達(dá)式。ASC()函數(shù)僅返回 cEpression 中第一個字符的ASCII 碼值,而忽略其他字符。返回值為數(shù)值型。(6)LOWER()命令:LOWER(cExpression)功能:將指定的字符表達(dá)式轉(zhuǎn)換成小寫字母。說明:參數(shù) c
59、Expression 指定要由 LOWER()函數(shù)轉(zhuǎn)換的字符表達(dá)式。返回值為字符型。與此相反,將小寫字母轉(zhuǎn)換為大寫字母用函數(shù) UPPER()。(7)STR()命令:STR(nExpression,nLength,nDecimalplaces)功能:將指定數(shù)值表達(dá)式的結(jié)果轉(zhuǎn)換為字符串。說明:參數(shù) nExpression 為 STR()要轉(zhuǎn)換的數(shù)值表達(dá)式。nLength 為 STR()返回的字符串長度。如果指定長度大于實際的數(shù)字位數(shù),STR()用前導(dǎo)空格填充返回的字符串;如果指定長度小于 nExpression 的整數(shù)部分,STR()返回一串星號,表示數(shù)值溢出。nDecimalPlaces 指定由
60、 STR()返回的字符串的小數(shù)位數(shù),如果要指定小數(shù)位數(shù),必須同時包含 nLength。如果指定的小數(shù)位數(shù)小于 nExpression 中的小數(shù)位數(shù),則截掉多余的數(shù)字。返回值為字符型。(8)SUBSTR()命令:SUBSTR(cExpression,nStartPosition,nCharactersReturned)功能:從給定的字符表達(dá)式或備注字段變量中返回指定數(shù)目的字符。說 明 : 參 數(shù) cExpression 指 定 要 從 其 中 返 回 字 符 串 的 字 符 表 達(dá) 式 或 備 注 字 段 變 量 。nStartPosition 指 定 從 nStartPosition 的 何
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)業(yè)訂單收購合同范本
- 茶葉采購與銷售合同樣本
- 無子女離婚法律合同文本
- 正式勞動合同書范本合同
- 家居用品采購及安裝合同范本
- 8安全記心上-119的警示(第3課時)(教學(xué)設(shè)計)2023-2024學(xué)年統(tǒng)編版道德與法治三年級上冊
- 10古詩三首《石灰吟》《竹石》教學(xué)設(shè)計-2023-2024學(xué)年六年級語文下冊統(tǒng)編版
- 人事管理合同樣本大全
- 6《景陽岡》教學(xué)設(shè)計-2023-2024學(xué)年語文五年級下冊統(tǒng)編版
- 個人保證貸款合同范本
- 國際物流與國際進(jìn)出口業(yè)務(wù)流程詳細(xì)
- 市場營銷模擬實驗實訓(xùn)
- 傳幫帶培訓(xùn)課件
- 《和大人一起讀》試題及答案共4套
- 第一課 踏上強國之路 復(fù)習(xí)課件 統(tǒng)編版道德與法治九年級上冊
- 陳赫賈玲小品《歡喜密探》臺詞劇本
- 2023智能低壓配電箱技術(shù)條件
- 加油站地罐交接及容積表關(guān)系
- 新教材人教版高中數(shù)學(xué)必修第二冊全冊教案
- 班(組)戰(zhàn)斗動作訓(xùn)練教案
- 農(nóng)產(chǎn)品電商運營-完整全套課件
評論
0/150
提交評論