《Visual FoxPro程序設計》課件第2章Visual FoxPro6.0編程基礎_第1頁
《Visual FoxPro程序設計》課件第2章Visual FoxPro6.0編程基礎_第2頁
《Visual FoxPro程序設計》課件第2章Visual FoxPro6.0編程基礎_第3頁
《Visual FoxPro程序設計》課件第2章Visual FoxPro6.0編程基礎_第4頁
《Visual FoxPro程序設計》課件第2章Visual FoxPro6.0編程基礎_第5頁
已閱讀5頁,還剩83頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本章主要內容2.1常量2.2變量2.3表達式2.4系統函數2.1常量

一、常量常量類型:字符型、數值型、貨幣型、邏輯型、日期型、日期時間型1、數值型:構成:由0-9數字,-、+號,小數點例:32,-6,5.8表示形式:基本表示法科學計數法2、貨幣型:構成:$、數字、小數點

例:輸入$125.547878

注:1)輸出時沒有“$”符號

2)輸出時小數點后自動保留4位。125.5479練習輸入輸出$34.75263$456.45$1.77788834.7536456.45001.7779※3、字符型(由定界符引起的一組字符串)定界符:‘’,“”,[]

例:“中國”,[上海],‘apple’

注:1)定界符要成對出現;

2)輸出時沒有定界符;

3)如果定界符做為字符串中的一部分,必須使用其他定界符;練習輸入輸出“VisualFoxPro”[“中國北京”]‘12345’VisualFoxPro“中國北京”123454、日期型:輸入格式:{^yyyy-mm-dd}

例:{^2006-08-28}1)日期型常量的定界符:{}2)以脫字符^開頭

3)年份占4位,月、日各占2位

輸入時應注意1)輸出時的格式:mm/dd/yy2)關于連接符默認為:/

3)輸出時無定界符

練習輸出時應注意輸入輸出{^2008-10-21}03/27/0610/21/08{^2006-03-27}影響日期格式的設置命令1)設置分隔符命令:Setmarkto[日期分隔符]例1:?{^2006-08-28}例2:Setmarkto“-”

?{^2006-08-28}

輸出08-28-0608/28/06練習1、Setmarkto“.”

?{^1996-05-19}

輸出05.19.962、Setmarkto“”

?{^2002-03-05}

輸出0305022)設置日期顯示格式命令:Setdateto……例1:SetdatetoYMD

?{^2006-08-28}

輸出06-08-283)設置年份顯示位數命令:Setcenturyon/off例1:Setcenturyon

?{^2006-08-28}

輸出08/28/2006練習1、Setmarkto“.”setdatetoYMDsetcenturyon

?{^2004-12-25}輸出結果:2004.12.255、日期時間型:格式:{<日期>,<時間>}{^YYYY-MM-DD,[hh[:mm[:ss]][a|p]]}例:輸入:{^2006-08-27,10:15a}

輸出結果:08/27/0610:15:00AM注:1)hh,mm,ss,a|p的默認值分別為:

12,00,00,AM2)輸入時逗號不可省,輸出時省略6、邏輯型(用來表示真或假的常量)真:.T.、.t.、.Y.、.y.

假:.F.、.f.、.N.、.n.注:邏輯型常量輸出時就有兩個值:真:.T.

假:.F.1、變量字段變量簡單的內存變量內存變量數組區別:簡單內存變量不用定義直接使用,數組必須先定義再使用。變量2.2變量簡單內存變量內存變量的賦值:格式1:Store<表達式>to<變量名>格式2:<內存變量名>=<表達式>例:把2賦給變量X和變量Y方法1:Store2tox,y方法2:x=2y=21)store…to…一次可以為多個變量賦值2)=一次只能給一個變量賦值區別數組:是內存中連續的一片存儲區域,它由一系列元素組成。例:a(1),a(2),a(3),a(4)定義數組:格式1:dimension<數組名>(數組下標)

例:dimensiona(4),dimensionb(2,3)格式2:declare<數組名>(數組下標)

例:declarea(4),declareb(2,3)b(1,1),b(1,2),b(1,3)b(2,1),b(2,2),b(2,3)數組的特點:1)一個數組中各元素的數據類型可以不相同2)數組下限規定為13)數組創建后,系統自動給每個數組元素賦以邏輯假.F.4)給數組名賦值則給數組中的每個元素賦值5)可用一維數組表示二維數組.例:dimensionb(2,3)第1行① ② ③

