第2章 Visual FoxPro概述.ppt_第1頁(yè)
第2章 Visual FoxPro概述.ppt_第2頁(yè)
第2章 Visual FoxPro概述.ppt_第3頁(yè)
第2章 Visual FoxPro概述.ppt_第4頁(yè)
第2章 Visual FoxPro概述.ppt_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2020/7/28,1,1,主講:王學(xué)軍 電話移動(dòng)校園網(wǎng)) 電郵: 辦公地點(diǎn):系部辦公樓(原學(xué)生1號(hào)宿舍樓)507,Visual FoxPro教程,2020/7/28,2,第2章 VFP數(shù)據(jù)庫(kù)管理系統(tǒng)概述,在數(shù)據(jù)庫(kù)方面:嚴(yán)格區(qū)分了數(shù)據(jù)庫(kù)與表概念、引入復(fù)合索引技術(shù)、引入SQL命令 在數(shù)據(jù)操作方面:多種數(shù)據(jù)交換手段、支持眾多與其他應(yīng)用程序進(jìn)行數(shù)據(jù)交換的文件格式 在程序設(shè)計(jì)方面:可視化、支持面向?qū)ο?在操作使用方面:功能完善的集成環(huán)境,VFP是基于Windows平臺(tái)上的可視化數(shù)據(jù)庫(kù)管理系統(tǒng),具有功能強(qiáng)大、操作簡(jiǎn)便、可視化強(qiáng)、面向?qū)ο蟮仍S多特點(diǎn)。,2020/7/28,3,本章

2、要點(diǎn),Visual FoxPro的操作環(huán)境 Visual FoxPro文件類(lèi)型 Visual FoxPro的項(xiàng)目管理及其操作 Visual FoxPro語(yǔ)言基礎(chǔ),2020/7/28,4,2.1 VFP操作環(huán)境,2.1.1 Visual FoxPro操作界面,2020/7/28,5,2.1 VFP操作環(huán)境,標(biāo)題欄 菜單欄 工具欄 主窗口 命令窗口 狀態(tài)欄,2.1.1 Visual FoxPro操作界面,2020/7/28,6,2.1 Visual FoxPro的操作環(huán)境,斜體字:通常指命令的操作對(duì)象或參數(shù) 方括號(hào):可選項(xiàng),若使用則可使命令具有某一功能 省略號(hào):前一語(yǔ)法成份可重復(fù)多次 豎線:前后語(yǔ)

3、法成份選擇其一 如:DELETE FILE FileName|?RECYCLE,2.1.2 命令說(shuō)明,1. 命令的語(yǔ)法格式說(shuō)明,注:較長(zhǎng)命令可在命令窗口中按Ctrl+Enter鍵以換行輸入,在程序中可用英文標(biāo)點(diǎn)分號(hào)(;)換行輸入 絕大多數(shù)命令中的關(guān)鍵字(包括函數(shù)名)可用其前4個(gè)字符代替 命令后面可用“”分隔的文件擴(kuò)展名列表 如只包含分號(hào)“;”同,則顯示所有不帶擴(kuò)展名的文件 可包含通配符(* 和?),2020/7/28,41,例:?GetFile(DBF,表文件名),2020/7/28,42,在 VFP中,運(yùn)算符可分為數(shù)值運(yùn)算符、 字符運(yùn)算符、日期/時(shí)間運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符,相應(yīng)的表達(dá)

4、式也就稱(chēng)為數(shù)值表達(dá)式、 字符表達(dá)式、日期表達(dá)式、關(guān)系表達(dá)式和邏輯表達(dá)式此外,還有一種特殊表達(dá)式名稱(chēng)表達(dá)式。,2.4 Visual FoxPro語(yǔ)言基礎(chǔ),2.4.4 運(yùn)算符與表達(dá)式,運(yùn)算符是用于同類(lèi)型數(shù)據(jù)間的運(yùn)算(如若類(lèi)型不同,一般要先轉(zhuǎn)換類(lèi)型);表達(dá)式是通過(guò)運(yùn)算符將數(shù)據(jù)組合起來(lái)可以運(yùn)算的式子,其運(yùn)行結(jié)果為單個(gè)值。,2020/7/28,43,按優(yōu)先級(jí)由高到低排列 ( )、*或、*、/、%、+、-,1. 數(shù)值運(yùn)算符與表達(dá)式,“+” 連接 如:?”Visual”+”FoxPro” ?”姓名:”+xs.xm ?xs.ximing+xs.xm “-” 連接,同時(shí)刪除左側(cè)字符串尾部空格 ?xs.ximin

