版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章VisualFoxPro6.0的基礎(chǔ)知識(shí)
2.1匚VisualFoxPro6.0系統(tǒng)菜單的使用
2.2KisualFoxPro6.0輔助設(shè)計(jì)工具
2.3IZyisualFoxPro6.0的基本概念
2.4口isualFoxPro6.0的數(shù)據(jù)類型和數(shù)據(jù)存儲(chǔ)
2.5宣算符與表達(dá)式
2?6口?數(shù)
2.7邀組
1
2.1VisualFoxPro6.0系統(tǒng)菜單的使用
2.1.1VisualFoxPro6.0用戶界面
2
2.1.2主菜單欄
?玉菜單又稱系冢菜單,它包含:文件、編輯、顯
示、格式、工具、程序、窗口和幫助共8個(gè)菜單選
項(xiàng)。
2.1.3工具欄
VFP6.0有如下11種:常用、布局、表單控件、表
單設(shè)計(jì)器、查詢?cè)O(shè)計(jì)器、視圖設(shè)計(jì)器、數(shù)據(jù)庫(kù)設(shè)計(jì)器、
報(bào)表控件、報(bào)表設(shè)計(jì)器、調(diào)色板和打印預(yù)覽工具欄。
通過(guò)“顯示”菜單的“工具欄”命令管理各種工具欄。
2.1.4配置VisualFoxPro6.0
通過(guò)“工具”菜單的“選項(xiàng)”命令配置需要開(kāi)發(fā)
環(huán)境。
3
浮工具欄兇
工具欄(T):
4
2.2VisualFoxPro6.0輔助設(shè)計(jì)工具
2.2.1向?qū)?/p>
向?qū)且环N快捷設(shè)計(jì)工具,能以對(duì)話框的形式引導(dǎo)
用戶分步完成某項(xiàng)任務(wù)。
2.2.2設(shè)計(jì)器
設(shè)計(jì)器用來(lái)創(chuàng)建或修改VFP應(yīng)用程序所需要的構(gòu)件,
其功能比向?qū)Ц鼜?qiáng)。
2.2.3生成器
生成器的主要功能是在VFP應(yīng)用程序的構(gòu)件中生
成并加入一個(gè)構(gòu)件,如生成一個(gè)組合框或列表框等
O
VFP提供了21種向?qū)А?種設(shè)計(jì)器、10種生成器。
6
2.3VisualFoxPro6。的基本概念
2.3.1EVisualFoxPro6.0的文件
使用VisualFoxPro6.0開(kāi)發(fā)應(yīng)用程序時(shí)會(huì)創(chuàng)建
很多文件,這些文件的文件類型多而繁雜。
常用的文件類型有:數(shù)據(jù)庫(kù)、表、項(xiàng)目、索引、
查詢、視圖、程序、表單、菜單、報(bào)表、標(biāo)簽等。
2.3.2O/isualFoxPro6.0的項(xiàng)目
項(xiàng)目是指文件、數(shù)據(jù)、文檔和各種對(duì)象的集合。
項(xiàng)目文件的擴(kuò)展名是PJX。
項(xiàng)目是用“項(xiàng)目管理器”來(lái)管理的,打開(kāi)項(xiàng)目文
件會(huì)自動(dòng)打開(kāi)項(xiàng)目管理器。
7
2.3.2O/isualFoxPro6.0的工作方式
1.交互方式
(1)菜單操作方式
(2)工具操作方式
(3)命令操作方式
2.程序操作方式
2.3.3EVisualFoxPro6.0的命令格式
1.命令格式
每條命令的一般格式如下:
命令動(dòng)詞子句
子句也稱為“短語(yǔ)”
DISPLAY|LIST[FIELDSv字段名表刁[范圍]
[FORv條件刁[WHILEv條件習(xí)[OFF]
[TOPRINTER[PROMPT]|TOFILEv文件刁]
8
2.四種常用的命令子句
(1)范圍子句
有4種格式:
ALL所有記錄
NEXT<N>從當(dāng)前記錄開(kāi)始的N條記錄
RECORD<N>第N條記錄
REST從當(dāng)前記錄開(kāi)始到最后一條記錄的所有記錄
(2)FOR子句
FOR<條件>用來(lái)指定篩選記錄的條件
(3)WHILE子句
也用于指定篩選條件,僅在當(dāng)前記錄符合〈條件》
時(shí)開(kāi)始依次篩選記錄,一旦遇到不滿足條件的記錄
就停止操作。即連續(xù)篩選。
9
(4)FIELDS子句
確定需要操作的字段。
3.命令書(shū)寫(xiě)規(guī)則
(1)必須以命令動(dòng)詞開(kāi)頭,命令子句通常無(wú)先后順序,但必須
用空格隔開(kāi)。
(2)命令動(dòng)詞與各子句中的保留字可以簡(jiǎn)寫(xiě)成前4個(gè)字母,英文
字母不區(qū)分大小寫(xiě)。
(3)一條命令的長(zhǎng)度可達(dá)8192個(gè)字符。若一行寫(xiě)不下,可在適
當(dāng)?shù)奈恢貌迦肜m(xù)行符";"并按【Enter】鍵,然后在下一行繼
續(xù)鍵入命令的后面部分。
(4)命令子句中的標(biāo)點(diǎn)符號(hào)都是英文半角下的。
(5)命令或函數(shù)格式中以分隔的兩項(xiàng)表示兩者可選其一,
例如DISPLAY|LISTO用尖括號(hào)“?”括起來(lái)的部分表示由用
戶定義的內(nèi)容。但這些符號(hào)并非命令或函數(shù)的組成部分。
DISPLAYFIELDS編號(hào),姓名,性別,所在學(xué)院FOR職稱二〃教授〃
10
2.4VFP6.0的數(shù)據(jù)類型和數(shù)據(jù)存儲(chǔ)
2.4.1數(shù)據(jù)和數(shù)據(jù)類型
VFP
6.0的數(shù)據(jù)類型分為兩大類:一類用于變量和數(shù)組,
一類用于表中的字段。
1.字符型(Character)
由字母(漢字)、數(shù)字、空格等任意ASCII碼組成。
字符數(shù)據(jù)的長(zhǎng)度為0~254,每個(gè)字符占1個(gè)字節(jié)。
2.數(shù)值型(Numeric)
由數(shù)字0~9、一個(gè)符號(hào)(+或?)和一個(gè)小數(shù)點(diǎn)O組成。
數(shù)值型數(shù)據(jù)的長(zhǎng)度為1~20,每個(gè)數(shù)據(jù)占8個(gè)字節(jié)。
數(shù)值型數(shù)據(jù)取值范圍是?.9999999999E+19~.9999999999E+20
3.貨幣型(currency)
在使用貨幣值時(shí),可以使用貨幣型來(lái)代替數(shù)值型,默認(rèn)
格式是卻數(shù)值量”。小數(shù)位數(shù)超過(guò)4位時(shí),系統(tǒng)將進(jìn)行四
舍五入。每個(gè)貨幣型數(shù)據(jù)占8個(gè)字節(jié)。
4.日期型(Date)
存儲(chǔ)格式為“yyyymmdd",其中yyyy為年,占4位;
mm%月,占2位;dd為日,占2位。
表示格式有多種,最常用的格式為mm/dd/yyyy。
取值范圍:公元0001年1月1日~公元9999年12月31日
5.日期時(shí)間型(DateTime)
存儲(chǔ)格式為,yyyymmddhhmmss”,其中yyyy為年,
占4位;mm為月,占2位;dd為日,占2位;hh為時(shí)
間中的小時(shí),占2位;mm為分鐘,占2位;ss為秒,
占2位。
日期時(shí)間型數(shù)據(jù)中可以只包含一個(gè)日期或只包含
一個(gè)時(shí)間值,缺省日期值時(shí),系統(tǒng)自動(dòng)加上1999年
12月31日;缺省時(shí)間值時(shí),則自動(dòng)加上午夜零點(diǎn)。
6.邏輯型(Logical)
存入的值只有真(.T.)和假(,F.)兩種狀態(tài),占1
個(gè)字節(jié)。
以下數(shù)據(jù)美型只能被用于數(shù)據(jù)表中的字段:
7.雙精度型(Double)
用于取代數(shù)值型,以便能提供更高精度的數(shù)值。
8.浮點(diǎn)型(Float)
浮點(diǎn)型在功能上與數(shù)值型等價(jià),包含此類型是為了
提供兼容性。
9.通用型(General)
用于存儲(chǔ)OLE對(duì)象,該字段包含了對(duì)OLE對(duì)象的引
用。通用型字段占4個(gè)字節(jié),用來(lái)引用它的實(shí)際內(nèi)容,
實(shí)際內(nèi)容存放在與表文件同名的備注文件中。
13
10.整型(Integer)
用于存儲(chǔ)無(wú)小數(shù)部分的數(shù)值,占4個(gè)字節(jié)。
11.備注型(Memo)
用于字符型數(shù)據(jù)塊的存儲(chǔ),占4個(gè)字節(jié),用這4個(gè)字
節(jié)來(lái)引用備注的實(shí)際內(nèi)容。實(shí)際備注內(nèi)容存儲(chǔ)在相應(yīng)的
備注文件中,故備注型字段的大小僅受限于現(xiàn)有的磁盤
空間。
12.字符型(二進(jìn)制)
用于存儲(chǔ)任意不經(jīng)代碼頁(yè)修改而維護(hù)的字符數(shù)據(jù)。
13.備注型(二進(jìn)制)
用于存儲(chǔ)任意不經(jīng)過(guò)代碼頁(yè)修改而維護(hù)的備注型數(shù)
據(jù)。
14
2.4.2常量
.退序運(yùn)行過(guò)程中其值保持不變的量稱為常量。
常量有數(shù)值型、浮點(diǎn)型、字符型、邏輯型、日期型、
日期時(shí)間型和貨幣型七種。
1,數(shù)值型常量
由數(shù)字(0~9)、小數(shù)點(diǎn)和正負(fù)號(hào)組成。
例如:-123.56768+32567.67
2.浮點(diǎn)型常量
是差值型常量的浮點(diǎn)格式。
例如:-123E+I2-3645E-
89o3.字符型常量
由漢字和ASCII字符集中可打印字符組成的字符
串,使用時(shí)必須用定界符或口)括起來(lái)。
例如:“ABCDE”、精華大學(xué)二[100]等。
15
4.邏輯型常量
有“真”和“假”兩種值。
例如:.t.或?T?、?f.或?F?。
5.日期型常量
其規(guī)定格式為{mm/dd/yyyy)。
例如:{04/12/1982}>{05/04/2002}等。
6.貨幣型常量
前面加“$”,精確到小數(shù)點(diǎn)后4位。
如$123.456。貨幣型常量可以參加算數(shù)運(yùn)算。
7.日期時(shí)間型常量
其規(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
用來(lái)設(shè)置年份的位數(shù)。
(2)SETDATETO
ANSI|AMERICAN|BRITISH|FRENCH|GERMAN|ITALIAN|JAPAN|USA
YMD|MDY|DMY
設(shè)置日期顯示的格式。
(3)SETSTRICTDATETO0/1/2
用來(lái)設(shè)置是否對(duì)日期格式進(jìn)行檢查。
(4)SETMARKTO[日期分隔符]
SETCENTURYON&&設(shè)置4位的年份
SETSTRICTDATETO1&&打開(kāi)嚴(yán)格的日期格式檢查
SETMARKTO”J&&設(shè)置分隔符為逗號(hào)
SETDATETOYMD&&設(shè)置日期格式為年月日
?「2001/02/03}&&顯示日期常量的值
屏幕上將顯示:
17
2001,02,03
2.4.3變量及基本操作
1.變量的概念、分類和命名
VisualFoxPro6.0中有4種形式的變量:內(nèi)存變
量、數(shù)組變量、字段變量和系統(tǒng)變量。
除系統(tǒng)變量外,每個(gè)變量都有一個(gè)名稱,稱為變
量名。
變量名的命名規(guī)則是:以字母或下劃線開(kāi)頭,由字母、
數(shù)字及下劃線組成,長(zhǎng)度為廣128個(gè)字符,不能使用
VisualFoxPro6.0的保字。在中文VisualFoxPro
6.0中,可以以漢字開(kāi)頭并包含漢字,每個(gè)漢字占2個(gè)
字符。
No>xyz_l>a_2x>變量、姓名、_www、ol(“o”和
“1”都是字母,要和數(shù)字0和1區(qū)另講來(lái))、_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)存變量是存放單個(gè)數(shù)據(jù)的內(nèi)存單元,是一種臨
時(shí)變量,獨(dú)立于數(shù)據(jù)庫(kù)文件的存在,可以隨時(shí)建立和
刪除。常用來(lái)存儲(chǔ)數(shù)據(jù)處理過(guò)程中的輸入、輸出、中
間結(jié)果及最終結(jié)果或用來(lái)存儲(chǔ)控制程序執(zhí)行的各種參
數(shù),一般隨著程序運(yùn)行結(jié)束或退出VisualFoxPro
6.0而釋放。
6種類型:字符型、數(shù)值型、邏輯型、日期型、日期
時(shí)間型和屏幕型。
同一個(gè)內(nèi)存變量可以在不同時(shí)間給它賦不同類型
的值,故內(nèi)存變量的類型由所賦數(shù)據(jù)的類型決定,并
以最近一次所賦的值為準(zhǔn)。
19
屏幕型內(nèi)存變量相關(guān)命令:
SAVESCREENTO〈屏幕內(nèi)存變量名〉
來(lái)存儲(chǔ)當(dāng)前屏幕上的信息。
RESTORESCREENFROM〈屏幕內(nèi)存變量名〉
從屏幕內(nèi)存變量回復(fù)屏幕信息。
VisualFoxPro6.0最多允許定義1024個(gè)
內(nèi)存變量。
20
(2)內(nèi)存變量的賦值命令
格式1STORE表達(dá)式TO內(nèi)存變量名清單
格式2內(nèi)存變量名二表達(dá)式
功能:格式1可以給一組內(nèi)存變量賦相同的值,格式
2
只能給一個(gè)內(nèi)存變量賦值。
例如:STORE“VisualFoxPro6.0"Toss
ss=aVisualFoxPro6.0”
STORE100Tox,y,z
內(nèi)存變量的類型和值由所賦數(shù)據(jù)的類型和值決定,
并以最近一次所賦的值為準(zhǔn)。
內(nèi)存變量名與字段變量名同名時(shí),字段變量被優(yōu)
先引用。若要引用內(nèi)存變量,可在內(nèi)存變量名前加前
綴M.,以示區(qū)別。
(3)內(nèi)存變量的主要操作命令
①清除內(nèi)存變量
CLEARMEMORY
RELEASE〈內(nèi)存變量列表》
RELEASEALL[LIKE|EXCEPT〈通配符>]
如釋放以字母“A”開(kāi)頭的內(nèi)存變量對(duì)應(yīng)的命令是:
RELEASEALLLIKEA*
②顯示內(nèi)存變量
DISPLAY|LISTMEMORY[LIKE<通配符>][TO
PRINTER[PROMPT]|T0FILE〈文件名>][NOCONSOLE]
③存儲(chǔ)內(nèi)存變量
SAVETO〈內(nèi)存變量文件名>ITOMEMO〈備注型字段名
>[ALL[LIKE|EXCEPT〈通配符>]]
SAVETOGHIALLEXCEPTX*
22
④恢復(fù)內(nèi)存變量
RESTOREFROM〈內(nèi)存變量文件名>|FROMMEMO〈備注
型字段名>[ADDITIVE]
選用ADDITIVE短語(yǔ)時(shí),變量讀入內(nèi)存時(shí)不清除原先
內(nèi)存中已經(jīng)存在的變量。
RESTOREFROMABCADDITIVE
常用到的輸出命令:
?[[?"表達(dá)式>,[<表達(dá)式>]]&&顯示變量的值
?是先換行再輸出。
??是在當(dāng)前光標(biāo)的位置輸出,兩個(gè)問(wèn)號(hào)之間不
能有空格。
STORE10TOAl,A2,A3
23
?Al,A2,A3
3.數(shù)組變量
將在2.7節(jié)單獨(dú)進(jìn)行介紹
4.字段變量
字段變量是指數(shù)據(jù)表中已定義的任意一個(gè)數(shù)據(jù)項(xiàng)。
字段變量必須依附于表,隨著表的打開(kāi)而自動(dòng)打開(kāi),隨
著表的關(guān)閉而在內(nèi)存中被釋放。
當(dāng)某個(gè)數(shù)據(jù)表文件被打開(kāi)后,系統(tǒng)將產(chǎn)生跟表的字段對(duì)
應(yīng)的相同個(gè)數(shù)的字段變量,這些字段變量的變量名及類型
與數(shù)據(jù)庫(kù)文件的字段名及類型是相同的。
當(dāng)數(shù)據(jù)表文件的記錄指針發(fā)生變化時(shí),字段變量的值也
響應(yīng)地發(fā)生變化。
字段變量可以和內(nèi)存變量一起參加跟類型相符的運(yùn)算。
內(nèi)存變量名與字段變量名同名時(shí),字段變量被優(yōu)先引用。
若要引用內(nèi)存變量,可在內(nèi)存變量名前加前綴M.,以示區(qū)
別。
5系統(tǒng)變
系統(tǒng)變量可以設(shè)置很多系統(tǒng)的狀態(tài)和特征。
系統(tǒng)變量舉例:
(1)_DIARYDAT
用萊存儲(chǔ)當(dāng)前日期。
(2)_CLIPTEXT
接受文本并送入到剪貼板。該系統(tǒng)變量是可讀可寫(xiě)的。
(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運(yùn)算符與表達(dá)式
VFP6.0有5類運(yùn)算符和表達(dá)式。
2.5.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式
算術(shù)運(yùn)算符有有取負(fù))、+(加)、-(減)、*(乘)、/
(除)、A或**(乘方)、%(取余)。
算術(shù)規(guī)則:先括號(hào),在同一括號(hào)內(nèi),按先取負(fù),再乘
方,再乘和除,再取余,后加減的運(yùn)算原則。若同
處一個(gè)級(jí)別則按從左到右的順序計(jì)算。
2.5.2字符串運(yùn)算符和字符串表達(dá)式
3個(gè)字符串運(yùn)算符優(yōu)先級(jí)相同。
+(連接):將字符型數(shù)據(jù)連接起來(lái)。
-(空格移位連接):兩字符型數(shù)據(jù)連接時(shí),將前一數(shù)據(jù)
尾部的空格移到后面數(shù)據(jù)的尾部。
26
$(包含):測(cè)試一個(gè)字符串是否在另一個(gè)字符串中。
例如:
“abed"+"xyz”
&&連接后的結(jié)果為:"abedxyz?
“ABC”-“DEFG”
&&連接后的結(jié)果為:"ABCDEFG”
“計(jì)算機(jī)"$"計(jì)算機(jī)軟件”
&&運(yùn)算結(jié)果為:.T.
在字符串中嵌入引號(hào),只需將字符串用另一種引號(hào)
括起來(lái)即可。
例如:
?"abc"+'“'&&運(yùn)算結(jié)果為:abc”
?"abc"+",”&&運(yùn)算結(jié)果為:abc'
27
2.5.3日期時(shí)間運(yùn)算符和日期時(shí)間表達(dá)式
日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),它們之間只能進(jìn)行加
“+”、減運(yùn)算。有如下3種情況:
1.兩個(gè)日期型數(shù)據(jù)相減,結(jié)果是一個(gè)數(shù)值型數(shù)據(jù)(兩個(gè)日期相差的
天數(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}
日期時(shí)間運(yùn)算符中(+)運(yùn)算是把已給的日期時(shí)間再加多少秒,
(-)運(yùn)算是計(jì)算已給的兩個(gè)日期時(shí)間相差多少秒。
28
2.5.4關(guān)系運(yùn)算符和關(guān)系表達(dá)式
VFP6.0提供了7種關(guān)系運(yùn)算符,分別是:
<><=>>、>=>=>?或#或!二(不等于)、==(等
同于)
1.關(guān)系運(yùn)算符的優(yōu)先級(jí)相同,按從左到右的順序依
次進(jìn)行,運(yùn)算的結(jié)果為邏輯型常量。
2.字符型數(shù)據(jù)應(yīng)按其ASCH碼的值依次進(jìn)行比較。
3.“二=”表示“等同于",用于精確匹配。
4.關(guān)系運(yùn)算符兩邊的表達(dá)式只能是數(shù)值型、字符串
型、日期時(shí)間型,不能是邏輯型的表達(dá)式或值。
5.設(shè)置系統(tǒng)環(huán)境的命令SETEXACT對(duì)“二”運(yùn)算結(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邏輯運(yùn)算符和邏輯表達(dá)式
VisualFoxPro6.0提供的邏輯運(yùn)算符有3種:
.NOT.、.AND?、?OR?
運(yùn)算規(guī)則:先括號(hào),再NOT,再AND,后OR。
在早期的版本中,邏輯運(yùn)算符的兩邊必須使用
點(diǎn)號(hào),在VisualFoxPro6.0中,兩者可以通用。
但邏輯值.T.和.F.兩邊的點(diǎn)號(hào)不能省略。
31
2.5.6名表達(dá)式
VisualFoxPro允許給命令和函數(shù)定義一個(gè)名字,將這
一名字存入到內(nèi)存變量和數(shù)組元素中。
存于內(nèi)存變量和數(shù)組元素中的命令和函數(shù)名,用戶可
以通過(guò)間接引用和宏替換這兩種方法來(lái)使用它們。
間接引用:
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ùn)算符的優(yōu)先順序
優(yōu)先級(jí)運(yùn)算符類型運(yùn)算符
1-(取負(fù))
2A(乘方運(yùn)算)
算術(shù)運(yùn)算符
3、/、%(乘法、除法和取模)
4A+、-(加法和減法)
5C子符總算符+、-(子將甲連接)
6關(guān)系運(yùn)算符V、<=>>、>=、=><>>==
//口斗Zqz-tn1=1\
(優(yōu)先級(jí)相|可)
7NOT
8AANKiDr\
謖轉(zhuǎn)送道符
9OR
若x=4,y=-3,a=6.5,b=-7.2,求表達(dá)式的值:
x+y>a+bANDNOTy<b
解:
①先作算術(shù)運(yùn)算1>-0.7ANDNOTy<b
②再作關(guān)系運(yùn)算.T.ANDNOT.F.
③再作邏輯非運(yùn)算.T.AND.T.
④最后得.T.
34
2.6函數(shù)
2.6.1函數(shù)的分類
分兩類:系統(tǒng)函數(shù)和用戶自定義函數(shù)。
系統(tǒng)函數(shù)大約有380多個(gè),主要分為:數(shù)值函數(shù)、
字符處理函數(shù)等14種。
2.6.2函數(shù)的類型
函數(shù)的一般形式為:
函數(shù)名([參數(shù)1][,參數(shù)2]…)
函數(shù)的類型就是函數(shù)值的類型。
TYPE函數(shù)能返回表達(dá)式的類型,也能測(cè)出函數(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á)式)
對(duì)于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)
對(duì)于MOD(表達(dá)式1,表達(dá)式2)函數(shù),要注意:
(1)表達(dá)式2的值不能為0,否則將出現(xiàn)“不能被0除”
的錯(cuò)誤提示。
(2)余數(shù)的小數(shù)位數(shù)與表達(dá)式1相同,符號(hào)與表達(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ù)同號(hào),那么函數(shù)值即為兩數(shù)相
除的余數(shù);如果被除數(shù)與除數(shù)異號(hào),則函數(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
對(duì)于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
對(duì)于函數(shù)LEN(字符表達(dá)式):
若字符表達(dá)式包含漢字、特殊字符、全角符號(hào),長(zhǎng)
度都算2;英文字母、阿拉伯?dāng)?shù)字、半角符號(hào)等都算1。
如:
?LEN(〃?")
&&半角標(biāo)點(diǎn)符號(hào),結(jié)果為:1?LEN(〃?〃)
&&全角標(biāo)點(diǎn)符號(hà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(日期時(shí)間表達(dá)式)
41
STR函數(shù):
在計(jì)算字符串長(zhǎng)度時(shí),小數(shù)點(diǎn)要計(jì)算1位,若是負(fù)數(shù)轉(zhuǎn)換,
負(fù)號(hào)也要算1位。如轉(zhuǎn)換后的字符串若要顯示3位整數(shù)、2位小數(shù),
且為負(fù)數(shù),則要完整地顯示需要的信息,第二個(gè)參數(shù)應(yīng)該大于或
等于7。
?STR(1234567890123)
?STR(-123456.789)
?STR(-123456.789,12)
?STR(-123456.789,12,2)
1.234E+12(前面有1個(gè)空格,字符串長(zhǎng)度為10)
-123457(前面有3個(gè)空格,字符串長(zhǎng)度為10)
-123457(前面有5個(gè)空格,字符串長(zhǎng)度為12)
42
-123456.79(前面有2個(gè)空格,字符串長(zhǎng)度為12)
4.日期函數(shù)
DATE()TIME()
DATETIME()DOW(表達(dá)式)
YEAR(表達(dá)式)MONTH(表達(dá)式)
DAY(表達(dá)式)HOUR(表達(dá)式)
MINUTE(表達(dá)式)SEC(表達(dá)式)
43
5.測(cè)試函數(shù)
FILEQv字符表達(dá)式>])
EOF([工作區(qū)號(hào)|表的別名])
BOF([工作區(qū)號(hào)|表的別名])
FOUND([工作區(qū)號(hào)|表的別名])
RECNO([工作區(qū)號(hào)|表的別名])
RECCOUNT([工作區(qū)號(hào)|表的另U名])
DBFQ工作區(qū)號(hào)])
ROW()COL()
PROWQPCOL()
TYPE(“v表達(dá)式>”)
44
(1)有不少測(cè)試函數(shù)都跟表有關(guān),通常不能直接應(yīng)
用,要結(jié)合表的操作來(lái)應(yīng)用。
(2)TYPE函數(shù)的返回值以測(cè)試的表達(dá)式的類型對(duì)應(yīng),
N、C、D、T、L對(duì)應(yīng)的類型分別是數(shù)值型、字符型、
日期型、日期時(shí)間型、邏輯型。還要注意,雙引號(hào)是
參數(shù)本身的要求,不能將其算做測(cè)試對(duì)象的一部分。
?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)消息對(duì)話框函數(shù)
MESSAGEBOX(提示[,按鈕類型[,標(biāo)題]])
功能:以對(duì)話框的形式顯示信息,并返回所單擊的按鈕
值,返回值為-7的整數(shù)。
46
X=MESSAGEBOX(〃程序出錯(cuò),請(qǐng)選擇!”,2+48+256,〃錯(cuò)誤
提示!")
若單擊“重試按鈕”或按[Enter]鍵,再運(yùn)行命令?x
,將顯示2。
47
2.7數(shù)組
2.7.1數(shù)組的概念
數(shù)組是一種特殊的內(nèi)存變量,它是用一個(gè)統(tǒng)
一的名稱表示的、由一系列數(shù)據(jù)值組成的有序
列。每一個(gè)數(shù)據(jù)稱為一個(gè)元素,可以用數(shù)組名
及下標(biāo)來(lái)唯一地標(biāo)識(shí)一個(gè)數(shù)組元素,因此數(shù)組
元素又稱下標(biāo)變量。
在VFP6.0中,只允許定義一維數(shù)組或二維數(shù)
組。
若定義了一個(gè)二維數(shù)組N(4,5),則該二維
數(shù)組共有4X5=20個(gè)元素,表示了一個(gè)4行5列的
表格。
48
使用數(shù)組時(shí)要注意以下幾點(diǎn):
1.數(shù)組的命名規(guī)則與簡(jiǎn)單變量的命名規(guī)則相同。
2.下標(biāo)必須用括號(hào)括起來(lái),不能把B(3)寫(xiě)成B3,B3是
一個(gè)簡(jiǎn)單變量。
3.下標(biāo)可以是常量、變量或表達(dá)式,還可以是數(shù)組元
素。如E(F(3)),若F⑶=9,則E(F(3))就是E(9)。
4.下標(biāo)若不為整數(shù),則會(huì)被自動(dòng)取整(舍去小數(shù)部分)
o如B(4.9)將被視為B(4)。
5.數(shù)組元素的下標(biāo)從1開(kāi)始。
49
2.7.2數(shù)組的定義
數(shù)組必須遵循先定義后使用的原則。
定義數(shù)組的語(yǔ)法格式如下:
DIMENSION|DECLARE<數(shù)組名1>(<數(shù)字表達(dá)式1>[,<
數(shù)字表達(dá)式2>])[,<數(shù)組名2>(<數(shù)字表達(dá)式3>[,<
數(shù)字表達(dá)式4>])……]
說(shuō)明:
LDIMENSION和DECLARE可以選擇其中一個(gè)來(lái)定義,二者等價(jià)。
2.在一條語(yǔ)句中,可以同時(shí)定義一維數(shù)組和二維數(shù)組。不管是
一維數(shù)組還是二維數(shù)組,都是內(nèi)存變量。
3.定義數(shù)組時(shí),可以使用方括號(hào)代替圓括號(hào),即DeclareA(3)
和Declarea[3]是等價(jià)的,都是合法的命令。
4.在VFP6.0中,同一數(shù)組可以存放不同類型的數(shù)據(jù),因此,數(shù)
組定義時(shí)不必指定數(shù)組的類型。
5.執(zhí)行該命令后,所建立的數(shù)組中的所有元素系統(tǒng)都將初始化
為邏輯值“.F.”,但是其值隨著以后賦給數(shù)組元素的數(shù)據(jù)的類
型的變化而變化。
50
程序示例:
Settalkoff&&關(guān)閉人機(jī)對(duì)話
Clear&&清除屏幕上顯示的內(nèi)容
Clearmemory&&清除所有的內(nèi)存變量
Dimensionm(3,4),n(4)&&定義了一個(gè)二維數(shù)組M和一個(gè)一維數(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&&程序終止運(yùn)行,并返回到命令窗口
51
運(yùn)行結(jié)果:一個(gè)數(shù)組只用一個(gè)內(nèi)存變量。
123
abu
.F.
MFirivA程序1
(1,1)L.F.
(
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 空地養(yǎng)殖合同范例
- 企業(yè)門衛(wèi)聘用合同范例
- 電梯售后合同范例
- 個(gè)體雇工合同范例
- 賣油漆合同范例
- 沒(méi)有房產(chǎn)證轉(zhuǎn)賣合同范例
- 汽車維修用工合同范例
- 書(shū)店店面轉(zhuǎn)租合同范例
- 律師擬定欠款合同范例
- 真石漆分別合同范例
- 2021離婚協(xié)議書(shū)電子版免費(fèi)
- 《班主任工作常規(guī)》課件
- 初中英語(yǔ)期末考試方法與技巧課件
- 四年級(jí)上冊(cè)綜合實(shí)踐試題-第一學(xué)期實(shí)踐考查卷 粵教版 含答案
- 油煙管道清洗服務(wù)承諾書(shū)
- 卷積神經(jīng)網(wǎng)絡(luò)講義課件
- 山東師范大學(xué)《英語(yǔ)語(yǔ)言學(xué)》期末復(fù)習(xí)題
- 考研快題系列一(城市濱水廣場(chǎng)綠地設(shè)計(jì))
- HTML5CSS3 教案及教學(xué)設(shè)計(jì)合并
- 青島版六三二年級(jí)上冊(cè)數(shù)學(xué)乘加乘減解決問(wèn)題1課件
- 汽車機(jī)械基礎(chǔ)課件第五單元機(jī)械傳動(dòng)任務(wù)二 鏈傳動(dòng)
評(píng)論
0/150
提交評(píng)論