b(1,1),b(1,2),b(1,3)第2行④ ⑤ ⑥

b(2,1),b(2,2),b(2,3)b(1)b(1,1)

b(2)b(1,2)b(5)b(2,2)例:dimensiona(4)a(1)=123a(2)=$123.45a(3)=“abcd”a(4)=.T.例:dimensiona(4)a(1)=123a(3)=“abcd”?a(1),a(2),a(3),a(4)結果:123.F.abcd.F.練習執行如下命令序列后,最后一條命令的顯示結果是()

DIMENSIONM(2,2)

M(1,1)=10

M(1,2)=20

M(2,1)=30

M(2,2)=40

?M(2)

A)變量未定義的提示B)10C)20D).F第1行① ②

M(1,1),M(1,2)第2行③ ④

M(2,1),M(2,2)

練習例:dimensionx(2,3)x(1,2)=6x(1,3)=7x(2,1)=8x(2,2)=9x(2,3)=10求:x(1)=________,x(5)=_________2.3表達式定義:由常量、變量和函數通過特定的運算符連接起來的式子數值表達式字符表達式日期時間表達式關系表達式邏輯表達式1、數值表達式算術運算符:(1)()(2)**或^(乘方)(3)*、/、%(求余)(4)+、—優先級逐級遞減注例(35+6)-8*6**2例:17%5=22、字符表達式運算符:+:前后兩個字符串首尾連接.-:連接前后兩個字符串,并將前字符串的尾部空格移到合并后的新字符串尾部.字符運算符優先級相同注練習輸入輸出“ABC”+“DEF”“ABC”+“DEF”“ABC”-“DEF”“ABCDEF”“ABCDEF”“ABCDEF”3、日期時間表達式運算符:+,-例1:{^2005-08-13}+5例2:{^2005-08-13}-10例3:{^2005-08-13}-{^2005-07-13}08/18/0508/03/0531格式結果1、<日期>+<天數>日期型2、<天數>+<日期>日期型3、<日期>-<天數>日期型4、<日期>-<日期>數值型5、<日期時間>+<秒數>日期時間型6、<秒數>+<日期時間>日期時間型7、<日期時間>-<秒數>日期時間型8、<日期時間>-<日期時間>數值型注:無<日期>+<日期>和<日期時間>+<日期時間>日期時間表達式的格式4、關系表達式格式:<表達式1><關系運算符><表達式2>運算結果:邏輯型關系運算符:(1)<(2)<=(3)>(4)>=(5)=(6)==

(7)<>、#或!=(8)$(子串包含測試)注:所有關系運算符的優先級一樣$(子串包含測試):格式:<字符表達式>$<字符表達式>功能:用來測試前者是否為后者的子串。例:表達式結果“計算”$“計算機”“abc”$“abc”

“男”$“男同學”“abcd”$“ab”.T..F..F..T.字符串精確比較與EXECT設置==:只有兩個字符串完全相等時值為真.

setexacton:先在較短的字符串的尾部加上若干個空格,使兩個字符串長度相等,然后對應字符一一比較

setexactoff(默認):右邊字符串與左邊的字符串前部分內容相匹配時,值就為真.=:練習輸入輸出“abc”==“abcd”“ABC”=“AB”“ABC”=“AB”.F..T..F.Setexacton5、邏輯表達式運算符:非:.NOT.(取反)與:.AND.(兩邊同時為真才為真)或:.OR.(兩邊有一個為真就為真)注:1)邏輯運算符兩邊都是邏輯表達式

2)優先級順序為.NOT.>.AND.>.OR.例1:.NOT.(.F.)例2:(.T.).AND.(.F.).T..F.XYX.AND.YX.OR.YNOT(X).T..T..T..F..F..T..F..F..T..F..F..T..T..T..T..T..F..F..F..F.6、各種運算符的優先級算術運算符:()>**或^>*、/、%>+、-關系運算符:所有關系運算符的優先級一樣邏輯運算符:.NOT.>.AND.>.OR.注:算術運算符>關系運算符>邏輯運算符例:3+3>7.OR.4-2<3.AND.3+3=5