5、g xs.xm “$”運(yùn)算,查看一個(gè)串是否包含在一個(gè)串中,結(jié)果是一個(gè)邏輯值。,2. 字符運(yùn)算符與表達(dá)式,2020/7/28,44,3.日期和日期時(shí)間運(yùn)算符(“+”、“-”),日期-日期 結(jié)果是天數(shù)(數(shù)值型) ?1999/12/19 1999/11/16 日期+天數(shù) 結(jié)果是日期型數(shù)據(jù) ?1999/11/16+33 日期-天數(shù) 結(jié)果是日期型數(shù)據(jù) ?1999/12/19 33,4.關(guān)系運(yùn)算符與表達(dá)式,、=、或#或!=、=或=、= 比較字符串時(shí),系統(tǒng)對(duì)兩個(gè)字符串中的字符從左向右逐個(gè)進(jìn)行比較,一旦發(fā)現(xiàn)兩個(gè)對(duì)應(yīng)字符不同,就根據(jù)這兩個(gè)字符的排序序列決定兩個(gè)字符串的大小。,2020/7/28,45,【注】設(shè)置

6、字符的排序序列 字符序列的設(shè)置分為三種情況: Machine(機(jī)器)序列: 按機(jī)器內(nèi)碼順序排列,由小到大是:空格、大寫(xiě)字母、小寫(xiě)字母。 PinYin(拼音)序列: 漢字按拼音順序,對(duì)于西文,由小到大是:空格、小寫(xiě)字母、大寫(xiě)字母。 Stroke(筆畫(huà))序列: 漢字按書(shū)寫(xiě)筆畫(huà)的多少,對(duì)于西文,由小到大是;空格、小寫(xiě)字母、大寫(xiě)字母。,2020/7/28,46,系統(tǒng)默認(rèn)的字符序列為“PinYin”,可在“選項(xiàng)”對(duì)話框中“數(shù)據(jù)”選項(xiàng)卡中設(shè)置,也可用SET COLLATE TO命令更改。 例:SET COLLATE TO Machine ?AB,aA, A .T. .F. .T. SET COLLATE

7、TO PinYin ?AB,aA,A .T. .T. .T. 字符串精確比較 使用“=”進(jìn)行字符串比較時(shí),受SET EXACT命令的影響。當(dāng)SET EXACT OFF(默認(rèn)值)時(shí),如果“=”右邊的字符串長(zhǎng)度比左邊的短,則左邊取右邊長(zhǎng)度比較;當(dāng)SET EXACT ON時(shí),首先將字符串短的一邊尾部加上空格,使兩邊相等后比較。,2020/7/28,47,例:,2020/7/28,48,NOT或! 邏輯“非”,用于取反一個(gè)邏輯值 AND邏輯“與”,用于對(duì)兩個(gè)邏輯值“與”操作 OR邏輯“或”,用于對(duì)兩個(gè)邏輯值“或”操作,5.邏輯運(yùn)算符與表達(dá)式,【注】VFP的邏輯表達(dá)式是自左向右進(jìn)行運(yùn)算的。運(yùn)算過(guò)程中,當(dāng)

8、運(yùn)算出某個(gè)中間結(jié)果后,若已經(jīng)能夠確定最終結(jié)果,將終止本邏輯表達(dá)式中后面部分的運(yùn)算。如: ?3*510 AND ab .F.,2020/7/28,49,6.名稱(chēng)表達(dá)式,名稱(chēng)表達(dá)式是由圓括號(hào)括起來(lái)的一個(gè)字符表達(dá)式,用來(lái)替換命令函數(shù)中的名稱(chēng),從而為VFP命令和函數(shù)提供了靈活性。下面是使用名稱(chēng)表達(dá)式的一些示例。,替換文件名 dbf_name=“js” USE (dbf_name) &等價(jià)于use js 替換變量名 例:nvar=100 var_name=nvar STORE 123.4 TO (var_name) ?nvar&結(jié)果123.4,2020/7/28,50,作為函數(shù)參數(shù) str=Visual

