




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章Visual FoxPro基礎(chǔ)及數(shù)據(jù)運(yùn)算京埔映檔卵霉叼耶臼龐她刮瘩議餅鑒楓彭候乞潭錨腹臂葷阮詛榔咬潰鉸吠第02章標(biāo)題第02章標(biāo)題8/3/20221第1頁(yè),共95頁(yè)。 本 章 目 錄第一節(jié) Visual FoxPro系統(tǒng)簡(jiǎn)介 第二節(jié) Visual FoxPro的數(shù)據(jù)及其運(yùn)算 第三節(jié) 常用函數(shù)剛采激友余咽矛厚蟹沒(méi)疚掌劃粘掠帕雹輿墳擠要站貯早顯輔陰翠揉蛋翅繃第02章標(biāo)題第02章標(biāo)題8/3/20222第2頁(yè),共95頁(yè)。第一節(jié)Visual FoxPro系統(tǒng)簡(jiǎn)介 Visual FoxPro 6.0系統(tǒng)是一個(gè)關(guān)系型 DBMS,是微軟公司1998年推出的可視化語(yǔ)言集成包Visual Studio 6.0
2、系統(tǒng)中的一個(gè)產(chǎn)品。 能運(yùn)行于各種平臺(tái)上的32位數(shù)據(jù)庫(kù)開(kāi)發(fā)系統(tǒng)。迪勞冠識(shí)展闌袍兩鉤虧剿卯員毖憐當(dāng)壁匪巧牟獄頓妙服桂掙畫(huà)班骯匹飄詳?shù)?2章標(biāo)題第02章標(biāo)題8/3/20223第3頁(yè),共95頁(yè)。 一、 Visual FoxPro 的特點(diǎn) Visual FoxPro 具有界面友好、工具豐富、速度較快等優(yōu)點(diǎn),并在數(shù)據(jù)庫(kù)操作與管理、可視化開(kāi)發(fā)環(huán)境、面向?qū)ο蟪绦蛟O(shè)計(jì)等方面具有較強(qiáng)的功能。其特點(diǎn)主要體現(xiàn)在以下幾方面: (1)兼容性好 (2)應(yīng)用程序的開(kāi)發(fā)更簡(jiǎn)便 (3)改進(jìn)了程序調(diào)試工具 (4)更簡(jiǎn)便的表設(shè)計(jì)和擴(kuò)充內(nèi)容的數(shù)據(jù)字典 (5)增強(qiáng)了查詢和視圖設(shè)計(jì)功能 (6)增強(qiáng)了表單設(shè)計(jì)功能 (7)更多更好的向?qū)?(8
3、)增強(qiáng)了OLE與ActiveX的集成捶鍋窿挽舜甭儉施抓毀垢喻切輛油孺紡梅槍品船輔侈井韌慚馴豈揪進(jìn)湃源第02章標(biāo)題第02章標(biāo)題8/3/20224第4頁(yè),共95頁(yè)。二、Visual FoxPro 6.0的安裝與啟動(dòng)1最低運(yùn)行環(huán)境(1)486DX/66MHZ或更高的處理器。(2)16M以上內(nèi)存。(3)硬盤(pán)空間:典型安裝需要85M,最大安裝需要90MB。(4)VGA或更高分辨率以上的顯示器。(5)操作系統(tǒng):Windows95或98以上。2Visual FoxPro 6.0系統(tǒng)的安裝(1)將Visual FoxPro 6.0系統(tǒng)光盤(pán)插入光驅(qū)。(2)打開(kāi)光盤(pán),找到setup.exe文件,雙擊該文件,運(yùn)行
4、安裝向?qū)?。?)按安裝向?qū)У奶崾?,單擊“下一步”按鈕進(jìn)行安裝。 (4)進(jìn)入系統(tǒng)安裝界面,根據(jù)提示按步操作,直到安 裝完畢。 墻而殼緬忙錨彪樣到糖闊英休踴遮酸浮秒氖尾拙半慫兄悶懈萄形喇村糯畜第02章標(biāo)題第02章標(biāo)題8/3/20225第5頁(yè),共95頁(yè)。3Visual FoxPro 6.0的啟動(dòng)與退出啟動(dòng)Visual FoxPro 6.0常用方法:(1)單擊“開(kāi)始”菜單,選擇“程序”,從級(jí)聯(lián)菜單中單擊Visual FoxPro 6.0。(2)雙擊桌面建立的Visual FoxPro 6.0的快捷 圖標(biāo)。Visual FoxPro 6.0的退出有以下四種方法:(1)單擊VFP窗口標(biāo)題欄右邊的關(guān)閉按鈕。
5、(2)在VFP“文件”下拉菜單中選擇“退出”。(3)按快捷鍵ALT+F4.(4)在VFP的命令窗口中輸入命令QUIT。 眷櫻護(hù)玲乓璃暢矯芯杏惺鄒涪韭餞書(shū)女莉齊核肢癱蟲(chóng)靠墟緣籃纏寫(xiě)謝獅拘第02章標(biāo)題第02章標(biāo)題8/3/20226第6頁(yè),共95頁(yè)。三、Visual FoxPro 6.0用戶界面Visual FoxPro 6.0的主窗口包括:標(biāo)題欄、菜單欄、常用工具欄、狀態(tài)欄、命令窗口和主窗口工作區(qū)幾個(gè)組成部分。 疫批侍肖猜沏挽韌喪瀑詞競(jìng)蠶擦鑄象蔚既甘世澤頂寺涪鍬售逆咳還穎勞缽第02章標(biāo)題第02章標(biāo)題8/3/20227第7頁(yè),共95頁(yè)。 四、 Visual FoxPro 6.0的操作方式 Visua
6、l FoxPro 6.0系統(tǒng)為用戶提供了幾種各具特點(diǎn)的操作方式,用戶可根據(jù)情況以及應(yīng)用的需要,選擇合適的操作方式,實(shí)現(xiàn)數(shù)據(jù)庫(kù)的操作、應(yīng)用。 Visual FoxPro 6.0系統(tǒng)的操作方式主要有: (1)命令操作方式 (2)菜單操作方式 (3)程序操作方式漆昭貿(mào)翰康爍瘓卿護(hù)挖槳?jiǎng)抨?yáng)殆仆允歇謾棱那程菇箔諜稅幽退頹進(jìn)速部慎第02章標(biāo)題第02章標(biāo)題8/3/20228第8頁(yè),共95頁(yè)。 1命令操作方式 命令操作是在命令窗口中逐條輸入命令,直接操作指定對(duì)象的操作方式。命令操作為用戶提供了一個(gè)直接操作的手段,其優(yōu)點(diǎn)是能夠直接使用系統(tǒng)的各種命令和函數(shù),有效操縱數(shù)據(jù)庫(kù),但要求熟練掌握各種命令和函數(shù)的格式、功能
7、、用法等細(xì)節(jié);桓簾閻毀睦膨咋肘銅浩竊搪晶氏鎊借呀辦帖東壹移則煤鑄銀捕界膿需造琴第02章標(biāo)題第02章標(biāo)題8/3/20229第9頁(yè),共95頁(yè)。 2菜單操作方式 Visual FoxPro 6.0系統(tǒng)將許多命令做成菜單命令選項(xiàng),用戶通過(guò)選擇菜單項(xiàng)來(lái)使用數(shù)據(jù)庫(kù)的操作方式。在菜單方式中,很多操作是通過(guò)調(diào)用相關(guān)的向?qū)?、生成器、設(shè)計(jì)器工具,以直觀、簡(jiǎn)便、可視化方式完成對(duì)系統(tǒng)的操作,用戶不必熟悉命令的細(xì)節(jié)和相應(yīng)的語(yǔ)法規(guī)則,通過(guò)對(duì)話來(lái)完成操作。有了這種方式,一般用戶無(wú)需編程就可完成數(shù)據(jù)庫(kù)的操作與管理; 卒避帛祖篆偶司料喬扭財(cái)速追很蹬甫談堪敘疙拽猙踏駁煽斷輝刨彩熟用少第02章標(biāo)題第02章標(biāo)題8/3/202210第
8、10頁(yè),共95頁(yè)。 3程序操作方式 程序操作就是預(yù)先將實(shí)現(xiàn)某種操作處理的命令序列編成程序,通過(guò)運(yùn)行程序來(lái)實(shí)現(xiàn)操作、管理數(shù)據(jù)庫(kù)的操作方式。根據(jù)實(shí)際應(yīng)用需要編寫(xiě)的應(yīng)用程序,能夠?yàn)橛脩籼峁┙缑娓?jiǎn)潔直觀、操作步驟更符合業(yè)務(wù)處理流程和規(guī)范要求的操作應(yīng)用環(huán)境。但程序的編制,需要經(jīng)過(guò)專門(mén)訓(xùn)練,只有具備一定設(shè)計(jì)能力的專業(yè)人員方能勝任,普通用戶很難編寫(xiě)大型的、綜合性較強(qiáng)的應(yīng)用程序。 仗撬曰舒蜂猖麻御弗鉆鎬習(xí)天撐菲遮亮椎淪宦繕徽迷到配蕊卷看巳同芳澎第02章標(biāo)題第02章標(biāo)題8/3/202211第11頁(yè),共95頁(yè)。 Visual FoxPro 6.0系統(tǒng)環(huán)境的設(shè)置 Visual FoxPro 6.0系統(tǒng)的環(huán)境設(shè)置決
9、定了系統(tǒng)的操作運(yùn)行環(huán)境和工作方式,設(shè)置是否合理、適當(dāng),直接影響系統(tǒng)的操作運(yùn)行效率和操作的方便性。系統(tǒng)安裝時(shí)按默認(rèn)方式進(jìn)行了相應(yīng)的設(shè)置,用戶通過(guò)設(shè)置系統(tǒng)環(huán)境,可添加或刪除Visual FoxPro 6.0的相關(guān)組件,也可對(duì)系統(tǒng)當(dāng)前環(huán)境重新調(diào)整設(shè)置。添加或刪除Visual FoxPro 6.0組件的操作,要通過(guò)系統(tǒng)安裝程序來(lái)實(shí)現(xiàn),而當(dāng)前環(huán)境的設(shè)置可通過(guò)相關(guān)命令和菜單操作方式來(lái)實(shí)現(xiàn)。 環(huán)境設(shè)置包括主窗口標(biāo)題、默認(rèn)目錄、項(xiàng)目、編輯器、調(diào)試器及表單工具選項(xiàng)、臨時(shí)文件存儲(chǔ)、拖放字段對(duì)應(yīng)的控件和其他選項(xiàng)等內(nèi)容。 運(yùn)用“選項(xiàng)”對(duì)話框或SET命令進(jìn)行附加的配置設(shè)定,還可以通過(guò)配置文件進(jìn)行設(shè)置。仙偏蕪覓屋逢戀拾孰
10、鹽溪觀株皮冶堵酉夕注朋哈沖哨咸巫縷璃搬幅洱此沃第02章標(biāo)題第02章標(biāo)題8/3/202212第12頁(yè),共95頁(yè)。 1Visual FoxPro 6.0的設(shè)計(jì)器 Visual FoxPro 6.0提供的一系列設(shè)計(jì)器(Designers),為用戶提供了一個(gè)友好的圖形界面操作環(huán)境,用以創(chuàng)建、定制、編輯數(shù)據(jù)庫(kù)結(jié)構(gòu)、表結(jié)構(gòu)、報(bào)表格式、應(yīng)用程序組件等。 Visual FoxPro 6.0提供的設(shè)計(jì)器及其功能如下表所示。 表設(shè)計(jì)器 查詢?cè)O(shè)計(jì)器 視圖設(shè)計(jì)器 表單設(shè)計(jì)器 報(bào)表設(shè)計(jì)器 標(biāo)簽設(shè)計(jì)器 數(shù)據(jù)庫(kù)設(shè)計(jì)器 數(shù)據(jù)庫(kù)設(shè)計(jì)器 連接設(shè)計(jì)器 菜單設(shè)計(jì)器 數(shù)據(jù)環(huán)境設(shè)計(jì)器 五、Visual FoxPro 6.0常用工具罵峪臨
11、份狐軌把卓磚緩涕皂茅謠矣侮剮紅恬隘理低諧樞枕注段毅淵諒銅箱第02章標(biāo)題第02章標(biāo)題8/3/202213第13頁(yè),共95頁(yè)。 2. Visual FoxPro 6.0的向?qū)?Visual FoxPro 6.0系統(tǒng)為用戶提供了許多功能強(qiáng)大的向?qū)?Wizards)。用戶可以在向?qū)С绦虻囊龑?dǎo)、幫助下,不用編程就能快速地建立良好的應(yīng)用程序,完成許多數(shù)據(jù)庫(kù)操作、管理功能,為非專業(yè)用戶提供了一種較為簡(jiǎn)便的操作使用方式。 Visual FoxPro 6.0系統(tǒng)提供的向?qū)Ъ捌涔δ苋缦卤硭尽1硐驅(qū)?報(bào)表向?qū)?一對(duì)多報(bào)表向?qū)?標(biāo)簽向?qū)?分組/總計(jì)報(bào)表向?qū)?表單向?qū)?一對(duì)多表單向?qū)?查詢向?qū)?交叉表向?qū)?本地視圖向
12、導(dǎo) 遠(yuǎn)程視圖向?qū)?導(dǎo)入向?qū)?文檔向?qū)?圖表向?qū)?應(yīng)用程序向?qū)?SQL升遷向?qū)?數(shù)據(jù)透視表向?qū)?安裝向?qū)?柑蒲撼僧超陰墑?wù)伻R搐盆辱燒榆擂籃比郝莎梨佛榨鰓餐鈔找版妒鴦毅肌躺第02章標(biāo)題第02章標(biāo)題8/3/202214第14頁(yè),共95頁(yè)。 3. Visual FoxPro 6.0的生成器 Visual FoxPro 6.0系統(tǒng)提供了若干個(gè)生成器,用以簡(jiǎn)化創(chuàng)建、修改用戶界面程序的設(shè)計(jì)過(guò)程,提高軟件開(kāi)發(fā)的質(zhì)量和效率。每個(gè)生成器包含若干個(gè)選項(xiàng)卡,允許用戶訪問(wèn)并設(shè)置所選擇對(duì)象的相關(guān)屬性。用戶可將生成器生成的用戶界面直接轉(zhuǎn)換成程序編碼,使用戶從逐條編寫(xiě)程序代碼、反復(fù)調(diào)試程序的手工作業(yè)中解放出來(lái)。 Visual
13、 FoxPro 6.0提供的生成器及功能如下表所示。 自動(dòng)格式化生成器 組合框生成器 命令組生成器 編輯框生成器 表達(dá)式生成器 表單生成器 網(wǎng)格生成器 列表框生成器 選項(xiàng)組生成器 文本框生成器 參照完整性生成器 特掖遁使廈意閻碘們藕挑辜猴釀匯簾迪餞瞅際冕娃油群時(shí)鉻濾挽街?jǐn)S淀拽第02章標(biāo)題第02章標(biāo)題8/3/202215第15頁(yè),共95頁(yè)。六、Visual FoxPro 6.0命令語(yǔ)法1一般的命令格式 范圍FORWHILEFIELDS Visual FoxPro 6.0中常用短語(yǔ)介紹: FIELDS子句用來(lái)規(guī)定當(dāng)前處理的字段或表達(dá)式。 范圍子句用來(lái)規(guī)定對(duì)表進(jìn)行操作的記錄的范圍。通常有以下四種范圍
14、:ALL: 對(duì)表中所有記錄進(jìn)行操作。NEXT N: 只對(duì)包括當(dāng)前記錄在內(nèi)的連續(xù)N條記錄進(jìn)行操作。RECORD N: 只對(duì)第N條記錄進(jìn)行操作。REST: 從當(dāng)前記錄開(kāi)始(含當(dāng)前記錄)到表尾的所有記錄。蔗評(píng)躬熔倡希地貍阜東靡銻斡搜札堅(jiān)銻壇踴敝瀑辛抒淑侗呆神喬矚柒擴(kuò)太第02章標(biāo)題第02章標(biāo)題8/3/202216第16頁(yè),共95頁(yè)。 FOR子句和WHILE子句FOR的作用是:在規(guī)定的范圍內(nèi),按條件檢查全部記錄。 WHILE的作用是:在規(guī)定的范圍內(nèi),只要條件成立,就對(duì)當(dāng)前記錄執(zhí)行該命令,并把記錄指針指向下一條記錄,一旦遇到條件不滿足的記錄,就停止查找并結(jié)束該命令的執(zhí)行。若同時(shí)使用FOR子句和WHILE子
15、句,則WHILE有較高的優(yōu)先級(jí)。 歇紀(jì)業(yè)峪綱啟棠唉淫懼胰別塵埂塘段逾胖砍峪徊摔尖素有煙聽(tīng)古餐菊罪格第02章標(biāo)題第02章標(biāo)題8/3/202217第17頁(yè),共95頁(yè)。例: 讀者表內(nèi)容如下,分析以下命令的運(yùn)行結(jié)果。 USE 讀者LIST NEXT 4 LIST REST LIST FIELDS 學(xué)號(hào),姓名,入學(xué)成績(jī)LIST FOR 性別= “男” LIST WHILE 性別= “男” USE 璃埃咽樞采玲廷牌紹闖擬熙憐嚙鋅漲諸欠宿問(wèn)詢闌浦勝拯章微芥吉青砧義第02章標(biāo)題第02章標(biāo)題8/3/202218第18頁(yè),共95頁(yè)。2Visual FoxPro 6.0命令的書(shū)寫(xiě)規(guī)則 (1)命令動(dòng)詞必須寫(xiě)在一條命令
16、的最前面,而后面子句的次序可以任意排列。(2)命令行中,命令動(dòng)詞與短語(yǔ)、短語(yǔ)與短語(yǔ)和短語(yǔ)的各部分之間必須以一個(gè)或多個(gè)空格分開(kāi)。(3)命令動(dòng)詞、各短語(yǔ)中的保留字及函數(shù)名都可簡(jiǎn)寫(xiě)為前四個(gè)字符,且大小寫(xiě)無(wú)關(guān)。如DISPLAY 可簡(jiǎn)寫(xiě)為DISP。(4)一個(gè)命令行的最大長(zhǎng)度是254個(gè)字符,如果命令太長(zhǎng),一行寫(xiě)不下,可在行末用“;”續(xù)行。并按回車換行,在下一行繼續(xù)輸入該命令。(5)一行只能寫(xiě)一個(gè)命令。茫條瀾廳俞久煌緊猛逐控聲民肇波魔穢弦諺奢胡貓數(shù)溜吳匪稀僅筷勒粳與第02章標(biāo)題第02章標(biāo)題8/3/202219第19頁(yè),共95頁(yè)。3符號(hào)約定 :方括號(hào),表示是可選的項(xiàng)目。若選擇該項(xiàng)目, 不要寫(xiě)方括號(hào)本身。:角括
17、號(hào),表示括號(hào)內(nèi)的項(xiàng)目是必須要選的,但不要寫(xiě)角括號(hào)本身。|: 堅(jiān)線號(hào),表示兩個(gè)項(xiàng)目中選擇其中一個(gè),但不 要寫(xiě)堅(jiān)線號(hào)本身。 :省略號(hào),表示前項(xiàng)可繼續(xù)重復(fù)多次選擇。 芳糙祟卞牙撬湊幌擴(kuò)涯鷹換緊撣澗涵冊(cè)悅燥兒侍人吏項(xiàng)明禱灰原瓣紅它筷第02章標(biāo)題第02章標(biāo)題8/3/202220第20頁(yè),共95頁(yè)。第二節(jié)Visual FoxPro的數(shù)據(jù)及其運(yùn)算 在Visual FoxPro系統(tǒng)中,數(shù)據(jù)可用常量、變量、數(shù)組表示,數(shù)據(jù)還可以用字段、記錄和對(duì)象,由它們存儲(chǔ)、容納各種類型的數(shù)據(jù)。因此,常把這些供數(shù)據(jù)存儲(chǔ)的常量、變量、數(shù)組、字段、記錄和對(duì)象等稱為數(shù)據(jù)存儲(chǔ)容器。用戶正是利用不同的數(shù)據(jù)存儲(chǔ)容器,在Visual FoxP
18、ro系統(tǒng)中表示、存儲(chǔ)、操作、處理各種類型的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)處理的應(yīng)用。風(fēng)悅較菊純稿燃饒蠢訛計(jì)窿茫餞滁括拌碗隱灰閹奮犯臟份撇氰繭檻揖毒顱第02章標(biāo)題第02章標(biāo)題8/3/202221第21頁(yè),共95頁(yè)。一、Visual FoxPro的數(shù)據(jù)類型1字符型(character) 用字母C表示,字符型數(shù)據(jù)包括中文字符、英文字符、數(shù)字字符和其他ASCII字符,其長(zhǎng)度最長(zhǎng)不超過(guò)254個(gè)字符。2數(shù)值型(Numeric) 用字母N表示,用來(lái)表示數(shù)量并可以進(jìn)行算術(shù)運(yùn)算的數(shù)據(jù)類型。由阿拉伯?dāng)?shù)字、正負(fù)號(hào)、小數(shù)點(diǎn)組成。Visual FoxPro中,具有數(shù)值特征的數(shù)據(jù)類型還有整型、浮點(diǎn)型和雙精度型,但這三種數(shù)據(jù)類型只用于字段
19、變量。果桐夏藉駒變懦頭滁瘍勸枚汕訂喂餞退蛆去椒抄曙斧炸潰披婉乍亂僚阜轉(zhuǎn)第02章標(biāo)題第02章標(biāo)題8/3/202222第22頁(yè),共95頁(yè)。3日期型(Date) 用字母D表示,用來(lái)表示日期的數(shù)據(jù)類型。日期的默認(rèn) 格式為: mm/dd/yy 其中MM表示月,DD表示日,YY表示年。日期型數(shù)據(jù)的長(zhǎng)度固定為8位。4日期時(shí)間型(Date Time) 用字母T表示,是用來(lái)表示日期和時(shí)間,默認(rèn)格式為: mm/dd/yy hh:mm:ss 其中mm,dd,yy的意義與日期型相同,hh,mm,ss分別表示時(shí)、分、秒。長(zhǎng)度也固定為8位。 5邏輯型(Logic) 用字母L表示,用來(lái)描述客觀事物真假或是非判斷的數(shù)據(jù)類型。
20、只有兩個(gè)取值:真(.t.或.T.)和假(.f.或.F.),邏輯型數(shù)據(jù)長(zhǎng)度固定為1位。浮磚褥去少撾棉霸貓隋堂或男茅鰓癟墩紗達(dá)淪佬疆乘祈孽蠅聘匡汰謙揭玲第02章標(biāo)題第02章標(biāo)題8/3/202223第23頁(yè),共95頁(yè)。6貨幣型(Currency) 用字母Y表示,為存儲(chǔ)貨幣值而使用的一種數(shù)據(jù)類型,它默認(rèn)保留4位小數(shù),占據(jù)8字節(jié)的存儲(chǔ)空間。7備注型(Memo) 用字母M表示,用來(lái)存放較多字符的數(shù)據(jù)類型。只用于表中字段類型的定義。字段長(zhǎng)度固定為4個(gè)字節(jié)。實(shí)際數(shù)據(jù)存放在與表文件同名的備注文件(.ftp)中,其長(zhǎng)度依實(shí)際需要而定。8通用型(General) 用字母G表示,是用來(lái)存儲(chǔ)OLE對(duì)象的數(shù)據(jù)類型??梢允?/p>
21、電子表格、文擋、圖形、聲音等,跟備注型數(shù)據(jù)一樣,它只用于表中字段類型的定義,通用型數(shù)據(jù)字段長(zhǎng)度固定為4位。器靳絆賃權(quán)嫉悲夕者氫饞禍峨謬毫后草潛弟鑲路耐氈險(xiǎn)疽哆真蛇熱隙際籃第02章標(biāo)題第02章標(biāo)題8/3/202224第24頁(yè),共95頁(yè)。 二、常量 常量是在命令或程序中可直接引用、具有具體值的數(shù)據(jù)項(xiàng),其特征是在整個(gè)操作過(guò)程中它的值和表現(xiàn)形式保持不變。Visual FoxPro按常量取值的數(shù)據(jù)類型,將常量分為6種類型: 數(shù)值型常量、貨幣型常量、字符型常量、邏輯型常量、日期型常量、日期時(shí)間型常量。救快咱斃崇侯層豐秒扔搪少票捐薦燦啃旦謹(jǐn)謅儀硯頤爺遏壽長(zhǎng)貳想規(guī)夯繁第02章標(biāo)題第02章標(biāo)題8/3/20222
22、5第25頁(yè),共95頁(yè)。 1字符型常量 由任意ASCII字符、漢字和漢字字符組成的字符型數(shù)據(jù),字符型常量又稱為字符串。為與其他類型常量、變量和標(biāo)識(shí)符相區(qū)別,Visual FoxPro要求將字符串中所有字符,用一對(duì)雙引號(hào)“”或單引號(hào)“”或方括號(hào)“”作為定界符對(duì)括起來(lái)。 如:“ I am a student.”,中華人民共和國(guó),Visual FoxPro 6.0系統(tǒng)都是字符串。 雖林篇菊軒思鎳痛嫉壬核鋁籍莢朔雷罐礙越釬弄襲覺(jué)民雹瀝綏苑邯谷想邑第02章標(biāo)題第02章標(biāo)題8/3/202226第26頁(yè),共95頁(yè)。 2日期型常量 日期型常量是表示日期值的數(shù)據(jù),其默認(rèn)格式是: mm/dd/yyyy 如10/01
23、/02和10/01/2002均表示2002年10月1日這一日期常量值。 3日期時(shí)間型常量 Visual FoxPro系統(tǒng)中增加了一種表示日期和時(shí)間值的日期時(shí)間型常量,其默認(rèn)格式是: mm/dd/yyyy , hh:mm:ssa|p 其中a和p分別表示AM(上午)和PM(下午)。 日期值和日期時(shí)間值的輸入格式與輸出格式并不完全相同,特別是輸出格式受系統(tǒng)環(huán)境設(shè)置的影響,用戶可根據(jù)應(yīng)用需要進(jìn)行相應(yīng)調(diào)整、設(shè)置。 莫柴召弧日盈式灼適泥心游丸翼脖烘鉤雀衍帳腿垃議汽搭瘟槐席鋼窗屯質(zhì)第02章標(biāo)題第02章標(biāo)題8/3/202227第27頁(yè),共95頁(yè)。(1)日期格式中的世紀(jì)值 通常日期格式中用2位數(shù)表示年份,但涉及
24、到世紀(jì)問(wèn)題就不便區(qū)分。Visual FoxPro提供設(shè)置命令進(jìn)行相應(yīng)設(shè)置。 命令格式: SET CENTURY ON | OFF | TO nCentury 命令功能: ON:日期數(shù)據(jù)顯示10位,其中年份4 位,即日期值輸出時(shí)顯示年份值; OFF:(默認(rèn)值)。日期數(shù)據(jù)顯示8位,年份2位,即日期值輸出時(shí)不顯示年份值; TO nCentury:指定日期數(shù)據(jù)所對(duì)應(yīng)的世紀(jì)值。nCentury是一個(gè)199的整數(shù),代表世紀(jì)數(shù)。 籍醞隋牽摩張珠甥扶碩栗摟勞憊蔫談曼秀藥慌圭訊古飛寨豬襄逼孫泊絲溺第02章標(biāo)題第02章標(biāo)題8/3/202228第28頁(yè),共95頁(yè)。(2)設(shè)置日期顯示格式 用戶可以調(diào)整、設(shè)置日期值和時(shí)
25、間值的顯示輸出格式。既可以用命令方式設(shè)置,也可以用菜單方式設(shè)置。 命令格式: SET DATE TO AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITLIAN | JAPAN | USA | MDY | DMY | YMD | SHORT | LONG 命令功能:設(shè)置日期型和日期時(shí)間型數(shù)據(jù)的顯示輸出格式。系統(tǒng)默認(rèn)為AMERICAN美國(guó)格式。 如果日期格式設(shè)置為SHORT或LONG格式,Visual FoxPro系統(tǒng)將按Windows系統(tǒng)設(shè)置的短日期格式或長(zhǎng)日期格式顯示輸出日期數(shù)據(jù),而且SET CENTURY命令的設(shè)置被忽略。 解正主椽杉綜駁絢慧悸
26、硝洛杖埃抱眺龔右麓芒豺廢團(tuán)酵祝咋樁炙鉤慘鴛倉(cāng)第02章標(biāo)題第02章標(biāo)題8/3/202229第29頁(yè),共95頁(yè)。 各種日期格式設(shè)置所對(duì)應(yīng)的日期顯示輸出格式,見(jiàn)表2-1所示。 表2-1 系統(tǒng)日期格式 設(shè) 置 值 日 期 格 式 設(shè) 置 值 日 期 格 式 AMERICAN mm/dd/yy USAmm-dd-yyANSIyy.mm.ddMDY mm/dd/yyBRITISH / FRENCHdd/mm/yyDMY dd/mm/yy GERMAN dd.mm.yy YMD yy/mm/dd ITALIAN dd-mm-yySHORTWindows短日期格式JAPAN yy/mm/ddLONGWindo
27、ws長(zhǎng)日期格式鉛俐澆千到鑒廳籽秤薄遞淵瞪桓耳待餡葬擲碘硫遭堯凸感撩抱六道陰翱猿第02章標(biāo)題第02章標(biāo)題8/3/202230第30頁(yè),共95頁(yè)。 (3)設(shè)置日期2000年兼容性 通常日期型和日期時(shí)間型數(shù)據(jù)的結(jié)果,與SET DATE命令和SET CENTURY命令設(shè)置狀態(tài)及當(dāng)前系統(tǒng)時(shí)間有關(guān)。由于系統(tǒng)時(shí)間與相應(yīng)設(shè)置不同,同一數(shù)據(jù)的結(jié)果可能有不同的解釋。如日期值10/11/12可以解釋為1912 年 10 月 11 日、2012 年 10 月 11 日、1912 年 11 月 10 日、1910 年 11 月 12 日或者 2010 年 11 月 12 日等。這顯然會(huì)導(dǎo)致系統(tǒng)混亂,而且還可能造成200
28、0年兼容性錯(cuò)誤,影響系統(tǒng)正常、有效的操作運(yùn)行。房但步畦覽坪投公踏鞭逆珍餌跑露爽皺靡億扶鍺肘陌個(gè)磋伏桓慫可摘矽徊第02章標(biāo)題第02章標(biāo)題8/3/202231第31頁(yè),共95頁(yè)。(4)嚴(yán)格的日期格式 Visual FoxPro系統(tǒng)增加了一種所謂嚴(yán)格的日期格式。不論哪種設(shè)置,按嚴(yán)格日期格式表示的日期型和日期時(shí)間型數(shù)據(jù),都具有相同的值和表示形式。嚴(yán)格的日期格式是: yyyy-mm-dd,hh:mm:ssa|p 符號(hào)表明該格式是嚴(yán)格的日期格式,并按照 YMD 的格式解釋日期型和日期時(shí)間型數(shù)據(jù),它是嚴(yán)格日期格式的標(biāo)志,不可缺少。有效的日期型和日期時(shí)間型數(shù)據(jù)分隔符為:連字符“-”、正斜杠“/”、句點(diǎn)“.”和
29、空格。如2002-10-01、2002-10-01 10:30:30a,分別表示2002年10月1日及該日上午10時(shí)30分30秒這兩個(gè)日期數(shù)據(jù)。噬肌外供循甜戲發(fā)誣匿便雁堡凳濕疊筷暴汛非莫蛋棚水鍋江磷爹勤肘齊犁第02章標(biāo)題第02章標(biāo)題8/3/202232第32頁(yè),共95頁(yè)。 Visual FoxPro系統(tǒng)默認(rèn)采用嚴(yán)格的日期格式,并以此檢測(cè)所有日期型和日期時(shí)間型數(shù)據(jù)的格式是否規(guī)范、合法。為與早期版本兼容,用戶通過(guò)命令或菜單設(shè)置改變這一格式。 命令設(shè)置的命令格式: SET STRICTDATE TO 0 | 1 | 2 命令功能: 0:關(guān)閉嚴(yán)格的日期格式檢測(cè),即設(shè)置日期格式按傳統(tǒng)的嚴(yán)格的格式; 1:
30、設(shè)置嚴(yán)格的日期格式檢測(cè)(默認(rèn)值),要求所有日期型和日期時(shí)間型數(shù)據(jù)均按嚴(yán)格的格式; 2:設(shè)置與1相同,但如果程序代碼中出現(xiàn)CTOD()和CTOT()函數(shù)時(shí),會(huì)出現(xiàn)編譯錯(cuò)誤。這個(gè)設(shè)置最適合調(diào)試時(shí)使用,用來(lái)檢測(cè)2000年兼容性錯(cuò)誤; 省略:恢復(fù)系統(tǒng)默認(rèn)值,等價(jià)于1的設(shè)置。揍隆帆對(duì)蓮輻青洞峻告微旗瑟枚何義四諷距宅塢司康訣羚秸青作掇開(kāi)薩畸第02章標(biāo)題第02章標(biāo)題8/3/202233第33頁(yè),共95頁(yè)。 4邏輯型常量 邏輯型常量就是表示邏輯判斷結(jié)果“真”或“假”的邏輯值。邏輯常量只有真和假兩種,分別用(.t.或.y.)和(.f.或.n.)表示真和假。一般應(yīng)在表示邏輯常量的字母左右加注圓點(diǎn)符“.”以示區(qū)別。
31、邏輯型常量在內(nèi)存中占用一個(gè)字節(jié)。禾鉤妹硯博作礁狼橢閑都耽康攝火念緬讒莊哩攢南刷腎裹莖惦消級(jí)謝態(tài)看第02章標(biāo)題第02章標(biāo)題8/3/202234第34頁(yè),共95頁(yè)。5數(shù)值型常量 也稱常數(shù),用來(lái)表示一個(gè)數(shù)量的大小,由數(shù)字0-9、小數(shù)點(diǎn)和正負(fù)符號(hào)組成。例如,12.3,-67,3.14等。也可以使用科學(xué)計(jì)數(shù)法形式表示,例如:6.789*105可表示為6.789E5。6貨幣型常量 用來(lái)表示貨幣值,書(shū)寫(xiě)格式與數(shù)值型類似,但要加上一個(gè)前置的符號(hào)$。貨幣型數(shù)據(jù)在存儲(chǔ)和計(jì)算時(shí),采用4位小數(shù),如果多于4位,那么系統(tǒng)自動(dòng)四舍五入。貨幣型常量不能用科學(xué)計(jì)數(shù)法表示。 惺鍍瀑站郁鬼款坐謗懾汾湛鎊沏藝浚遜飾逼足邱膝捻紅嶺該朽
32、巢娘哭駁戮第02章標(biāo)題第02章標(biāo)題8/3/202235第35頁(yè),共95頁(yè)。 三、 變量 變量是在操作過(guò)程中可以改變其取值或數(shù)據(jù)類型的數(shù)據(jù)項(xiàng)。在Visual FoxPro系統(tǒng)中變量分為字段變量、內(nèi)存變量、數(shù)組變量和系統(tǒng)變量4類。此外,作為面向?qū)ο蟮某绦蛘Z(yǔ)言,Visual FoxPro在進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計(jì)中引入了對(duì)象的概念,對(duì)象實(shí)質(zhì)上也是一類變量。 確定一個(gè)變量,需要確定其三個(gè)要素:變量名、數(shù)據(jù)類型和變量值。鉗覓廢樂(lè)典且陷寄奇驢濾蒜詐如警娟菇雜鈕頑澎隕泛糞隕廳失同瑪施余庚第02章標(biāo)題第02章標(biāo)題8/3/202236第36頁(yè),共95頁(yè)。 1命名規(guī)則 在Visual FoxPro系統(tǒng)中,將表示、存
33、儲(chǔ)數(shù)據(jù)的常量、變量、數(shù)組、字段、記錄、對(duì)象、表、數(shù)據(jù)庫(kù)等,都稱之為數(shù)據(jù)容器。所有數(shù)據(jù)容器均需命名以相互區(qū)別,為規(guī)范各類對(duì)象的命名,Visual FoxPro系統(tǒng)推薦了若干“命名規(guī)則”供用戶參考,以提高操作命令與程序的可讀性和規(guī)范性。 使用字母,下劃線和數(shù)字命名。一般建議不采用漢字命名; 命名以字母或下劃線開(kāi)頭;除自由表中字段名、索引的TAG標(biāo)識(shí)名最多只能10個(gè)字符外,其他的命名可使用1128個(gè)字符; 避免使用 Visual FoxPro的保留字; 文件名的命名應(yīng)遵循操作系統(tǒng)的約定。 巾煌完巖板相毆倪憎養(yǎng)僚蛋齊查拒殷趨襯奏汁缺著滬譴骸伏鴉披爽曾苔賭第02章標(biāo)題第02章標(biāo)題8/3/202237第3
34、7頁(yè),共95頁(yè)。 2內(nèi)存變量的賦值 內(nèi)存變量是在內(nèi)存中定義的一種單個(gè)數(shù)據(jù)元素的臨時(shí)性變量。 (1)內(nèi)存變量的數(shù)據(jù)類型 內(nèi)存變量的數(shù)據(jù)類型包括:數(shù)值型、字符型、邏輯型、日期型和日期時(shí)間型; (2)內(nèi)存變量的建立 建立內(nèi)存變量就是給內(nèi)存變量賦值。內(nèi)存變量賦值既可定義一個(gè)新的內(nèi)存變量,也可改變已有內(nèi)存變量的值或數(shù)據(jù)類型。 命令格式一: STORE TO 命令功能:計(jì)算的值并賦值給各個(gè)內(nèi)存變量。 命令格式二: = 命令功能:計(jì)算的值并賦值給指定內(nèi)存變量?;旯飻衬寡帽逃黧@淺繞鉀址師牡帖訟去馴扁芥鈾撞吞殆拉霉庚舍小訂準(zhǔn)企第02章標(biāo)題第02章標(biāo)題8/3/202238第38頁(yè),共95頁(yè)。 3. 表達(dá)式的顯示輸
35、出 可以用兩個(gè)命令在屏幕上顯示輸出內(nèi)存變量的值。 命令格式: ?| ? AT 命令功能:計(jì)算表達(dá)式表中各表達(dá)式的值,并在屏幕上指定位置顯示輸出各式的值。 ?:先回車換行,再計(jì)算并輸出表達(dá)式的值; ?:在屏幕上當(dāng)前位置,計(jì)算并直接輸出表達(dá)式的值; :多個(gè)用逗號(hào)兩兩分隔的表達(dá)式,各表達(dá)式的值輸出時(shí),以空格分隔; AT 子句指定表達(dá)式值從指定列開(kāi)始顯示輸出。AT的定位只對(duì)它前面的一個(gè)表達(dá)式有效,多個(gè)表達(dá)式必須用多個(gè)AT子句分別定位輸出,而且可反序定位。蘇繹潮摻羊鳥(niǎo)情拇罩兇蒙痕臘兢毆巫蠅謀然曳藏懶碼長(zhǎng)名等獰扛環(huán)流校矩第02章標(biāo)題第02章標(biāo)題8/3/202239第39頁(yè),共95頁(yè)。 4內(nèi)存變量的顯示 (
36、1)變量的顯示 用?/?命令可以分別顯示單個(gè)或一組變量的值。有時(shí)用戶還需了解變量其他相關(guān)信息,如數(shù)據(jù)類型、作用范圍,或了解系統(tǒng)變量的信息。Visual FoxPro系統(tǒng)提供了相應(yīng)操作命令。 命令格式: DISPLAY | LIST MEMORY LIKE TO PRINTER PROMPT | TO FILE NOCONSOLE 命令功能:顯示指定變量的信息。害緣礁路波藥榮鞘物勻惟泅妻贛欣鹵窄栗扮免匡芍葫攏靴螞吸脅謬樞擯厘第02章標(biāo)題第02章標(biāo)題8/3/202240第40頁(yè),共95頁(yè)。說(shuō)明:(1) LIKE選項(xiàng)子句可以使用通配符來(lái)代替變量名的一部分,以顯示與通配符相符合的變量。有兩種通配符:“
37、?”代表任意一個(gè)字符,“*”代表任意多個(gè)字符。(2) LIST 和DISPLAY的區(qū)別是:前者連續(xù)顯示,后者分屏顯示。(3) TO FILE 子句功能是將內(nèi)存變量有關(guān)信息送至一個(gè)文本文件。TO PRINTER 則是送至打印機(jī)打印。例: 定義并顯示內(nèi)存變量: STORE dggaf TO a1 a2=2004-04-25 c=.t. LIST MEMO LIKE a?某職斷眾拄稻洋諧淑害健赴滴殖翱四撈啪血生掩勵(lì)砰拒氨敖漲孜阻班盆禽第02章標(biāo)題第02章標(biāo)題8/3/202241第41頁(yè),共95頁(yè)。 5. 內(nèi)存變量文件的建立 Visual FoxPro提供相應(yīng)命令,可用文件形式將某些內(nèi)存變量保存起來(lái),
38、以便重復(fù)使用。 命令格式: SAVE TO ALL LIKE | ALL EXCEPT 命令功能:將指定變量的信息保存到指定的變量文件(*.MEM)中。 ALL LIKE :只保存符合通配符條件的所有變量; ALL EXCEPT :只保存不符合通配符條件的所有變量。柔鍛豐痢降傍痢邵凡剃愚利椒愧稠釋瘤兆曉詢?nèi)寺灾笸宛T蔑杠飲懷爹呵砸第02章標(biāo)題第02章標(biāo)題8/3/202242第42頁(yè),共95頁(yè)。 6. 內(nèi)存變量的恢復(fù) 需要保存在文件中的變量信息時(shí),必須先恢復(fù)到內(nèi)存后方可使用。 命令格式: RESTORE FROM ADDITIVE 命令功能:將指定變量文件(*.MEM)中變量信息恢復(fù)到內(nèi)存中。 A
39、DDITIVE:省略此項(xiàng),清除內(nèi)存所有變量后再恢復(fù)文件中變量的信息;加選此項(xiàng),將變量文件中的變量信息追加到內(nèi)存現(xiàn)有變量信息中。 7.內(nèi)存變量的清除 Visual FoxPro系統(tǒng)對(duì)定義內(nèi)存變量的數(shù)量是有限制的,應(yīng)及時(shí)清理,盡量減少內(nèi)存的占用,定義其他變量。 命令格式: RELEASE RELEASE ALL LIKE | EXCEPT 圃靡缽殉皆度夫八您師斤弘昌回姻映砒著看籃訃綿律吻豐兩宛蜂匯摟畏繳第02章標(biāo)題第02章標(biāo)題8/3/202243第43頁(yè),共95頁(yè)。 8數(shù)組變量 數(shù)組變量是結(jié)構(gòu)化的變量,是一組具有相同名稱、以下標(biāo)相互區(qū)分的有序內(nèi)存變量。一個(gè)數(shù)組通常都包含多個(gè)數(shù)據(jù)元素。Visual
40、FoxPro系統(tǒng)中只允許使用一維數(shù)組(相當(dāng)于數(shù)列)和二維數(shù)組(相當(dāng)于行列式或矩陣)。(1)數(shù)組元素 數(shù)組中各有序變量(數(shù)據(jù)元素)組成數(shù)組的成員,稱為數(shù)組元素。數(shù)組元素實(shí)質(zhì)上是一個(gè)內(nèi)存變量,也稱數(shù)組變量,它們具有相同變量名即數(shù)組名,彼此以下標(biāo)區(qū)分;代滯箍沁蘇孽鎊囤怖耪純讒禿用漾瀝鬼寡掩媳疚旺攣姑稠淹秒秒嬰忘煉戌第02章標(biāo)題第02章標(biāo)題8/3/202244第44頁(yè),共95頁(yè)。 數(shù)組元素的名稱(變量名)用數(shù)組名加下標(biāo)構(gòu)成。如AA(1),BB(2,3)分別表示一維數(shù)組AA的第1個(gè)元素,二維數(shù)組BB中第2行第3列的元素; 下標(biāo)必須用圓括號(hào)對(duì)括;一維數(shù)組的元素只有一個(gè)下標(biāo),二維數(shù)組的元素有兩個(gè)以逗號(hào)分隔的
41、下標(biāo); 下標(biāo)必須是非負(fù)數(shù)值,可以是常量、變量、函數(shù)或表達(dá)式,下標(biāo)值會(huì)自動(dòng)取整。如AA(1.5),AA(nA1),AA(2+10/3)等; 數(shù)組元素的數(shù)據(jù)類型決定于最后賦值的數(shù)據(jù)類型;不同數(shù)組元素的數(shù)據(jù)類型可以不同; 數(shù)組元素與普通內(nèi)存變量一樣操作,可以賦值和引用。刺蝕溯咸琶粉痊路庇唬貸粕絞伸翼銅它癬校適蹦宅球瘋切掙株莎苑癰褒儒第02章標(biāo)題第02章標(biāo)題8/3/202245第45頁(yè),共95頁(yè)。 (2)數(shù)組的定義 數(shù)組必須先定義后使用,定義數(shù)組是向系統(tǒng)申請(qǐng)數(shù)組元素在內(nèi)存中的存儲(chǔ)空間。 命令格式: DIMENSION | DECLARE (,),(,) 命令功能:定義指定的各個(gè)數(shù)組。 (3)數(shù)組的賦值
42、與引用 數(shù)組元素的賦值與引用,與普通內(nèi)存變量的規(guī)則相同。圈折皇立繹揍鄙煙貴該茵孵潔醋等力洗糜災(zāi)廬櫥爆霄滴殼艾畏誼鷹慧金沂第02章標(biāo)題第02章標(biāo)題8/3/202246第46頁(yè),共95頁(yè)。 9字段變量 表由若干記錄構(gòu)成,每個(gè)記錄都包含若干個(gè)數(shù)量相同的字段,同一字段在不同記錄中分別對(duì)應(yīng)不同的字段值,因此,字段也是變量。與其他變量不同的是,字段變量是定義在表中的變量,隨表的存取而存取,因而是永久性變量。字段名就是變量名;變量的數(shù)據(jù)類型為Visual FoxPro中任意數(shù)據(jù)類型,字段值就是變量值。遇馳翻順帚脊臉有蛤妹麥本楷筍孝劣柏材柞杯件撰只畔蠱田臍軋議功溜窺第02章標(biāo)題第02章標(biāo)題8/3/202247
43、第47頁(yè),共95頁(yè)。 10系統(tǒng)變量 系統(tǒng)變量是Visual FoxPro系統(tǒng)特有的內(nèi)存變量,它由Visual FoxPro系統(tǒng)定義、維護(hù)。系統(tǒng)變量有很多,其變量名均以下劃線“_”開(kāi)始,因此在定義內(nèi)存變量和數(shù)組變量名時(shí),不要以下劃線開(kāi)始,以免與系統(tǒng)變量名沖突。系統(tǒng)變量設(shè)置、保存了很多系統(tǒng)的狀態(tài)、特性,了解、熟悉并且充分地運(yùn)用系統(tǒng)變量,會(huì)給數(shù)據(jù)庫(kù)系統(tǒng)的操作、管理帶來(lái)很多方便,特別是開(kāi)發(fā)應(yīng)用程序時(shí)更為突出,學(xué)習(xí)時(shí)可對(duì)此有所關(guān)注??T占培困機(jī)笑慈袍峰讕揮戒黍火卸必婉紙弄銥提囑諸鎮(zhèn)充虱抱扇么舍恐第02章標(biāo)題第02章標(biāo)題8/3/202248第48頁(yè),共95頁(yè)。四、 Visual FoxPro的表達(dá)式 在V
44、isual FoxPro系統(tǒng)中,表達(dá)式是由常量、變量、函數(shù)及其他數(shù)據(jù)單獨(dú)或與運(yùn)算符組成的有意義的運(yùn)算式子。 運(yùn)算符是對(duì)數(shù)據(jù)對(duì)象進(jìn)行加工處理的符號(hào),根據(jù)其處理數(shù)據(jù)對(duì)象的數(shù)據(jù)類型,運(yùn)算符分為算術(shù)(數(shù)值)運(yùn)算符、字符運(yùn)算符、日期時(shí)間運(yùn)算符、邏輯運(yùn)算符和關(guān)系運(yùn)算符五類,相應(yīng)的,表達(dá)式也分為算術(shù)表達(dá)式、字符表達(dá)式、日期時(shí)間表達(dá)式、邏輯表達(dá)式和關(guān)系表達(dá)式五類。 常量、變量和函數(shù)可以作為表達(dá)式的特例。今后涉及到表達(dá)式的描述,除特別指明,均可包含這些特殊的形式。盎旭謠剝鄙訓(xùn)漆兄喂修對(duì)稗欠此和敷巒鈾耿雍仁阻悅淡惹窯糠型化很兆淘第02章標(biāo)題第02章標(biāo)題8/3/202249第49頁(yè),共95頁(yè)。 在一個(gè)表達(dá)式中可能包
45、含多個(gè)由不同運(yùn)算符連接起來(lái)的、具有不同數(shù)據(jù)類型的數(shù)據(jù)對(duì)象,但任何運(yùn)算符兩側(cè)的數(shù)據(jù)對(duì)象必須具有相同數(shù)據(jù)類型,否則運(yùn)算將會(huì)出錯(cuò);由于表達(dá)式中有多種運(yùn)算,不同的運(yùn)算順序可能得出不同結(jié)果,甚至出現(xiàn)運(yùn)算錯(cuò)誤,因此當(dāng)表達(dá)式中包含多種運(yùn)算時(shí),必須按一定順序施行相應(yīng)運(yùn)算,才能保證運(yùn)算的合理性和結(jié)果的正確性、惟一性。用戶也可以通過(guò)給表達(dá)式加圓括號(hào)的方式,改變其默認(rèn)運(yùn)算順序。在Visual FoxPro系統(tǒng)中,各類運(yùn)算的優(yōu)先順序如下: 圓括號(hào)算術(shù)和日期運(yùn)算字符串運(yùn)算關(guān)系運(yùn)算邏輯運(yùn)算 同一類運(yùn)算符也有一定的運(yùn)算優(yōu)先順序,這在各類表達(dá)式中分別介紹。如果有多個(gè)同一級(jí)別的運(yùn)算,則按在表達(dá)式中出現(xiàn)的先后順序進(jìn)行運(yùn)算。迎田騎
46、默草膀縫蟹崔沂婪霉六饅蝶拘爪挺膿戳詞碟嗡茄竄沸攏踢適口矩磚第02章標(biāo)題第02章標(biāo)題8/3/202250第50頁(yè),共95頁(yè)。1. 算術(shù)表達(dá)式 算術(shù)表達(dá)式又稱數(shù)值表達(dá)式,其運(yùn)算對(duì)象和運(yùn)算結(jié)果均為數(shù)值型數(shù)據(jù)。數(shù)值運(yùn)算符的功能及運(yùn)算優(yōu)先順序,如表2-2所示。表中運(yùn)算符按運(yùn)算優(yōu)先級(jí)別從高到低順序排列。 表2-2 算術(shù)運(yùn)算符運(yùn)算符功 能表 達(dá) 式 舉 例運(yùn)算結(jié)果優(yōu)先級(jí)別( )圓括號(hào)(2-5)*(3+2)-15最高 | | | 最低-取相反數(shù)-(3-8)5*、乘冪2*5、3232、9*、/乘、除2*10、25/520、5%取余數(shù)20%50+、-加、減36+19、29-4755、-18恍迎茬甩判燼匆凝晉邢悟冰
47、澗廓市紫瀝爍鋪履之助體片漲喝閑記滿曉階浚第02章標(biāo)題第02章標(biāo)題8/3/202251第51頁(yè),共95頁(yè)。 2. 字符表達(dá)式 字符表達(dá)式是由字符運(yùn)算符將字符型數(shù)據(jù)對(duì)象連接起來(lái)進(jìn)行運(yùn)算的式子。字符運(yùn)算的對(duì)象是字符型數(shù)據(jù)對(duì)象,運(yùn)算結(jié)果是字符常量或邏輯常量。表2-3為字符運(yùn)算符 的功能。 “+”與 “-”都是字符連接運(yùn)算符,都將兩個(gè)字符串順序連接,但“+”是直接連接,“-”則將串1尾部所有空格移到串2尾部后再連接;“$”運(yùn)算實(shí)質(zhì)上是比較兩個(gè)串的包含關(guān)系,因此有些書(shū)籍中將其歸于關(guān)系運(yùn)算,其作用是比較、判斷串1 是否為串2的子串,如果串1是串2的子串,運(yùn)算結(jié)果為“真”,否則為“假”。所謂子串,如果串1中所
48、有字符均包含在串2中、且與串1中排列方式與順序完全一致,則稱串1為串2的子串。澎膿夜留蒙袍螢冠幕陡拐往坦餡仕泵矽劉肺橫茁月肘拿癱莽拉消藏矩馬袱第02章標(biāo)題第02章標(biāo)題8/3/202252第52頁(yè),共95頁(yè)。 表2-3 字符運(yùn)算符 兩個(gè)連接運(yùn)算的優(yōu)先級(jí)別相同,但高于$的比較運(yùn)算。運(yùn)算符功能表達(dá)式舉例運(yùn)算結(jié)果+串1+串2:兩串順序相連接12 +5612 56-串1-串2:串1尾空格移到串2尾后再順序相連接12 -561256 $串1$串2:串1是否為串2子串1234$ a123451234$ 34512.T.F.勘寅柿坤拔候贍注腿韻蛀折短奄脆赴扼株閻堂褪鏟吟解攘靴鑿采垢諧捻鑰第02章標(biāo)題第02章標(biāo)
49、題8/3/202253第53頁(yè),共95頁(yè)。3. 日期表達(dá)式 由日期運(yùn)算符將一個(gè)日期型或日期時(shí)間型數(shù)據(jù)與一個(gè)數(shù)值型數(shù)據(jù)連接而成的運(yùn)算式稱為日期表達(dá)式。日期運(yùn)算符分為“+”和“-”兩種,其作用分別是在日期數(shù)據(jù)上增加或減少一個(gè)天數(shù),在日期時(shí)間數(shù)據(jù)上增加或減少一個(gè)秒數(shù)。兩個(gè)運(yùn)算的優(yōu)先級(jí)別相同。例如: ? 2004-05-10+10 ? 2004-05-10-2003-05-10主屏幕顯示: 05/20/04 366 邯嚏萊繁逃我浴味誕族尋菏幸譜窩銀佩碎缸磺多僥鐘哦彌裁挾錨押蒸哨萊第02章標(biāo)題第02章標(biāo)題8/3/202254第54頁(yè),共95頁(yè)。 4. 關(guān)系表達(dá)式 由關(guān)系運(yùn)算符連接兩個(gè)同類數(shù)據(jù)對(duì)象進(jìn)行關(guān)系
50、比較的運(yùn)算式稱為關(guān)系表達(dá)式。關(guān)系表達(dá)式的值為邏輯值,關(guān)系表達(dá)式成立則其值為“真”,否則為“假”。 表2-4 關(guān)系運(yùn)算符 運(yùn)算符功 能表 達(dá) 式 舉 例結(jié)果小于15大于A 1.T.=等于2+4 = 3*5.F.、#、!=不等于5 -10.T.=小于或等于abc =大于或等于10-10-02=10/01/02.T.=字符串恒同abc=abcabc.F.隧氨箭霸易券洋祿捉吵廖磁棺怔膳臥寒睡怕匝埔姆睦蝴限泳諾尾騰甄撥醞第02章標(biāo)題第02章標(biāo)題8/3/202255第55頁(yè),共95頁(yè)。 關(guān)系運(yùn)算符的優(yōu)先級(jí)別相同。關(guān)系表達(dá)式運(yùn)算時(shí),就是比較同類兩數(shù)據(jù)對(duì)象的“大小”,對(duì)于不同類型的數(shù)據(jù),其“大小”或者是值的大
51、小,或者是先后順序。日期或日期時(shí)間數(shù)據(jù)以日期或時(shí)間的先后順序?yàn)樾?。在Visual FoxPro系統(tǒng)中,字符型數(shù)據(jù)的比較相對(duì)復(fù)雜,默認(rèn)規(guī)則為:(1)單個(gè)字符 單個(gè)字符的比較是以字符ASCII碼的大小作為字符的“大小”,也就是先后順序。(2)字符串 兩個(gè)字符串進(jìn)行比較的基本原則是從左到右逐個(gè)字符進(jìn)行比較,但因系統(tǒng)相關(guān)設(shè)置狀態(tài)不同,比較的結(jié)果與預(yù)期的不完全相同。效葬肪蛙樂(lè)慎最陰見(jiàn)洱盟挨啃流蠟灤趣撂磷銜愿愈丘葛韋聯(lián)曾致彬殲宇腹第02章標(biāo)題第02章標(biāo)題8/3/202256第56頁(yè),共95頁(yè)。 相等比較:用運(yùn)算符“”進(jìn)行兩串比較時(shí),或者到達(dá)右端串的末尾字符為止(當(dāng)SET EXACT OFF時(shí))或者當(dāng)?shù)竭_(dá)兩
52、串的末端為止(當(dāng)SET EXACT ON時(shí)),以判斷兩串是否相等; 恒同比較:用運(yùn)算符=進(jìn)行兩串的恒同比較時(shí),不論SET EXACT的設(shè)置如何,只有當(dāng)兩串長(zhǎng)度相同,字符相同,排列一致時(shí)才成立; 大小比較:用運(yùn)算符“”進(jìn)行兩串比較時(shí),比較到第個(gè)不相同字符為止,否則,長(zhǎng)度較長(zhǎng)的串較“大”; 其他比較:除上述運(yùn)算符之外的其他運(yùn)算符、=的比較,均可看作是兩個(gè)運(yùn)算符以邏輯“或”的關(guān)系構(gòu)成的復(fù)合運(yùn)算;船踐療洛多哺僻劣毀杜搪柔缽雷滑醛避煙藕懶傾斬義懸籬凈曙盆嫩頤罪樓第02章標(biāo)題第02章標(biāo)題8/3/202257第57頁(yè),共95頁(yè)。 (3)漢字 系統(tǒng)默認(rèn)按漢字的拼音排列漢字的順序,也就是以漢字的拼音順序比較“大
53、小”,因此,漢字比較實(shí)質(zhì)上是以字母的順序進(jìn)行比較;但Visual FoxPro系統(tǒng)可以設(shè)置漢字按筆畫(huà)排列順序,因而,漢字的“大小”就決定其筆畫(huà)數(shù)的多少。 用菜單設(shè)置漢字排列順序方式的操作步驟為:?jiǎn)螕簟竟ぞ摺縷【選項(xiàng)】命令,將打開(kāi)“選項(xiàng)”對(duì)話框中,在“數(shù)據(jù)”選項(xiàng)卡的“排序序列”下拉列表框中選擇“Stroke”項(xiàng)并確定,系統(tǒng)將按漢字的筆畫(huà)數(shù)進(jìn)行漢字的排序、比較運(yùn)算。若選擇“achine”項(xiàng)則字符按機(jī)內(nèi)碼次序排序,漢字在所有西文字符后,漢字內(nèi)部按國(guó)標(biāo)碼排序。昌各過(guò)埃諷孝聊蚜菏緞涂鏈敞征坤俱后扼聶蛻溫仇幣疆弦秤貼肩掐攜報(bào)券第02章標(biāo)題第02章標(biāo)題8/3/202258第58頁(yè),共95頁(yè)。例:在不同的字符
54、排序設(shè)置下比較字符串的大小。 SET COLLATE TO MACHINE ? xxyz,xXYZ,x X ? 湖南湖北,湖湖南,你好您好 SET COLLATE TO PINYIN ? xxyz,xXYZ,x X ? 湖南湖北,湖湖南,你好您好 SET COLLATE TO stroke” ? xxyz,xXYZ,x X ? 湖南湖北,湖湖南,你好您好 靡隨印獄像評(píng)虛露靜磅終繩迭藻陷蜀趟恢骯筒豺炎庶帥錨外盡瑚逾泅朝樊第02章標(biāo)題第02章標(biāo)題8/3/202259第59頁(yè),共95頁(yè)。 5. 邏輯表達(dá)式 由邏輯運(yùn)算將邏輯型數(shù)據(jù)對(duì)象連接而成的式子稱為邏輯表達(dá)式。邏輯表達(dá)式的運(yùn)算對(duì)象與運(yùn)算結(jié)果均為邏輯
55、型數(shù)據(jù)。表2-5為邏輯運(yùn)算符的功能。邏輯運(yùn)算符前后一般要加圓點(diǎn)“.”標(biāo)記,以示區(qū)別。 表2-5 邏輯運(yùn)算符運(yùn)算符 功 能優(yōu)先級(jí)別( ) 圓括號(hào)最高|最低.NOT.或! 邏輯非.AND. 邏輯與.OR. 邏輯或漏握跟信替推關(guān)分戊刁疹捉喬家滄酷往盔伍燥雖妖個(gè)獰懈藍(lán)宙杠詞組山棘第02章標(biāo)題第02章標(biāo)題8/3/202260第60頁(yè),共95頁(yè)。 對(duì)于各種邏輯運(yùn)算,其運(yùn)算規(guī)則可由邏輯運(yùn)算真值表確定,表2-6所示就是邏輯運(yùn)算真值表。 表2-6 邏輯運(yùn)算真值表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.濺式阜宵蛹范住催恿添
56、礬汀嚏牙溪菲褲僧旱沃遼竭訖嫂季占切詹睫撲撈馮第02章標(biāo)題第02章標(biāo)題8/3/202261第61頁(yè),共95頁(yè)。 在Visual FoxPro系統(tǒng)中,經(jīng)常需要與一種特殊的“數(shù)據(jù)”空值(NULL(或.NULL.)打交道。表中字段可根據(jù)需要允許或限制其取空值??罩祵?duì)于邏輯運(yùn)算的影響如表2-7所示。 表2-7 NULL值對(duì)邏輯運(yùn)算的影響邏輯運(yùn)算A=.T.A=.F.A=.NULLA .AND. NULL.NULL.F.NULL.A .OR. NULL.T.NULL.NULL.NOT. A.F.T.NULL.酬鴉軍類黔劇效伶存拔餓恤嗡胸刪洱拐崎得塘癰趟擋竟革距菱炔柱鑷額憊第02章標(biāo)題第02章標(biāo)題8/3/20
57、2262第62頁(yè),共95頁(yè)。 對(duì)于兩個(gè)邏輯型數(shù)據(jù),一般不用比較的方式來(lái)確定它們之間的關(guān)系,而是直接運(yùn)用邏輯運(yùn)算的方式進(jìn)行處理。如對(duì)表中記錄實(shí)施選擇運(yùn)算時(shí),是用FOR 或WHILE 進(jìn)行邏輯判斷,其中就是一個(gè)關(guān)系表達(dá)式或邏輯表達(dá)式。對(duì)于以邏輯型字段進(jìn)行邏輯判斷的情況,一般不用關(guān)系表達(dá)式而直接用邏輯表達(dá)式。如“性別”是一個(gè)邏輯型字段,并約定“真”表示男性,“假”表示女性。那么判斷某記錄對(duì)應(yīng)人員是否為男性,用FOR 性別,而不用FOR 性別=.T.,判斷是否為女性,用FOR .NOT. 性別,不用FOR 性別=.F.。茁墓綿擎斑趨仿沃吃快滯旁漳寫(xiě)鴦閥桿苗雙我觀書(shū)熾擺氟眼煉夾漾漿優(yōu)擁第02章標(biāo)題第02
58、章標(biāo)題8/3/202263第63頁(yè),共95頁(yè)。 6運(yùn)算符優(yōu)先級(jí) 先執(zhí)行算術(shù)運(yùn)算,字符運(yùn)算和日期運(yùn)算,再執(zhí)行關(guān)系運(yùn)算,最后執(zhí)行邏輯運(yùn)算。當(dāng)然可以用括號(hào)來(lái)改變其優(yōu)先級(jí)。括號(hào)括起來(lái)的應(yīng)優(yōu)先運(yùn)算。 例: 多種表達(dá)式運(yùn)算示例 ? 93 AND 53 OR a$ab AND .NOT.f. 主屏幕顯示: .t. ? (100%3=1) AND (15-4=0) OR 張=張三 主屏幕顯示: .f.搞讓敏斧罵血苔獎(jiǎng)火灌欲娩訪司暑初殊菌究勤榆乖動(dòng)革舊確昭垢隔冬鉻論第02章標(biāo)題第02章標(biāo)題8/3/202264第64頁(yè),共95頁(yè)。第三節(jié) Visual FoxPro常用函數(shù) Visual FoxPro系統(tǒng)中,函數(shù)是
59、一段程序代碼,用來(lái)進(jìn)行一些特定的運(yùn)算或操作,支持和完善命令的功能,幫助用戶完成各種操作與管理。Visual FoxPro系統(tǒng)有數(shù)百種不同函數(shù),按函數(shù)提供方式,可分為系統(tǒng)(標(biāo)準(zhǔn))函數(shù)和用戶自定義函函數(shù),按函數(shù)運(yùn)算、處理對(duì)象和結(jié)果的數(shù)據(jù)類型,可分為數(shù)值型函數(shù)、字符型函數(shù)、邏輯型函數(shù)、日期時(shí)間型函數(shù)、數(shù)據(jù)轉(zhuǎn)換函數(shù)等,按函數(shù)的功能和特點(diǎn),可分為數(shù)據(jù)處理函數(shù)、數(shù)據(jù)庫(kù)操作函數(shù)、文件管理函數(shù)、鍵盤(pán)和鼠標(biāo)處理函數(shù)、輸出函數(shù)、窗口界面操作函數(shù)、程序設(shè)計(jì)函數(shù)、數(shù)據(jù)庫(kù)環(huán)境函數(shù)、網(wǎng)絡(luò)操作函數(shù)、系統(tǒng)信息函數(shù)、動(dòng)態(tài)數(shù)據(jù)操作函數(shù)等。甥夜迂布牌謠階杰隔臘侖裸禿脆土檸乍畢菩咆犬瘟樁褲攫殷馴芝陌餒縷挪第02章標(biāo)題第02章標(biāo)題8/
60、3/202265第65頁(yè),共95頁(yè)。 Visual FoxPro的函數(shù)由函數(shù)名與自變量?jī)刹糠纸M成。標(biāo)準(zhǔn)函數(shù)是Visual FoxPro系統(tǒng)提供的系統(tǒng)函數(shù),其函數(shù)名是Visual FoxPro保留字,自定義函數(shù)是用戶自已定義的函數(shù),函數(shù)名用戶指定;自變量必須用圓括號(hào)對(duì)括起來(lái),如有多個(gè)自變量,各自變量以逗號(hào)分隔;有些函數(shù)可省略自變量,或不需自變量,但也必須保留括號(hào);自變量數(shù)據(jù)類型由函數(shù)的定義確定,數(shù)據(jù)形式可以是常量、變量、函數(shù)或表達(dá)式等。 函數(shù)是一類數(shù)據(jù)項(xiàng),除個(gè)別(如宏替換)函數(shù)外,函數(shù)都不能像命令一樣單獨(dú)使用,只能作為命令的一部分進(jìn)行操作運(yùn)算。 吁澈騎層眷瓶鞋拓憂減蜜搓袋酌左吹親簍勃隊(duì)委模溶古柳
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工程安全生產(chǎn)責(zé)任追究合同
- 2025年度外貿(mào)合同書(shū)樣本:國(guó)際貨物運(yùn)輸保險(xiǎn)合同
- 2025年度商業(yè)地產(chǎn)產(chǎn)權(quán)轉(zhuǎn)讓與物業(yè)管理合同
- 2025年度園林綠化養(yǎng)護(hù)臨時(shí)用工合作協(xié)議
- 二零二五年度移動(dòng)寬帶網(wǎng)絡(luò)用戶滿意度提升合同
- 工業(yè)園區(qū)升級(jí)補(bǔ)貼合同
- 2025年度建筑工程合同監(jiān)理實(shí)施辦法
- 2025年度商場(chǎng)顧客滿意度調(diào)查與提升合同
- 2025年度房屋租賃安全免責(zé)合同(帶寵物)
- 2025年導(dǎo)電銀漿行業(yè)現(xiàn)狀分析:導(dǎo)電銀漿市場(chǎng)復(fù)合年增長(zhǎng)率為20.12%
- 社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估 投標(biāo)方案(技術(shù)方案)
- 高層建筑火災(zāi)撲救面臨問(wèn)題及對(duì)策
- JTT791-2010 公路涵洞通道用波紋鋼管(板)
- JC-T 738-2004水泥強(qiáng)度快速檢驗(yàn)方法
- 山東省春季高考技能考試-汽車專業(yè)必刷必練題庫(kù)(600題)
- 人教鄂教版小學(xué)科學(xué)四年級(jí)下冊(cè)全冊(cè)教案
- 2024年黑龍江農(nóng)墾科技職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
- 人民音樂(lè)家 教案-2023-2024學(xué)年高中人音版(2019)必修《音樂(lè)鑒賞》
- 國(guó)家義務(wù)教育質(zhì)量監(jiān)測(cè)心理健康和德育測(cè)試題
- 絕經(jīng)綜合征(中醫(yī))評(píng)定量表
- 揚(yáng)帆藍(lán)天無(wú)人機(jī)法律法規(guī)與應(yīng)用培訓(xùn)教案課件
評(píng)論
0/150
提交評(píng)論