結果:.F.練習1、計算表達式:1-8>7.OR.‘a’+‘b’$‘123abc123’

結果.T.練習?8>3.AND.“女”>“女生”.OR..T.<.F.

結果.T.2.4系統函數一、數值函數1、ABS(〈數值表達式〉)功能:求絕對值返回值:數值表達式的絕對值例:ABS(-10)結果102、SIGN(〈數值表達式〉)功能:求符號返回值:1正號

-1負號

0零例:SIGN(25)結果13、SQRT(〈數值表達式〉)功能:求平方根返回值:數值表達式的平方根例:SQRT(25)結果54、PI()功能:求圓周率返值:圓周率例:X=PI()結果X=3.14159265、INT(〈數值表達式〉)功能:取整返回值:數值表達式的整數部分例:INT(13.5)結果136、CEILING(〈數值表達式〉)功能:求最小整數返回值:大于或等于數值表達式的最小整數例:CEILING(13.5)結果147、FLOOR(〈數值表達式〉)功能:求最大值返回值:小于或等于數值表達式的最大整數例:FLOOR(13.5)結果138、ROUND(〈數值表達式1〉,〈數值表達式2〉)功能:四舍五入注:1)數值表達式1……進行四舍五入的數據;

2)數值表達式2……指定小數位數

3)當表達式小于零時,表示對第幾位整數進行四舍五入例:ROUND(123.456,2)結果123.469、MOD(<數值表達式1>,<數值表達式2>)功能:求余數返回值:數值表達式1與數值表達式2相除后余數例:MOD(12,8)結果410、MAX(〈數值表達式1〉,〈數值表達式2〉[,〈數值表達式3〉……])功能:求最大值返回值:幾個數值表達式中的最大值例:MAX(23,12,2,32)結果3211、MIN(〈數值表達式1〉,〈數值表達式2〉[,〈數值表達式3〉……])功能:求最小值返回值:數值表在式中的最小值例:MIN(23,12,2,32)結果2二、字符函數1、LEN(〈字符表達式〉)功能:求字符串的長度返回值:字符表達式所包含字符個數例:LEN(“HAPPY”)結果52、LOWER(〈字符表達式〉)功能:大寫轉換為小寫返回值:將字符表達式的大寫字母轉換為小寫字母例:LOWER(“ABC“)結果abc3、UPPER(〈字符表達式〉)功能:小寫轉換為大寫返回值:將字符表達式的小寫字母轉換為大寫字母例:UPPER(“new”)結果NEW4、SPACE(〈字符表達式〉)功能:生成空格字符串返回值:生成N個空格例:LEN(SPACE(10))結果105、TRIM(〈字符表達式〉)功能:刪除尾部空格返回值:刪除尾部空格后的字符串例:LEN(TRIM(“HELLO”))

結果56、LTRIM(〈字符表達式〉)功能:刪除前導空格返回值:刪除前導空格后的字符串例:LEN(LTRIM(“HELLO”))

結果57、ALLTRIM(〈字符表達式〉)功能:刪除前、后空格返回值:刪除前、后空格后的字符串例:ALLTRIM(“HELLOWORD”)結果HELLOWORD8、LEFT(〈字符表達式〉,〈長度N〉)功能:從左邊開始求子串返回值:從字符表達式的左邊開始取N個字符例:LEFT(“HELLOWORD”,4)結果HELL9、RIGHT(〈字符表達式〉,〈長度N〉)功能:從右邊開始求子串返回值:從字符表達式的右邊開始取N個字符例:RIGHT(“HELLOWORD”,4)結果WORD10、SUBSTR(〈字符表達式〉,〈起始位置〉,[,〈長度N〉])功能:求子串返回值:從字符表達式的“起始位置“開始取N個字符。(注:若N缺省,則取到最后一個字符)例:SUBSTR(“HAPPYNEWYEAR”,5,3)結果YN11、AT(〈字符表達式1〉,〈字符表達式2〉[,〈數值表達式〉])功能:求子串的位置返回值:若字符表達式1是字符表達式2的子串,返回字符表達式1首字符在字符表達式2的位置,否則返回0例:AT(“IS”,“THISISABOOK”)結果312、ATC(〈字符表達式1〉,〈字符表達式2〉[,〈數值表達式〉])功能:與AT功能類似,但在子串比較時不區分字母大小寫返回值:若“字符表達式1”是“字符表達式2”的子串,返回”字符表達式1”首字符在”字符表達式2”的位置,否則返回0例:ATC(“is”,“THISISABOOK”)結果313、STUFF(<字符表達式1>,<起始位置〉,<長度>,<字符表達式2>)功能:子串替換返回值:用字符表達式2替換字符表達式1