9、 FoxPro str_var=str ?SUBSTR(str_var),1,6) &結(jié)果為Visual 用字符表達(dá)式來(lái)構(gòu)成一個(gè)名稱(chēng)表達(dá)式 db_name=jxsj dbf_name=js USE(db_name+!+dbf_name) &等價(jià)于USE jxsj!js,【注】在使用名稱(chēng)表達(dá)式時(shí),名稱(chēng)表達(dá)式不能出現(xiàn)在賦值語(yǔ)句的左邊。如下面命令在過(guò)程執(zhí)行時(shí)報(bào)錯(cuò): var_name=“nVar” (var_name)=100,2020/7/28,51,7.宏替換,宏替換與名稱(chēng)表達(dá)式具有相似的作用,可使用宏替換的方法用內(nèi)存變量替換名稱(chēng)。使用宏替換時(shí),將連字符(&)放在變量前,告訴VFP將此變量值當(dāng)作名

10、稱(chēng)使用,并使用一個(gè)句號(hào)(.)來(lái)結(jié)束這個(gè)宏替換表達(dá)式。如: nVar=100 var_name=“nVar” STORE 123.4 TO &var_name,【注】宏替換與名稱(chēng)表達(dá)式都可以用變量或數(shù)組中的值來(lái)替換名稱(chēng),但宏替換的使用范圍更廣些,有些地方只能用宏替換而不能用名稱(chēng)表達(dá)式,它們的主要區(qū)別示例如下:,2020/7/28,52,宏替換可以用以構(gòu)成表達(dá)式,而名稱(chēng)表達(dá)式不能作為其他表達(dá)式的組成部分。如: field_name=“js.xm” LOCATE FOR &field_name=“程?hào)|萍” LOCATE FOR (field_name)=“程?hào)|萍” 在某些命令和函數(shù)中不能使用名稱(chēng)表達(dá)

11、式。如: var_name=“cVar3” &var_name=“test2” (var_name)=“test2” STORE “test1” TO (var_name) ?&var_name&結(jié)果為test1(變量cVar3的值) ?(var_name)&結(jié)果為cVar3,2020/7/28,53,等價(jià)于沒(méi)有任何值 與0、空字符串()及空格不同 排序優(yōu)先于其他數(shù)據(jù) 在計(jì)算過(guò)程中或大多數(shù)函數(shù)中都可以用到NULL值 NULL值會(huì)影響命令、函數(shù)、邏輯表達(dá)式和參數(shù)的行為。 在VFP中,可通過(guò)程序設(shè)計(jì)中的.NULL.標(biāo)記,或在字段中以交互方式鍵入Ctrl+0來(lái)賦NULL值。 可使用ISNULL()函

12、數(shù)判斷字段或變量是否為NULL值,或一個(gè)邏輯表達(dá)式計(jì)算結(jié)果是否為NULL值。,2.4 Visual FoxPro語(yǔ)言基礎(chǔ),2.4.5 空值處理,2020/7/28,54,2.4.5 空值處理,1.作為值使用空值,NULL值是一個(gè)特殊的值,它不同于空字符串、空格字符或0,這一點(diǎn)可通過(guò)EMPTY()、ISBLANK()、ISNULL()三個(gè)函數(shù)的不同返回值來(lái)理解。 NULL值不是一種數(shù)據(jù)類(lèi)型,當(dāng)給字段或變量賦NULL值時(shí),該字段或變量的數(shù)據(jù)類(lèi)型不變,只是值變?yōu)镹ULL。如: STORE 5 TO nX nX=.NULL. ?TYPE(“nX”) &返回值為N(數(shù)值型),2020/7/28,55,2. 空值在命令和函數(shù)中的行為,2.4.5 空值處理,例如: ?NOT NULL結(jié)果為NULL ?8+NULL結(jié)果為NULL ?DATE()-NULL 結(jié)果為NULL,2020/7/28,56,【注】在表達(dá)式中遇到NULL值時(shí),因空值不等于真(.T.),因而會(huì)將其解釋為條件失敗。,3. 在邏輯表達(dá)式中NULL的行為,2.4.5 空值處理,在大多數(shù)情況下,NULL值在邏輯表達(dá)式中維持不變。,2020/7/28,57,以命令傳遞NULL值將產(chǎn)生錯(cuò)誤。 將NULL

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論