版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第二章VisualFoxPro6.0的基礎(chǔ)知識
2.1匚VisualFoxPro6.0系統(tǒng)菜單的使用
2.2KisualFoxPro6.0輔助設(shè)計工具
2.3IZyisualFoxPro6.0的基本概念
2.4口isualFoxPro6.0的數(shù)據(jù)類型和數(shù)據(jù)存儲
2.5宣算符與表達(dá)式
2?6口?數(shù)
2.7邀組
1
2.1VisualFoxPro6.0系統(tǒng)菜單的使用
2.1.1VisualFoxPro6.0用戶界面
2
2.1.2主菜單欄
?玉菜單又稱系冢菜單,它包含:文件、編輯、顯
示、格式、工具、程序、窗口和幫助共8個菜單選
項。
2.1.3工具欄
VFP6.0有如下11種:常用、布局、表單控件、表
單設(shè)計器、查詢設(shè)計器、視圖設(shè)計器、數(shù)據(jù)庫設(shè)計器、
報表控件、報表設(shè)計器、調(diào)色板和打印預(yù)覽工具欄。
通過“顯示”菜單的“工具欄”命令管理各種工具欄。
2.1.4配置VisualFoxPro6.0
通過“工具”菜單的“選項”命令配置需要開發(fā)
環(huán)境。
3
浮工具欄兇
工具欄(T):
4
2.2VisualFoxPro6.0輔助設(shè)計工具
2.2.1向?qū)?/p>
向?qū)且环N快捷設(shè)計工具,能以對話框的形式引導(dǎo)
用戶分步完成某項任務(wù)。
2.2.2設(shè)計器
設(shè)計器用來創(chuàng)建或修改VFP應(yīng)用程序所需要的構(gòu)件,
其功能比向?qū)Ц鼜?qiáng)。
2.2.3生成器
生成器的主要功能是在VFP應(yīng)用程序的構(gòu)件中生
成并加入一個構(gòu)件,如生成一個組合框或列表框等
O
VFP提供了21種向?qū)А?種設(shè)計器、10種生成器。
6
2.3VisualFoxPro6。的基本概念
2.3.1EVisualFoxPro6.0的文件
使用VisualFoxPro6.0開發(fā)應(yīng)用程序時會創(chuàng)建
很多文件,這些文件的文件類型多而繁雜。
常用的文件類型有:數(shù)據(jù)庫、表、項目、索引、
查詢、視圖、程序、表單、菜單、報表、標(biāo)簽等。
2.3.2O/isualFoxPro6.0的項目
項目是指文件、數(shù)據(jù)、文檔和各種對象的集合。
項目文件的擴(kuò)展名是PJX。
項目是用“項目管理器”來管理的,打開項目文
件會自動打開項目管理器。
7
2.3.2O/isualFoxPro6.0的工作方式
1.交互方式
(1)菜單操作方式
(2)工具操作方式
(3)命令操作方式
2.程序操作方式
2.3.3EVisualFoxPro6.0的命令格式
1.命令格式
每條命令的一般格式如下:
命令動詞子句
子句也稱為“短語”
DISPLAY|LIST[FIELDSv字段名表刁[范圍]
[FORv條件刁[WHILEv條件習(xí)[OFF]
[TOPRINTER[PROMPT]|TOFILEv文件刁]
8
2.四種常用的命令子句
(1)范圍子句
有4種格式:
ALL所有記錄
NEXT<N>從當(dāng)前記錄開始的N條記錄
RECORD<N>第N條記錄
REST從當(dāng)前記錄開始到最后一條記錄的所有記錄
(2)FOR子句
FOR<條件>用來指定篩選記錄的條件
(3)WHILE子句
也用于指定篩選條件,僅在當(dāng)前記錄符合〈條件》
時開始依次篩選記錄,一旦遇到不滿足條件的記錄
就停止操作。即連續(xù)篩選。
9
(4)FIELDS子句
確定需要操作的字段。
3.命令書寫規(guī)則
(1)必須以命令動詞開頭,命令子句通常無先后順序,但必須
用空格隔開。
(2)命令動詞與各子句中的保留字可以簡寫成前4個字母,英文
字母不區(qū)分大小寫。
(3)一條命令的長度可達(dá)8192個字符。若一行寫不下,可在適
當(dāng)?shù)奈恢貌迦肜m(xù)行符";"并按【Enter】鍵,然后在下一行繼
續(xù)鍵入命令的后面部分。
(4)命令子句中的標(biāo)點符號都是英文半角下的。
(5)命令或函數(shù)格式中以分隔的兩項表示兩者可選其一,
例如DISPLAY|LISTO用尖括號“?”括起來的部分表示由用
戶定義的內(nèi)容。但這些符號并非命令或函數(shù)的組成部分。
DISPLAYFIELDS編號,姓名,性別,所在學(xué)院FOR職稱二〃教授〃
10
2.4VFP6.0的數(shù)據(jù)類型和數(shù)據(jù)存儲
2.4.1數(shù)據(jù)和數(shù)據(jù)類型
VFP
6.0的數(shù)據(jù)類型分為兩大類:一類用于變量和數(shù)組,
一類用于表中的字段。
1.字符型(Character)
由字母(漢字)、數(shù)字、空格等任意ASCII碼組成。
字符數(shù)據(jù)的長度為0~254,每個字符占1個字節(jié)。
2.數(shù)值型(Numeric)
由數(shù)字0~9、一個符號(+或?)和一個小數(shù)點O組成。
數(shù)值型數(shù)據(jù)的長度為1~20,每個數(shù)據(jù)占8個字節(jié)。
數(shù)值型數(shù)據(jù)取值范圍是?.9999999999E+19~.9999999999E+20
3.貨幣型(currency)
在使用貨幣值時,可以使用貨幣型來代替數(shù)值型,默認(rèn)
格式是卻數(shù)值量”。小數(shù)位數(shù)超過4位時,系統(tǒng)將進(jìn)行四
舍五入。每個貨幣型數(shù)據(jù)占8個字節(jié)。
4.日期型(Date)
存儲格式為“yyyymmdd",其中yyyy為年,占4位;
mm%月,占2位;dd為日,占2位。
表示格式有多種,最常用的格式為mm/dd/yyyy。
取值范圍:公元0001年1月1日~公元9999年12月31日
5.日期時間型(DateTime)
存儲格式為,yyyymmddhhmmss”,其中yyyy為年,
占4位;mm為月,占2位;dd為日,占2位;hh為時
間中的小時,占2位;mm為分鐘,占2位;ss為秒,
占2位。
日期時間型數(shù)據(jù)中可以只包含一個日期或只包含
一個時間值,缺省日期值時,系統(tǒng)自動加上1999年
12月31日;缺省時間值時,則自動加上午夜零點。
6.邏輯型(Logical)
存入的值只有真(.T.)和假(,F.)兩種狀態(tài),占1
個字節(jié)。
以下數(shù)據(jù)美型只能被用于數(shù)據(jù)表中的字段:
7.雙精度型(Double)
用于取代數(shù)值型,以便能提供更高精度的數(shù)值。
8.浮點型(Float)
浮點型在功能上與數(shù)值型等價,包含此類型是為了
提供兼容性。
9.通用型(General)
用于存儲OLE對象,該字段包含了對OLE對象的引
用。通用型字段占4個字節(jié),用來引用它的實際內(nèi)容,
實際內(nèi)容存放在與表文件同名的備注文件中。
13
10.整型(Integer)
用于存儲無小數(shù)部分的數(shù)值,占4個字節(jié)。
11.備注型(Memo)
用于字符型數(shù)據(jù)塊的存儲,占4個字節(jié),用這4個字
節(jié)來引用備注的實際內(nèi)容。實際備注內(nèi)容存儲在相應(yīng)的
備注文件中,故備注型字段的大小僅受限于現(xiàn)有的磁盤
空間。
12.字符型(二進(jìn)制)
用于存儲任意不經(jīng)代碼頁修改而維護(hù)的字符數(shù)據(jù)。
13.備注型(二進(jìn)制)
用于存儲任意不經(jīng)過代碼頁修改而維護(hù)的備注型數(shù)
據(jù)。
14
2.4.2常量
.退序運行過程中其值保持不變的量稱為常量。
常量有數(shù)值型、浮點型、字符型、邏輯型、日期型、
日期時間型和貨幣型七種。
1,數(shù)值型常量
由數(shù)字(0~9)、小數(shù)點和正負(fù)號組成。
例如:-123.56768+32567.67
2.浮點型常量
是差值型常量的浮點格式。
例如:-123E+I2-3645E-
89o3.字符型常量
由漢字和ASCII字符集中可打印字符組成的字符
串,使用時必須用定界符或口)括起來。
例如:“ABCDE”、精華大學(xué)二[100]等。
15
4.邏輯型常量
有“真”和“假”兩種值。
例如:.t.或?T?、?f.或?F?。
5.日期型常量
其規(guī)定格式為{mm/dd/yyyy)。
例如:{04/12/1982}>{05/04/2002}等。
6.貨幣型常量
前面加“$”,精確到小數(shù)點后4位。
如$123.456。貨幣型常量可以參加算數(shù)運算。
7.日期時間型常量
其規(guī)定格式為{mm/dd/yyyyhh:mm:ss}o
例如:{04/12/198210:30:00}
八另外有一種嚴(yán)格日期形式為:
Cyyyy-1nm-dd[,][:ss]][a|p]]
如:{^2001/03/21,14:56:34)化
有關(guān)日期格式設(shè)置的命令:
(1)SETCENTURYON/OFF
用來設(shè)置年份的位數(shù)。
(2)SETDATETO
ANSI|AMERICAN|BRITISH|FRENCH|GERMAN|ITALIAN|JAPAN|USA
YMD|MDY|DMY
設(shè)置日期顯示的格式。
(3)SETSTRICTDATETO0/1/2
用來設(shè)置是否對日期格式進(jìn)行檢查。
(4)SETMARKTO[日期分隔符]
SETCENTURYON&&設(shè)置4位的年份
SETSTRICTDATETO1&&打開嚴(yán)格的日期格式檢查
SETMARKTO”J&&設(shè)置分隔符為逗號
SETDATETOYMD&&設(shè)置日期格式為年月日
?「2001/02/03}&&顯示日期常量的值
屏幕上將顯示:
17
2001,02,03
2.4.3變量及基本操作
1.變量的概念、分類和命名
VisualFoxPro6.0中有4種形式的變量:內(nèi)存變
量、數(shù)組變量、字段變量和系統(tǒng)變量。
除系統(tǒng)變量外,每個變量都有一個名稱,稱為變
量名。
變量名的命名規(guī)則是:以字母或下劃線開頭,由字母、
數(shù)字及下劃線組成,長度為廣128個字符,不能使用
VisualFoxPro6.0的保字。在中文VisualFoxPro
6.0中,可以以漢字開頭并包含漢字,每個漢字占2個
字符。
No>xyz_l>a_2x>變量、姓名、_www、ol(“o”和
“1”都是字母,要和數(shù)字0和1區(qū)另講來)、_0_1(數(shù)
字0和1)合法的
2x、w-2>x?y、II>a,b>12_w>y100非法的
00
2.內(nèi)存變量
(1)相關(guān)概念
內(nèi)存變量是存放單個數(shù)據(jù)的內(nèi)存單元,是一種臨
時變量,獨立于數(shù)據(jù)庫文件的存在,可以隨時建立和
刪除。常用來存儲數(shù)據(jù)處理過程中的輸入、輸出、中
間結(jié)果及最終結(jié)果或用來存儲控制程序執(zhí)行的各種參
數(shù),一般隨著程序運行結(jié)束或退出VisualFoxPro
6.0而釋放。
6種類型:字符型、數(shù)值型、邏輯型、日期型、日期
時間型和屏幕型。
同一個內(nèi)存變量可以在不同時間給它賦不同類型
的值,故內(nèi)存變量的類型由所賦數(shù)據(jù)的類型決定,并
以最近一次所賦的值為準(zhǔn)。
19
屏幕型內(nèi)存變量相關(guān)命令:
SAVESCREENTO〈屏幕內(nèi)存變量名〉
來存儲當(dāng)前屏幕上的信息。
RESTORESCREENFROM〈屏幕內(nèi)存變量名〉
從屏幕內(nèi)存變量回復(fù)屏幕信息。
VisualFoxPro6.0最多允許定義1024個
內(nèi)存變量。
20
(2)內(nèi)存變量的賦值命令
格式1STORE表達(dá)式TO內(nèi)存變量名清單
格式2內(nèi)存變量名二表達(dá)式
功能:格式1可以給一組內(nèi)存變量賦相同的值,格式
2
只能給一個內(nèi)存變量賦值。
例如:STORE“VisualFoxPro6.0"Toss
ss=aVisualFoxPro6.0”
STORE100Tox,y,z
內(nèi)存變量的類型和值由所賦數(shù)據(jù)的類型和值決定,
并以最近一次所賦的值為準(zhǔn)。
內(nèi)存變量名與字段變量名同名時,字段變量被優(yōu)
先引用。若要引用內(nèi)存變量,可在內(nèi)存變量名前加前
綴M.,以示區(qū)別。
(3)內(nèi)存變量的主要操作命令
①清除內(nèi)存變量
CLEARMEMORY
RELEASE〈內(nèi)存變量列表》
RELEASEALL[LIKE|EXCEPT〈通配符>]
如釋放以字母“A”開頭的內(nèi)存變量對應(yīng)的命令是:
RELEASEALLLIKEA*
②顯示內(nèi)存變量
DISPLAY|LISTMEMORY[LIKE<通配符>][TO
PRINTER[PROMPT]|T0FILE〈文件名>][NOCONSOLE]
③存儲內(nèi)存變量
SAVETO〈內(nèi)存變量文件名>ITOMEMO〈備注型字段名
>[ALL[LIKE|EXCEPT〈通配符>]]
SAVETOGHIALLEXCEPTX*
22
④恢復(fù)內(nèi)存變量
RESTOREFROM〈內(nèi)存變量文件名>|FROMMEMO〈備注
型字段名>[ADDITIVE]
選用ADDITIVE短語時,變量讀入內(nèi)存時不清除原先
內(nèi)存中已經(jīng)存在的變量。
RESTOREFROMABCADDITIVE
常用到的輸出命令:
?[[?"表達(dá)式>,[<表達(dá)式>]]&&顯示變量的值
?是先換行再輸出。
??是在當(dāng)前光標(biāo)的位置輸出,兩個問號之間不
能有空格。
STORE10TOAl,A2,A3
23
?Al,A2,A3
3.數(shù)組變量
將在2.7節(jié)單獨進(jìn)行介紹
4.字段變量
字段變量是指數(shù)據(jù)表中已定義的任意一個數(shù)據(jù)項。
字段變量必須依附于表,隨著表的打開而自動打開,隨
著表的關(guān)閉而在內(nèi)存中被釋放。
當(dāng)某個數(shù)據(jù)表文件被打開后,系統(tǒng)將產(chǎn)生跟表的字段對
應(yīng)的相同個數(shù)的字段變量,這些字段變量的變量名及類型
與數(shù)據(jù)庫文件的字段名及類型是相同的。
當(dāng)數(shù)據(jù)表文件的記錄指針發(fā)生變化時,字段變量的值也
響應(yīng)地發(fā)生變化。
字段變量可以和內(nèi)存變量一起參加跟類型相符的運算。
內(nèi)存變量名與字段變量名同名時,字段變量被優(yōu)先引用。
若要引用內(nèi)存變量,可在內(nèi)存變量名前加前綴M.,以示區(qū)
別。
5系統(tǒng)變
系統(tǒng)變量可以設(shè)置很多系統(tǒng)的狀態(tài)和特征。
系統(tǒng)變量舉例:
(1)_DIARYDAT
用萊存儲當(dāng)前日期。
(2)_CLIPTEXT
接受文本并送入到剪貼板。該系統(tǒng)變量是可讀可寫的。
(3)_VFP
VFP6.0應(yīng)用程序窗口??梢孕薷腳VFP的相關(guān)屬性。
_VFP.CAPTIONifakhjfa〃
(4)_SCREEN屏幕窗口。
_SCREEN.CAPTION=〃12414〃
_SCREEN.FONTNAME=〃楷體_GB2312〃
_SCREEN.F0NTSIZE=40
_SCREEN.FONTBOLD=.T.
25
?〃華東交通大學(xué)〃
2.5運算符與表達(dá)式
VFP6.0有5類運算符和表達(dá)式。
2.5.1算術(shù)運算符和算術(shù)表達(dá)式
算術(shù)運算符有有取負(fù))、+(加)、-(減)、*(乘)、/
(除)、A或**(乘方)、%(取余)。
算術(shù)規(guī)則:先括號,在同一括號內(nèi),按先取負(fù),再乘
方,再乘和除,再取余,后加減的運算原則。若同
處一個級別則按從左到右的順序計算。
2.5.2字符串運算符和字符串表達(dá)式
3個字符串運算符優(yōu)先級相同。
+(連接):將字符型數(shù)據(jù)連接起來。
-(空格移位連接):兩字符型數(shù)據(jù)連接時,將前一數(shù)據(jù)
尾部的空格移到后面數(shù)據(jù)的尾部。
26
$(包含):測試一個字符串是否在另一個字符串中。
例如:
“abed"+"xyz”
&&連接后的結(jié)果為:"abedxyz?
“ABC”-“DEFG”
&&連接后的結(jié)果為:"ABCDEFG”
“計算機(jī)"$"計算機(jī)軟件”
&&運算結(jié)果為:.T.
在字符串中嵌入引號,只需將字符串用另一種引號
括起來即可。
例如:
?"abc"+'“'&&運算結(jié)果為:abc”
?"abc"+",”&&運算結(jié)果為:abc'
27
2.5.3日期時間運算符和日期時間表達(dá)式
日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),它們之間只能進(jìn)行加
“+”、減運算。有如下3種情況:
1.兩個日期型數(shù)據(jù)相減,結(jié)果是一個數(shù)值型數(shù)據(jù)(兩個日期相差的
天數(shù))。
例如:「1999/11/19}-「1999/11/26}&&結(jié)果為-7
2.日期型數(shù)據(jù)加上數(shù)值型數(shù)據(jù),結(jié)果仍為日期型。
例如:{1999/11/16}+33
&&結(jié)果為日期型數(shù)據(jù):「1999/12/19}
3.日期型數(shù)據(jù)減掉數(shù)值型數(shù)據(jù),結(jié)果仍為日期型。
例如:「1999/12/19}-33
&&結(jié)果為日期型數(shù)據(jù):「1999/11/16}
日期時間運算符中(+)運算是把已給的日期時間再加多少秒,
(-)運算是計算已給的兩個日期時間相差多少秒。
28
2.5.4關(guān)系運算符和關(guān)系表達(dá)式
VFP6.0提供了7種關(guān)系運算符,分別是:
<><=>>、>=>=>?或#或!二(不等于)、==(等
同于)
1.關(guān)系運算符的優(yōu)先級相同,按從左到右的順序依
次進(jìn)行,運算的結(jié)果為邏輯型常量。
2.字符型數(shù)據(jù)應(yīng)按其ASCH碼的值依次進(jìn)行比較。
3.“二=”表示“等同于",用于精確匹配。
4.關(guān)系運算符兩邊的表達(dá)式只能是數(shù)值型、字符串
型、日期時間型,不能是邏輯型的表達(dá)式或值。
5.設(shè)置系統(tǒng)環(huán)境的命令SETEXACT對“二”運算結(jié)果
有影響。
29
SETEXACTOFF
?,,abc”=,,abcd"&&.F.
?"abc”="abc”&&.T.
?,,abc,,=,,ab”&&.T.
?,,abc,,=,,aH&&T.
?,,abc,,=m,&&.T.
SETEXACTON
?"abc”="abcd"&&.F.
?、bc”="abc"&&.T.
?,,abc,,=,,abM&&.F.
?,,abc,,=,,aH&&,F.
30
?,,abc,,=,,H&&.F.
2.5.5邏輯運算符和邏輯表達(dá)式
VisualFoxPro6.0提供的邏輯運算符有3種:
.NOT.、.AND?、?OR?
運算規(guī)則:先括號,再NOT,再AND,后OR。
在早期的版本中,邏輯運算符的兩邊必須使用
點號,在VisualFoxPro6.0中,兩者可以通用。
但邏輯值.T.和.F.兩邊的點號不能省略。
31
2.5.6名表達(dá)式
VisualFoxPro允許給命令和函數(shù)定義一個名字,將這
一名字存入到內(nèi)存變量和數(shù)組元素中。
存于內(nèi)存變量和數(shù)組元素中的命令和函數(shù)名,用戶可
以通過間接引用和宏替換這兩種方法來使用它們。
間接引用:
STORE"e:\student.dbf"Toaa
USE(aa)
LIST
STRORE〃職稱〃TOx
REPLACE(x)WITH“副教授”
宏替換:
STORE〃?3-2〃Toyy
?&yyx="Fox"
?”Visual&x,Pro6.0”
32
2.5.7運算符的優(yōu)先順序
優(yōu)先級運算符類型運算符
1-(取負(fù))
2A(乘方運算)
算術(shù)運算符
3、/、%(乘法、除法和取模)
4A+、-(加法和減法)
5C子符總算符+、-(子將甲連接)
6關(guān)系運算符V、<=>>、>=、=><>>==
//口斗Zqz-tn1=1\
(優(yōu)先級相|可)
7NOT
8AANKiDr\
謖轉(zhuǎn)送道符
9OR
若x=4,y=-3,a=6.5,b=-7.2,求表達(dá)式的值:
x+y>a+bANDNOTy<b
解:
①先作算術(shù)運算1>-0.7ANDNOTy<b
②再作關(guān)系運算.T.ANDNOT.F.
③再作邏輯非運算.T.AND.T.
④最后得.T.
34
2.6函數(shù)
2.6.1函數(shù)的分類
分兩類:系統(tǒng)函數(shù)和用戶自定義函數(shù)。
系統(tǒng)函數(shù)大約有380多個,主要分為:數(shù)值函數(shù)、
字符處理函數(shù)等14種。
2.6.2函數(shù)的類型
函數(shù)的一般形式為:
函數(shù)名([參數(shù)1][,參數(shù)2]…)
函數(shù)的類型就是函數(shù)值的類型。
TYPE函數(shù)能返回表達(dá)式的類型,也能測出函數(shù)的類
型。例如:
?type("date。")&&顯示D,日期型
x=21
?Type("x")&&顯示N,表明變量x是數(shù)值型變
2.6.3常用函數(shù)
1.數(shù)學(xué)函數(shù)
ABS(表達(dá)式)INT(表達(dá)式)
EXP(表達(dá)式)LOG(表達(dá)式)
RAND(表達(dá)式)
SQRT(表達(dá)式)
SIGN(表達(dá)式)PK)
MOD(表達(dá)式1,表達(dá)式2)
ROUND(表達(dá)式1,表達(dá)式2)
MAX(表達(dá)式1,表達(dá)式2,…)
MIN(表達(dá)式1,表達(dá)式2,…)
SIN(表達(dá)式)
對于RAND(表達(dá)式):
(1)要得到[A,B)的隨機(jī)數(shù)(假設(shè)A>B),可使用公式:
(B-A)*RAND()+A
(2)要得到[A,B]的隨機(jī)整數(shù)(假設(shè)A>B),可使用公式
INT((B-A+1)*RAND()+A)INT(RAND()*10+1)
對于MOD(表達(dá)式1,表達(dá)式2)函數(shù),要注意:
(1)表達(dá)式2的值不能為0,否則將出現(xiàn)“不能被0除”
的錯誤提示。
(2)余數(shù)的小數(shù)位數(shù)與表達(dá)式1相同,符號與表達(dá)式2相
同。如:
?M0D(15,4),MOD(15,-4)&&結(jié)果為:3-1
?M0D(-15,4),MOD(-15,-4)&&結(jié)果為:1-3
?MOD(5.35,2),MOD(5.35,-2)&&結(jié)果為:1.35-0.65
37
(3)如果被除數(shù)與除數(shù)同號,那么函數(shù)值即為兩數(shù)相
除的余數(shù);如果被除數(shù)與除數(shù)異號,則函數(shù)值為兩數(shù)
相除的余數(shù)再加上除數(shù)的值。
?MOD(5,3)&&結(jié)果為:2
?MOD(5,-3)&&結(jié)果為:-1
?MOD(-5,-3)&&結(jié)果為:-
2?MOD(-5,3)
&&結(jié)果為:1
?M0D(5.25,3.33333)&&結(jié)果為:1.92
對于ROUND(表達(dá)式1,表達(dá)式2)函數(shù),表達(dá)式2的值
可以為負(fù)數(shù)。如:
7R0UND(456.6789,2)
&&結(jié)果為:456.68?ROUND(456.6789,0)
&&結(jié)果為:457
?ROUND(456.6789,-1)
&&結(jié)果為:460
?R0UND(456.6789,-2)
&&結(jié)果為:500
38
2.字符串函數(shù)
ASC(字符表達(dá)式)LEN(字符表達(dá)式)
LEFT(字符表達(dá)式,N)RIGHT(字符表達(dá)式,N)
SUBSTR(字符表達(dá)式,N[,M])
UPPER(字符表達(dá)式)LOWER(字符表達(dá)式)
LTRIM(字符表達(dá)式)RTRIM(字符表達(dá)式)
TRIM(字符表達(dá)式)ALLTRIM(字符表達(dá)式)
SPACE(N)
AT(字符表達(dá)式1,字符表達(dá)式2,N)
39
對于函數(shù)LEN(字符表達(dá)式):
若字符表達(dá)式包含漢字、特殊字符、全角符號,長
度都算2;英文字母、阿拉伯?dāng)?shù)字、半角符號等都算1。
如:
?LEN(〃?")
&&半角標(biāo)點符號,結(jié)果為:1?LEN(〃?〃)
&&全角標(biāo)點符號,結(jié)果為:2
?LEN(“中文”)&&漢字,結(jié)果為:4
?LEN(〃ab")
&&半角英文,結(jié)果為:2?LEN(“ab”)
&&全角英文,結(jié)果為:4
?LEN(*)
&&特殊字符,結(jié)果為:2?LEN(〃123〃)
&&半角數(shù)字,結(jié)果為:3
?LEN(〃123〃)
&&全角數(shù)字,結(jié)果為:6
40
3.轉(zhuǎn)換函數(shù)
CHR(數(shù)值表達(dá)式)
VAL(數(shù)字字符串)STR(數(shù)值表達(dá)式[,N[,M]))
CTOD(字符表達(dá)式)CTOT(字符表達(dá)式)
DTOC(日期表達(dá)式)DTOS(日期表達(dá)式)
TTOC(日期時間表達(dá)式)
41
STR函數(shù):
在計算字符串長度時,小數(shù)點要計算1位,若是負(fù)數(shù)轉(zhuǎn)換,
負(fù)號也要算1位。如轉(zhuǎn)換后的字符串若要顯示3位整數(shù)、2位小數(shù),
且為負(fù)數(shù),則要完整地顯示需要的信息,第二個參數(shù)應(yīng)該大于或
等于7。
?STR(1234567890123)
?STR(-123456.789)
?STR(-123456.789,12)
?STR(-123456.789,12,2)
1.234E+12(前面有1個空格,字符串長度為10)
-123457(前面有3個空格,字符串長度為10)
-123457(前面有5個空格,字符串長度為12)
42
-123456.79(前面有2個空格,字符串長度為12)
4.日期函數(shù)
DATE()TIME()
DATETIME()DOW(表達(dá)式)
YEAR(表達(dá)式)MONTH(表達(dá)式)
DAY(表達(dá)式)HOUR(表達(dá)式)
MINUTE(表達(dá)式)SEC(表達(dá)式)
43
5.測試函數(shù)
FILEQv字符表達(dá)式>])
EOF([工作區(qū)號|表的別名])
BOF([工作區(qū)號|表的別名])
FOUND([工作區(qū)號|表的別名])
RECNO([工作區(qū)號|表的別名])
RECCOUNT([工作區(qū)號|表的另U名])
DBFQ工作區(qū)號])
ROW()COL()
PROWQPCOL()
TYPE(“v表達(dá)式>”)
44
(1)有不少測試函數(shù)都跟表有關(guān),通常不能直接應(yīng)
用,要結(jié)合表的操作來應(yīng)用。
(2)TYPE函數(shù)的返回值以測試的表達(dá)式的類型對應(yīng),
N、C、D、T、L對應(yīng)的類型分別是數(shù)值型、字符型、
日期型、日期時間型、邏輯型。還要注意,雙引號是
參數(shù)本身的要求,不能將其算做測試對象的一部分。
?TYPE(“「2004/5/08}”)
D
?TYPE(〃「2004/5/089:9:9}")
T
?TYPE(〃2+3〃)
?TYPE(〃‘KK'")N
?TYPE(〃.T.〃)
C
in
6.其他函數(shù)
(1)條件函數(shù)HF
HF(條件表達(dá)式,值1,值2)
功能:若條件表達(dá)式的值為.T.,則返回值1,否則返回
值2。
?HF(3<4,100,99)結(jié)果是100
(2)消息對話框函數(shù)
MESSAGEBOX(提示[,按鈕類型[,標(biāo)題]])
功能:以對話框的形式顯示信息,并返回所單擊的按鈕
值,返回值為-7的整數(shù)。
46
X=MESSAGEBOX(〃程序出錯,請選擇!”,2+48+256,〃錯誤
提示!")
若單擊“重試按鈕”或按[Enter]鍵,再運行命令?x
,將顯示2。
47
2.7數(shù)組
2.7.1數(shù)組的概念
數(shù)組是一種特殊的內(nèi)存變量,它是用一個統(tǒng)
一的名稱表示的、由一系列數(shù)據(jù)值組成的有序
列。每一個數(shù)據(jù)稱為一個元素,可以用數(shù)組名
及下標(biāo)來唯一地標(biāo)識一個數(shù)組元素,因此數(shù)組
元素又稱下標(biāo)變量。
在VFP6.0中,只允許定義一維數(shù)組或二維數(shù)
組。
若定義了一個二維數(shù)組N(4,5),則該二維
數(shù)組共有4X5=20個元素,表示了一個4行5列的
表格。
48
使用數(shù)組時要注意以下幾點:
1.數(shù)組的命名規(guī)則與簡單變量的命名規(guī)則相同。
2.下標(biāo)必須用括號括起來,不能把B(3)寫成B3,B3是
一個簡單變量。
3.下標(biāo)可以是常量、變量或表達(dá)式,還可以是數(shù)組元
素。如E(F(3)),若F⑶=9,則E(F(3))就是E(9)。
4.下標(biāo)若不為整數(shù),則會被自動取整(舍去小數(shù)部分)
o如B(4.9)將被視為B(4)。
5.數(shù)組元素的下標(biāo)從1開始。
49
2.7.2數(shù)組的定義
數(shù)組必須遵循先定義后使用的原則。
定義數(shù)組的語法格式如下:
DIMENSION|DECLARE<數(shù)組名1>(<數(shù)字表達(dá)式1>[,<
數(shù)字表達(dá)式2>])[,<數(shù)組名2>(<數(shù)字表達(dá)式3>[,<
數(shù)字表達(dá)式4>])……]
說明:
LDIMENSION和DECLARE可以選擇其中一個來定義,二者等價。
2.在一條語句中,可以同時定義一維數(shù)組和二維數(shù)組。不管是
一維數(shù)組還是二維數(shù)組,都是內(nèi)存變量。
3.定義數(shù)組時,可以使用方括號代替圓括號,即DeclareA(3)
和Declarea[3]是等價的,都是合法的命令。
4.在VFP6.0中,同一數(shù)組可以存放不同類型的數(shù)據(jù),因此,數(shù)
組定義時不必指定數(shù)組的類型。
5.執(zhí)行該命令后,所建立的數(shù)組中的所有元素系統(tǒng)都將初始化
為邏輯值“.F.”,但是其值隨著以后賦給數(shù)組元素的數(shù)據(jù)的類
型的變化而變化。
50
程序示例:
Settalkoff&&關(guān)閉人機(jī)對話
Clear&&清除屏幕上顯示的內(nèi)容
Clearmemory&&清除所有的內(nèi)存變量
Dimensionm(3,4),n(4)&&定義了一個二維數(shù)組M和一個一維數(shù)組N
M(2,3)=123&&把整數(shù)123賦值給數(shù)組元素m(2,3)
?M(2,3)&&在屏幕上顯示123
m(2,3)="abc”&&把字符常量"abc”賦值給數(shù)組元素
m(2,3)
?M(2,3)&&在屏幕上顯示“abc”
?N(2)&&在屏幕上顯示數(shù)組元素n(2)的值,顯示為,F.
Displaymemory&&查看內(nèi)存變量的值
Cancel&&程序終止運行,并返回到命令窗口
51
運行結(jié)果:一個數(shù)組只用一個內(nèi)存變量。
123
abu
.F.
MFirivA程序1
(1,1)L.F.
(
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版文印室全權(quán)承包合同樣本版B版
- 2024民房買賣合同:城市住宅小區(qū)民房產(chǎn)權(quán)交易范本12篇
- 2024年環(huán)保管家技術(shù)服務(wù)全面合作協(xié)議
- 2025版專業(yè)打印設(shè)備年度維保及備件供應(yīng)合同3篇
- 福建省南平市外屯中學(xué)高一化學(xué)測試題含解析
- 業(yè)務(wù)員與公司合作協(xié)議書
- 2024橋涵施工勞務(wù)合同
- 2024-2025學(xué)年初升高銜接-文言句式(判斷句)說課稿
- 旅途迎風(fēng):業(yè)務(wù)全紀(jì)實
- 科技數(shù)碼:融資與未來
- 戶外兒童樂園規(guī)劃方案
- 浙江省溫州市2022-2023學(xué)年四年級上學(xué)期語文期末試卷(含答案)
- 智慧農(nóng)業(yè)的傳感器與智能設(shè)備
- DB37-T 5097-2021 山東省綠色建筑評價標(biāo)準(zhǔn)
- MDR醫(yī)療器械法規(guī)考核試題及答案
- 河南省鄭州高新技術(shù)產(chǎn)業(yè)開發(fā)區(qū)2023-2024學(xué)年三年級上學(xué)期1月期末科學(xué)試題
- 女裝行業(yè)退貨率分析
- 領(lǐng)導(dǎo)溝通的藝術(shù)
- 發(fā)生用藥錯誤應(yīng)急預(yù)案
- 純視覺方案算法
- 道士述職報告
評論
0/150
提交評論