VFP6.0第2章VisualFoxPro基礎(chǔ).ppt_第1頁
VFP6.0第2章VisualFoxPro基礎(chǔ).ppt_第2頁
VFP6.0第2章VisualFoxPro基礎(chǔ).ppt_第3頁
VFP6.0第2章VisualFoxPro基礎(chǔ).ppt_第4頁
VFP6.0第2章VisualFoxPro基礎(chǔ).ppt_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1,第二章 Visual Foxpro基礎(chǔ),VFP有以下3種命令執(zhí)行方式: 單命令執(zhí)行方式:在“命令”窗口輸入命令,按“回車”鍵,執(zhí)行命令輸出結(jié)果。 程序執(zhí)行方式:編寫程序,成批執(zhí)行命令。 菜單命令執(zhí)行方式:單擊菜單選項,執(zhí)行相應(yīng)命令。,2,2.1 Visual FoxPro系統(tǒng)概述 2.1.1 歷史沿革 Foxpro是美國Fox Software公司的產(chǎn)品,1989年推出1.0版,1991年推出2.0版,1993年推出2.5版。 1995年9月,Mricosoft推出新一代Foxpro產(chǎn)品Foxpro For Windows 3.0 并將其更名為Visual Foxpro。1997年推出Visual Foxpro 5.0版,1998年推出Visual Foxpro 6.0,如今Visual Foxpro 8.0已經(jīng)問世。,3,2.1.2 Visual FoxPro的特點 1.數(shù)據(jù)庫方面 2.數(shù)據(jù)操作方面 3.程序設(shè)計方面 4.操作使用方面 5.使用技術(shù)方面,4,2.2 Visual Foxpro的安裝與啟動 2.2.1 Visual FoxPro 6.0的安裝 1.運行環(huán)境 2.Visual Foxpro 6.0的安裝 3.Visual Foxpro 6.0的啟動和退出,5,2.3 Visual Foxpro 6.0的用戶界面 Visual FoxPro 6.0操作界面大量使用窗口(Windows)、圖標(biāo)(Icons)和菜單(Menus)等可視化技術(shù),主要通過以鼠標(biāo)為代表的指點式設(shè)備(Pointing device)來操作。所以常稱為WIMP界面。 Visual Foxpro 6.0窗口通常由標(biāo)題欄、菜單欄、工具欄、主窗口和命令窗口5個部分組成。,6,7,2.3.2 Visual Foxpro 配置 1.使用“選項”對話框進行環(huán)境配置 “工具”“選項” 2.使用SET命令配置VFP,8,項目管理器 在數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程中,將會產(chǎn)生各種類型文件,包括:數(shù)據(jù)庫文件、表文件、表單文件、報表文件和程序文件等。項目管理器(Project Manager)是管理、控制這些文件的主要組織工具。 項目管理器的內(nèi)容保存在帶有.PJX擴展名的文件中。項目管理器并不保存各種文件的具體內(nèi)容,其只記錄各種文件的文件名、文件類型、路徑,以及編輯、修改或執(zhí)行這些文件的方法。,9,1.打開和關(guān)閉項目管理器 打開項目管理器有菜單操作和命令兩種。 (1)菜單操作 建立新項目文件:【文件】菜單【新建】命令出現(xiàn)【新建】對話框選擇【項目】按鈕按【新建文件】按鈕在出現(xiàn)【創(chuàng)建】對話框時,在“項目文件”文本框輸入文件名按【保存】按鈕打開新項目項目管理器。 打開已有項目文件:【文件】菜單【打開】命令出現(xiàn)下圖所示【打開】對話框在“文件類型”下拉列表框選定“項目(*.pjx;*.fpc;*.cat)”后,在文件列表框選定已有項目文件,或在“文件名”文本框輸入項目文件名按【確定】按鈕打開已有項目的項目管理器。,10,(2)命令操作 使用modify project 命令可以打開項目管理器,用于創(chuàng)建(若項目文件不存在)或修改(若項目文件已經(jīng)存在)指定文件名的項目文件。 例如,modify project exam。擴展名.pjx可省略。 使用modify project ?命令,命令中的?為可選項。不論帶或不帶?符號,系統(tǒng)將顯示【打開】對話框,選定已有項目文件,按【確定】按鈕打開已有項目的項目管理器。,11,2.項目管理器的功能特性 (1)采用目錄樹管理內(nèi)容 項目管理器采用了目錄樹結(jié)構(gòu)進行管理,其內(nèi)容可詳(目錄樹展開時)可略(目錄樹折疊時),12,(2)使用方便的功能按鈕 新建按鈕:用于建立新的數(shù)據(jù)庫、表、查詢或程序等。 添加按鈕:添加按鈕可以在打開對話框中將已經(jīng)建立 好的數(shù)據(jù)庫、表、查詢或程序等添加到項目中。 修改按鈕:修改按鈕可打開相應(yīng)的設(shè)計器或編輯窗口 修改選定數(shù)據(jù)庫、表、查詢或程序。 打開、關(guān)閉、瀏覽或運行按鈕:當(dāng)選定數(shù)據(jù)庫時,會 變?yōu)榇蜷_或關(guān)閉功能;當(dāng)選定表時,會變?yōu)闉g覽功能;當(dāng)選定查詢或程序時,會變?yōu)檫\行功能。 移去按鈕:將對話框中選定的數(shù)據(jù)庫、表、查詢或程序從項目管理器中刪除。 連編按鈕:用于訪問連編的選項,可以連編一個項目 或應(yīng)用程序。,13,2.4 Visual FoxPro 向?qū)А⒃O(shè)計器、生成器簡介,2.4.1 Visual FoxPro的向?qū)?向?qū)且环N快捷設(shè)計工具。通過一組對話框依次與用戶對話,引導(dǎo)用戶分步完成Visual FoxPro的某項任務(wù),例如創(chuàng)建表單、表、創(chuàng)建查詢和創(chuàng)建報表。 1.啟動向?qū)?(1)通過項目管理器 (2)選擇“文件”菜單中的“新建” (3)選擇“工具”菜單中的“向?qū)А?(4)單擊工具欄中的“向?qū)А卑粹o,14,2.4.2 設(shè)計器 設(shè)計器可以用來創(chuàng)建或修改應(yīng)用程序所需要的組件 1.設(shè)計器分類 2.打開設(shè)計器 (1)在“項目管理器”中打開 (2)菜單方式打開 (3)從“顯示”菜單中打開 2.4.3 生成器 生成器是帶有選項卡的對話框,用于簡化對表單、復(fù)雜控件和參照完整性代碼的創(chuàng)建和修改過程。每個生成器顯示一系列選項卡,用于設(shè)置選中對象的屬性。,15,數(shù)據(jù)類型,類型就是對數(shù)據(jù)的允許取值以及值的范圍進行的說明。數(shù)據(jù)類型這一概念的主要特征為: 數(shù)據(jù)類型確定了常量所屬值的集合,確定變量、表達式所能取值的集合,也確定了運算和函數(shù)(過程)所能生成的值的集合。 任何數(shù)據(jù)所表示值的類型,如能從其說明或靜態(tài)形式即可推知,這種類型稱為基本數(shù)據(jù)類型。 每一運算符號或過程都要求有固定類型的變量或參數(shù),并產(chǎn)生固定類型的結(jié)果;如果一運算符允許幾種類型的變量,則結(jié)果類型可由特定的規(guī)則確定。,16,下面討論每種數(shù)據(jù)類型的特點: (1) 字符型(Character) 在Visual FoxPro 6.0中,一個字符型的數(shù)據(jù)最多可由254個字符組成,通常把字符型簡稱或簡寫為C型,使用時必須用定界符雙引號(“”)或單引號()或方括號()括起來定界。 例如:“ABCD”,1234,數(shù)據(jù)庫,17,(2) 貨幣型 用來保存貨幣值。在貨幣表達式中如果小數(shù)位超過4位,則VFP將在處理表達式之前自動把它按四舍五入到4位。占用8個字節(jié)。若要使用貨幣數(shù)據(jù)類型,請在數(shù)字前加美元符($)。 例如:將123.017657表示為 $123.0177,18,(3) 數(shù)值型(Number) 用來表示數(shù)量。它包括整數(shù)和小數(shù)兩種數(shù)值,組成數(shù)值型的數(shù)據(jù)由09這10個數(shù)字、小數(shù)點(圓點)、正負(fù)號(+、-)組成,在輸出時可按習(xí)慣插入分節(jié)號(逗號,)。 (4) 浮點型(Float) 用來存放浮點數(shù)值數(shù)據(jù)。,19,(5) 日期型(Date) 這種數(shù)據(jù)類型只反映日期情況,固定為8個字節(jié),其中表示月份和日期的各占2個字節(jié),年份占有4個字節(jié)。日期值的格式取決于SET DATE,SET MARK和SET CENTURY等設(shè)置。 mmdd(yy)yy美國格式 ddmm(yy)yy歐洲格式 在大部分計算機系統(tǒng)中,都采用美國格式,01202000則表示2000年1月20日。日期型也稱D型。,20,(6) 日期時間型(Date time)。 保存日期、時間或兩者兼有時,請使用日期時間數(shù)據(jù)類型。日期時間值存儲在8個字節(jié)中,前4個字節(jié)保存日期,剩下的4個字節(jié)保存時間。時間從午夜起計算,以1/100秒為最小計時單位, 日期時間值可以包含完整的日期和時間,也可以只包含兩者之一。若用戶沒有指明日期值,系統(tǒng)默認(rèn)值1999年12月30日填入;若用戶沒有指明時間值,用默認(rèn)的午夜時間填入。 日期時間值中,日期部分的格式取決于SET DATE,SET MARK和SET CENTURY等設(shè)置,時間部分的格式取決于SET HOURS和SET SECONDS設(shè)置。,21,(7) 雙精度型 當(dāng)表中需要存儲精度較高、位數(shù)固定的數(shù)值,或者存儲真正的浮點數(shù)值時,請使用雙精度型數(shù)據(jù)代替數(shù)值型數(shù)據(jù)。與數(shù)值型數(shù)據(jù)不同,在表中輸入雙精度數(shù)值時,由用戶決定小數(shù)點的位置。 (8) 整型(Integer) 存放整數(shù),占用4個字節(jié)的空間。,22,(9) 邏輯型(Logical) 邏輯型為二值類型,即非真即假,由表示“真”、“假”值的單個字母組成。用于像“男性/女性”、“失敗/成功”、“開/關(guān)”這類兩者中必取且僅取其一的情況。在Visual FoxPro中,用.T.表示真值,用.F.表示假值。其值域固定寬度為1,通常簡稱L型。,23,(10) 備注型(Memory) 用于把數(shù)據(jù)中較大的文本塊以固定格式存放在此類型的字段中。該類型數(shù)據(jù)長度(字符個數(shù))僅受硬盤空間的限制,因而可彌補字符型數(shù)據(jù)長度不能超過254個字符的限制。但如果某存儲的字符長度少于254個字符的話,則應(yīng)定義為字符類型,這樣在查詢或顯示時可直觀地表示出來。此數(shù)據(jù)類型通常記為M類型。 (11) 通用型(General) 用于表示OLE對象數(shù)據(jù)。OLE對象包括電子表格、字處理文檔、聲音、圖像或其他多媒體對象。,24,(12) 二進制字符型(Character Binary) 二進制字符型用于表示不需要系統(tǒng)代碼維護的字符數(shù)據(jù),其他特性同字符型。 (13) 二進制備注型(Memo Binary) 二進制備注型用于表示不需要系統(tǒng)代碼維護的備注型數(shù)據(jù)。 以上列出13種數(shù)據(jù)類型,有的只能用于字段,而不能用于內(nèi)存變量。,25,2.5 常量與變量,1.常量 常量是指在程序執(zhí)行的過程中其值不變的量,又稱常數(shù)。Visual FoxPro 6.0中定義了6種類型的常量: (1) 數(shù)值型常量。 數(shù)值型常量可以是整數(shù)或?qū)崝?shù)。例如:86,125,16,-256.75等。 (2) 字符型常量。 字符型常量是用定界符括起來的由字符、漢字、空格或數(shù)字所組成的字符串。例如“ABCD”,“How Do You Do?”,李福貴等。當(dāng)某一種定界符本身是字符型常量的組成部分時,應(yīng)選用另一定界符來表示該字符串。,26,(3) 邏輯型常量。 邏輯型常量只有兩個值:“真”、“假”,用.T.(或.t.)、.Y.(或.y.)表示“真”,用.F.(或.f.)、.N.(或.n.)表示“假”。 (4) 日期型常量。 日期型常量用來表示一個日期,它必須用花括號括起來,例如:2005-03-28等。 (5) 日期時間型常量 日期時間型常包括日期和時間的合成。同樣以花括號為定界符。例如:2005/03/28 8:15 a等。 (6)貨幣型常量 貨幣型常量在存儲和計算時采用4位小數(shù),并且沒有科學(xué)計數(shù)法表示。,27,VFP支持的日期型、日期時間型常量的格式有兩種:傳統(tǒng)格式和嚴(yán)格格式。傳統(tǒng)的日期格式的常量要受到SET DATE、SET CENTURY命令的影響,其默認(rèn)格式為美國日期格式。 輸入日期時間常量: yyyy/mm/dd hh:mm:ss AM|PM 例如:2005-03-28和2005-03-28 18:30 輸出的日期時間常量: Mm/dd/yy hh:mm:ss AM|PM 例如:03/28/05 03/28/05 06:30:00 PM,28,2.5.2 變量,變量是指在命令操作或程序運行期間,其值可以改變的量。Visual FoxPro 6.0的變量有字段變量和內(nèi)存變量兩種。 (1)字段變量 字段變量就是表中的字段名,它是表中最基本的數(shù)據(jù)單元。字段變量的命名、類型、長度是在設(shè)計表結(jié)構(gòu)時完成的,字段變量的值就是表中當(dāng)前記錄對應(yīng)的字段的值。,29,(2) 內(nèi)存變量 內(nèi)存變量是一種獨立于表文件而存在的變量,或者說是一種臨時工作單元。它分為用戶根據(jù)需要定義的內(nèi)存變量和系統(tǒng)內(nèi)存變量。系統(tǒng)內(nèi)存變量是Visual FoxPro 6.0自帶的變量,由系統(tǒng)命名創(chuàng)建并維護。用于控制VFP的輸出和顯示信息的格式。系統(tǒng)內(nèi)存變量名字以“_”開頭。例如“_PEJECT”用于設(shè)置打印輸出時的走紙方式。,30,用戶定義的內(nèi)存變量在使用之前時,需要為它命名。內(nèi)存變量命名規(guī)則如下: 以字母、漢字或下劃線開頭; 由字母、漢字、下劃線或數(shù)字組成; 長度不超過254個字符。 例如:x1,姓名、性別、Name, Student_no 等都是合法的內(nèi)存變量名,而1xy, x%y等則為非法的內(nèi)存變量名。,31,當(dāng)內(nèi)存變量名與字段變量名同名時,系統(tǒng)優(yōu)先引用字段變量,如果一定要引用內(nèi)存變量,可以在內(nèi)存變量名前加前綴“M.”以示區(qū)別。 例如: ? M.姓名 &顯示“姓名”這一內(nèi)存變量的值 ? 姓名 &如果打開一個含有“姓名”字段的表,則顯示“姓名”這一字段變量值. 用戶定義的內(nèi)存變量常用于存放初值、中間結(jié)果和最終結(jié)果,也可以用作控制變量,控制應(yīng)用程序的運行。內(nèi)存變量中存放什么樣類型的數(shù)據(jù),則該變量就具有什么類型。用戶通過賦值語句來改變內(nèi)存變量的類型。,32,Visual FoxPro 6.0中內(nèi)存變量有如下幾種數(shù)據(jù)類型:字符型(C),日期型(D),邏輯型(L),數(shù)值型(N),日期時間型(T),貨幣符號型(Y)。 在Visual FoxPro 6.0程序中,內(nèi)存變量只能在一個程序(過程)中起作用,除非用戶特別說明它是公共的,否則,一旦某一程序運行結(jié)束,其定義的內(nèi)存變量便失去了意義??墒褂肔OCAL,PRIVATE,和PUBLIC命令指定內(nèi)存變量的作用域。,33,2.5.3 內(nèi)存變量常用命令 1.賦值命令 格式1:STORE表達式TO變量名表 格式2:內(nèi)存變量名=表達式 功能:計算表達式并將表達式值賦給一個或多個內(nèi)存變量,格式2只能給一個變量賦值。 2.變量及表達式值的輸出命令 格式1:?表達式表 格式2:?表達式表 功能:計算表達式表中的各表達式并輸出各表達式值。 不管有沒有指定表達式表,格式1都會輸出一個回車換行符。如果指定了表達式表,各表達式值將在下一行的起始處輸出。 格式2不會輸出一個回車換行符,各表達式值在當(dāng)前行的光標(biāo)所在處直接輸出。,34,3. 內(nèi)存變量的顯示 格式1:LIST MEMORY LIKE通配符TO PRINTER|TO FILE 格式2:DISPLAY MEMORY LIKE通配符TO PRINTER|TO FILE文件名 功能:顯示內(nèi)存變量的當(dāng)前信息,包括變量名、作用域、類型、取值。 說明:選用LIKE短語只顯示與通配符相匹配的內(nèi)存變量。通配符包括*和?,*表示任意多個字符,?表示任意一個字符。 可選子句TO PRINTER或TO FILE文件名用于在顯示的同時送往打印機,或者存入給定文件名的文本文件中,文件的擴展名為.txt。,35,LIST MEMORY一次顯示與通配符匹配的所有內(nèi)存變量,如果內(nèi)存變量多,一屏顯示不下,則自動向上滾動。DISPLAY MEMORY分屏顯示與通配符匹配的所有內(nèi)存變量,如果內(nèi)存變量多,顯示一屏后暫停,按任意鍵之后再繼續(xù)顯示下一屏。 4.釋放內(nèi)存變量命令 格式1:CLEAR MEMORY 格式2:RELEASE內(nèi)存變量名表 功能:格式1清除所有內(nèi)存變量。 格式2清除指定的內(nèi)存變量。,36,數(shù)組 數(shù)組是一組按一定順序排列的由單個變量名引用的有序數(shù)據(jù)集合。數(shù)組中的各個元素在數(shù)組中排列的位置由下標(biāo)表示,下標(biāo)的個數(shù)稱為數(shù)組的維數(shù)。例如:一維數(shù)組X及數(shù)組元素X(1),X(2),二維數(shù)組B及數(shù)組元素B(1,1),B(2,1),一般情況下,數(shù)組必須先定義后使用。 數(shù)組的定義 格式:DIMENSION數(shù)組名1(數(shù)值1,數(shù)值2) ,數(shù)組名2(數(shù)值3,數(shù)值4) 或 DECLARE數(shù)組名1(數(shù)值1,數(shù)值2),數(shù)組名2(數(shù)值3,數(shù)值4) 功能:定義一維或二維數(shù)組,37, 數(shù)組的賦值。數(shù)組中各數(shù)組元素的取值類型可以互不相同,數(shù)組一定義,系統(tǒng)自動給每個數(shù)組元素賦以邏輯值.F. 用賦值命令可為數(shù)組元素賦值,也可以為數(shù)組的各元素賦一相同值。 例如:A(4)=3, B(2,1)= “a b c” STORE 10 TO A &A數(shù)組中每個元素被賦值10,38,2.6 運算符與表達式,運算符是對操作對象進行操作運算的符號。表達式則是由常量、變量、函數(shù)用運算符按一定規(guī)則連結(jié)而成的有意義的式子。 1.運算符 根據(jù)運算符的不同功能劃分為4類:算術(shù)運算符、字符運算符、關(guān)系運算符、邏輯運算符。,39,(1) 算術(shù)運算符 () 分組優(yōu)先運算符(括號) * 或 乘方運算符 *,/ 乘、除運算符 % 模(取余)運算符 +, 加減或單目運算符 算術(shù)運算符主要用于數(shù)值數(shù)據(jù)間的運算,運算結(jié)果也是數(shù)值數(shù)據(jù)。運算符的優(yōu)先級順序為: ()單目(取正、負(fù)號)*,/,-,40,(2) 字符運算符 字符運算符用于字符串連接操作,有以下兩種: 指兩個字符串原封不動地連接成一個新串。 將兩個字符串連接起來,與“”連接不同的是,將第一個字符串尾部的空格移到結(jié)果的尾部。 $ 包含與 a=“abc ” b=“def” c=“gh” ?a+b+c abc defgh ?ab+c abcdef gh &abc后面的空格移到整個字符串a(chǎn)-b結(jié)果的后面。 ?“章”$“章旭升” .,41,(3) 關(guān)系運算符 關(guān)系運算符用于比較運算。即比較同類型操作對象的值,如使關(guān)系成立,比較運算結(jié)果取值為“真”,否則,取值為“假”。Visual FoxPro 6.0提供以下關(guān)系運算符。各關(guān)系運算符的優(yōu)先級相同。 小于 大于 等于 字符串全等比較 小于或等于 大于或等于 ,!= 不等于 例如: ? “ABCD”“ ABCD ” &必須全等,等號右邊的字符串中有空格 .F. ?“ABC”=“AB” 當(dāng)設(shè)置SET EXACT ON 為假 當(dāng)設(shè)置SET EXACT OFF 為真,42,() 邏輯運算符 用于邏輯運算。參與運算的數(shù)據(jù)均為邏輯型。運算結(jié)果也是邏輯值。 vfp中提供下列邏輯運算符,其運算優(yōu)先級次序為: . . . .或!(邏輯非,取其右邊邏輯值的相反值) .(邏輯與,兩邊的邏輯值都是真時結(jié)果才得真) .(邏輯或,兩邊的邏輯值都是假時結(jié)果才得假),43,2. 表達式,表達式是Visual FoxPro 6.0命令和函數(shù)的重要組成部分,表達式通過運算得出表達式的值。由于操作對象數(shù)據(jù)類型的不同,運算符類型各異,在組成表達式時要嚴(yán)格遵守相應(yīng)的規(guī)定,否則難以得到我們期望的結(jié)果。Visual FoxPro 6.0中定義了下列幾種表達式:,44,(1)數(shù)值型表達式 數(shù)值型表達式由數(shù)值型常量、變量、函數(shù)和算術(shù)運算符構(gòu)成,運算結(jié)果仍為數(shù)值型數(shù)據(jù)。例如: a=6 ?(8+a)/2 &顯示結(jié)果為7.0000 ? 20% 3 &顯示顯示結(jié)果為:2,45,(2)字符型表達式 字符型表達式由字符型常量、變量、字符型函數(shù)和字符運算符構(gòu)成。運算結(jié)果仍為字符型數(shù)據(jù)。例如: ?“科學(xué) ”+“技術(shù)” 結(jié)果為:科學(xué) 技術(shù) ?“科學(xué) ”-“技術(shù)” 結(jié)果為:科學(xué)技術(shù) ,其尾部有空格。,46,(3)日期表達式 日期型表達式由日期型(或日期時間型)常量、變量、函數(shù)通過算術(shù)運算符“+”、“-”構(gòu)成。運算結(jié)果為日期型(或日期時間型)或數(shù)值型數(shù)據(jù)。 格式1: 日期n 返回日期 日期時間n 返回日期時間 格式2:日期-日期 返回數(shù)值 日期時間一日期時間 返回秒數(shù),47,例如: ?2001/4/12+30 &結(jié)果為日期型2001/5/12 ?2001/4/12 -30 &結(jié)果為日期型:2001/3/13 ?2001/4/12 - 2001/4/7 結(jié)果為5, 是兩個日期相隔的天數(shù) ?2004/08/18 09:17 - 2005/03/18 08:19:20 結(jié)果為-18313340,48,(4) 關(guān)系表達式 關(guān)系表達式由關(guān)系運算符和字符表達式、數(shù)值表達式、日期表達式組成,關(guān)系運算符左右兩側(cè)數(shù)據(jù)類型必須一致,運算結(jié)果為邏輯值。 例如: ?35 結(jié)果為.,49,(5) 邏輯表達式 邏輯表達式由邏輯運算符和邏輯常量、變量、函數(shù)及關(guān)系表達式組成,其結(jié)果仍是邏輯值。例如: ?NOT(56) .T. ?(65).AND.abcabc .F. ?(35) or (53) .T.,50,2.7 常用函數(shù),函數(shù)的一般形式為: 函數(shù)名(參數(shù)1,參數(shù)2) 注意下面3點: 準(zhǔn)確地掌握函數(shù)功能。 函數(shù)對自變量的類型有確定要求,否則會產(chǎn)生類型不匹配的語法錯誤。 函數(shù)的返回值也有確定的類型,注意在組成表達式時的類型匹配。,51,例如:Max(128,86)是一個求128和86之中最大值的函數(shù),其結(jié)果為128。 函數(shù)名后緊接括號、括號內(nèi)為參數(shù)(即自變量),有的函數(shù)沒有參數(shù),沒有參數(shù)的函數(shù)稱為無參函數(shù)。函數(shù)都有返回值。函數(shù)名,參數(shù)和返回值為函數(shù)的三要素。以下舉例說明部分函數(shù)。,52,2.7.1 數(shù)值函數(shù),數(shù)值函數(shù)主要用于通用的數(shù)學(xué)運算,其參數(shù)和返回的函數(shù)值,都是數(shù)值型。 1.絕對值函數(shù) 格式:ABS(N) 求數(shù)值表達式N的絕對值 例2.1 ?ABS(-46) 46 ?ABS(-2*15.2) 30.4 2.取整函數(shù) 格式: INT(N) 取數(shù)值表達式N的整數(shù)部分 例2.2 ?INT(10.3) 10 ?INT(-10.8) -10,53,3.符號函數(shù) 格式 SIGN(N) 判斷表達式N的符號,該數(shù)值為正、零、負(fù)數(shù)時返回1、0、-1 例2.3 ?SIGN(20) 1 ?SIGN(-36.5) -1 ?SIGN(0) 0 4.自然指數(shù)函數(shù) 格式: EXP(N) 求eN的值 例2.4 ?EXP(1) 2.72 ?EXP(0) 1.00 5.對數(shù)函數(shù) (1)自然對數(shù) 格式:LOG(N) (2)常用對數(shù) 格式:LOG10,54,例2.5 ?LOG(2.72) 1.00 ?LOG10(100) 2.00 6.平方根函數(shù) 格式: SQRT(N) 取數(shù)值表達式N的平方根 例2.6 ?SQRT(2),SQRT(16) 1.41 4.00 7.四舍五入函數(shù) 格式: ROUND(N1, N2) 對N1四舍五入,保留的小數(shù)位數(shù)由N2決定。 例2.7 ?ROUND(65.3476,3),ROUND(52.35,0),ROUND(32.653,-1) 65.348 52 30,55,8.最大值函數(shù) 格式: MAX(M1, M2,M3) 取表達式M1,M2,M3,中的最大值 例2.8 ?MAX(96,80) 96 ?MAX(1999/10/20,1980/5/15) 10/20/99 9.最小值函數(shù) 格式:MIN(M1, M2,M3) 取表達式M1,M2,M3,中的最小值,56,10.求余函數(shù) 格式: MOD(N1, N2) 取數(shù)值表達式N1除以N2所得的余數(shù),其正負(fù)號與N2相同 例2.10 ?MOD(17,5) 2 11.隨機數(shù)函數(shù) 格式:RAND(N) 功能:返回0到1之間的隨機數(shù)。,57,2.7.2 字符函數(shù) 字符函數(shù)的處理對象均為字符型數(shù)據(jù),但其返回值類型卻各異。 1.字符串長度函數(shù) 格式:LEN(C) 返回字符串C的長度(字符個數(shù))??兆址拈L度為0。函數(shù)值為N型。 例2.11 ?LEN(“visual foxpro 6.0) 17 ?LEN(“奧運會”) 6 2.空格函數(shù) 格式:SPACE(N) 生成且返回一個由N個空格組成的字符串。函數(shù)值是字符型。 例2.12 ?”中國”+space(2)+”安徽” 中國 安徽,58,3.刪除空格函數(shù) 格式:ALLTRIM(C) 刪除字符串C中前后空格TRIM(C)、 RTRIM(C) 刪除字符串C尾部空格。 LTRIM(C) 刪除字符串C前導(dǎo)空格。 函數(shù)值是字符型 例2.13 ?“AB CD “+“EF“ AB CD EF ?trim(“ AB CD “)+“EF “ AB ADEF ?alltrim(“ AB CD “)+“EF“ AB CDEF ?ltrim(“AB CD “)+“EF“ AB CD EF 4.取子串函數(shù) 格式:SUBSTR(C,N1,N2) 返回一個子字符串。該子字符串在C中從N1位置開始,共N2個字符(如N2省略,則從N1開始至串尾)。,59,例2.14 ?substr(“ABCDEF“,3,2) CD ?substr(“中國首都”,5) 首都 5.左取字符,右取字符函數(shù) 格式:LEFT(C,N)返回一個子字符串,該字符串在C中從最左端開始,取N個字符。 RIGHT(C,N)返回一個子字符串,該字符串在C中從最右端開始,取N個字符。 例2.16 ?left(“ABCDEFG“,4)+right(“XYZ“,2) ABCDYZ 6.復(fù)制字符函數(shù) 格式:REPLICATE(C,N) 功能:將指定的C串重復(fù)N次,返回值是所形成的字符串。,60,例2.16 ?replicate(“*“,5) * 7.求子串位置函數(shù) 格式1:AT(C1,C2,n) ATC(C1,C2,n) 功能:確定字符串C1在字符串C2中的開始位置。返回值N型,如C1不在C2中,則返回值為0,n為C1在C2中第幾次出現(xiàn)。 ATC()在子串比較時不區(qū)分字母大小寫。 例2.17 store “I am a Chinese.“ to x ?at(“chinese“,x) 0 ?atc(“chinese“,x) 8 ?at(“a“,x,2) 6,61,2.7.3 日期和時間函數(shù) 日期函數(shù)主要用于對日期型參數(shù)進行操作,設(shè)置或提取系統(tǒng)日期或日期的年月日星期等,常用的有: 1.系統(tǒng)日期函數(shù) 格式: DATE() 格式: 返回系統(tǒng)當(dāng)前日期。函數(shù)值為日期型D,62,例2.18 ?date() 08/31/08 set century on ?date() 08/31/2008 2.系統(tǒng)時間函數(shù) 格式:TIME() 功能:返回系統(tǒng)當(dāng)前時間,函數(shù)值為字符型C。 3.系統(tǒng)日期時間函數(shù) 格式:DATETIME() 功能:返回系統(tǒng)當(dāng)前日期、時間。函數(shù)值為日期時間型T,63,4.年函數(shù) 格式:YEAR(D) 功能:返回D的年份值(4位,N型)。 ?year(date() 2008 5.月函數(shù) 格式: MONTH(D) 功能:返回D的月份值(N型) ?month(date() 9 6.日函數(shù) 格式: DAY(D) 功能:返回D日期值(N型) ?day(date(),64,2.7.4 數(shù)據(jù)類型轉(zhuǎn)換函數(shù) 轉(zhuǎn)換函數(shù)的功能是將某一種類型的數(shù)據(jù)轉(zhuǎn)換為另一種類型的數(shù)據(jù)。 1.數(shù)值轉(zhuǎn)換成字符串函數(shù) 格式:STR(N1,N2,N3) 功能:將數(shù)值N1轉(zhuǎn)換成字符串。N2表示串的最大長度,N3表示保留小數(shù)點位數(shù)。函數(shù)值為字符型。若N2小于N1的整數(shù)位數(shù),則函數(shù)值為由“*”組成的字符串,若省略N3,則認(rèn)為小數(shù)位數(shù)為0,若省略N2和N3,則整數(shù)位數(shù)默認(rèn)為10。,65,例2.24 ?STR (896.5682,8,4) 結(jié)果:896.5682 ? STR(896.5682,8) 結(jié)果: 897 ? STR(896.5682) 結(jié)果: 897 ? STR(896.5682,2) 結(jié)果:* ? STR(896.5682,3) 結(jié)果:897 2.字符串轉(zhuǎn)換成數(shù)值函數(shù) 格式:VAL(C) 功能:將字符串轉(zhuǎn)換成相應(yīng)的數(shù)值型數(shù)據(jù)。 轉(zhuǎn)換從字符串最左邊字符開始,如果第一個字符為非數(shù)字字符,則函數(shù)值為0;若為數(shù)字字符,則一直到非數(shù)字字符為止。函數(shù)值為N型。,66,例2.25 ?val(“28.612”)+10 結(jié)果:38.61 ?val(“51ABC”) 結(jié)果:51.00 ?val(“ABC51”) 結(jié)果:0.00 ?val(“2.8E+5”) 結(jié)果:280000.00 3.字符轉(zhuǎn)換ASCII碼函數(shù) 格式:ASC(C) 功能:返回C中第一個字符的ASCII碼。函數(shù)值為N型。 例2.26 ?asc(“ABC“+“DEF“) 65,67,4.ASCII碼轉(zhuǎn)換字符函數(shù) 格式:CHR(N) 功能:將十進制數(shù)N轉(zhuǎn)換成相應(yīng)的ASCII碼字符。函數(shù)值為C型。 例2.27 ?chr(33*2) B 5.字符型轉(zhuǎn)換為日期型函數(shù) 格式:CTOD(C) 功能:把日期格式書寫的字符串轉(zhuǎn)換成日期型數(shù)據(jù)。 ?ctod(“10/20/99”) 10/20/99 6.日期型轉(zhuǎn)換為字符型 格式: DTOC(D ,1) 功能: 把日期型數(shù)據(jù)D轉(zhuǎn)換成字符串形式。,68,例2.29 rq=1999.10.20 ?dtoc(rq),rq 10/20/99 10/20/99 ?dtoc(rq,1),rq 19991020 10/20/99 7.字符型轉(zhuǎn)換為日期時間型函數(shù) 格式:CTOT(c

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論