中<起始位置>開始的N個字符例:STUFF(“THIS”,3,2,“AT”)結果THA14、CHRTRAN(〈字符表達式1〉,〈字符表達式2〉,〈字符表達式3〉)功能:字符替換返回值:當第一個字符串中的一個或多個字符與第二個字符串中的某個字符相匹配時,就用第三個字符串的對應字符(相同位置)替換這些字符例:CHRTRAN(“ABACAD”,“ACD”,“X12”)結果XBX1X215、LIKE(〈字符表達式1〉,〈字符表達式2〉)功能:字符串匹配返回值:“字符表達式1”與“字符表達式2”對應位置的所有字符都匹配則返回邏輯真,否則返回邏輯假例:LIKE(“ABC”,“AB”)結果.F.三、日期和時間函數1、DATE()功能:求系統日期返回值:系統當前日期注:返回值的為日期型數據2、TIME()功能:求系統時間返回值:系統當前時間注:返回值的數據類型字符型3、DATETIME()功能:求系統日期時間返回值:系統當前日期時間注:返回值的數據類型日期時間型4、YEAR(〈日期表達式〉|〈日期時間表達式〉)功能:求年份返回值:指定表達式的年份注:返回值的數據類型數值型5、MONTH(〈日期表達式〉|〈日期時間表達式〉)功能:求月份返回值:指定表達式的月份6、DAY(〈日期表達式〉|〈日期時間表達式〉)功能:求天數返回值:指定表達式的月中的天數注:返回值的數據類型數值型7、HOUR(〈日期時間表達式〉)功能:求小時返回值:指定表達式的小時部分注:返回值的數據類型數值型8、MINUTE(〈日期時間表達式〉)功能:求分鐘返回值:指定表達式的分鐘部分注:返回值的數據類型數值型9、SEC(〈日期時間表達式〉)功能:求秒返回值:指定表達式的秒數部分注:返回值的數據類型數值型四、數據類型轉換函數1.STR(<數值表達式>,[,<長度>[,<小數位數>]])功能:數值轉換成字符串注:理想長度L=整數位數+小數位數+小數點1)當<長度>大于L:字符串前加上空格,滿足規定的<長度>要求2)當<長度>大于等于整數部分位數但又小于L:優先考慮整數部分而自動調整小數位數3)當<長度>小于整數部分位數:返回一串星號(*)4)當<小數位數>的默認真為0時,<長度>的默認值為10例:X=-123.456?STR(X,9,2)

?STR(X,6,2)

?STR(X,3)

?STR(X,6)?STR(X)

-123.46***-123.5-123-1232、VAL(〈字符表達式〉)功能:字符串轉換成數值返回值:將數字組成的字符表達式轉換成數值例:VAL(“123.56”)結果123.56VAL(“12A34”)結果12VAL(“A123”)結果0注:1、若字符串內出現非數字字符,則只轉換前部分2、若字符串的首字符不是數字符號,則返回03、CTOD(〈字符表達式〉)功能:將字符表達式轉換成日期型數據4、CTOT(〈字符表達式〉)功能:將字符表達式轉換成日期時間型數據5、DTOC(〈日期表達式〉|〈日期時間表達式〉[,1])功能:將日期或日期時間型數據轉換成字符串注:選項1規定字符串格式為YYYYMMDD6、TTOC(〈日期時間表達式〉[,1])功能:日期時間轉換成字符串7、&<字符型變量>[.]功能:替換出字符型變量的內容聯(注:&的值是變量中的字符串)五、測試函數1、BETWEEN(〈表達式T〉,〈表達式L〉,〈表達式H〉)功能:值域測試函數返回值:若L<T<H則返回.T.否則返回.F.

若L或H值為NULL返回值為NULL例:BETWEEN(40,34,50)結果.F.注:三個表達式的數據類型要一致2、ISNULL(〈

溫馨提示

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

評論

0/150

提交評論