




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基本語(yǔ)言要素桂林理工大學(xué) 李晨暉1目錄基本語(yǔ)言要素:語(yǔ)言中出現(xiàn)哪些東西? 編程=編菜譜 編程操作的對(duì)象是數(shù)據(jù),菜譜要操作的是菜 程序運(yùn)行在內(nèi)存,做菜在廚房,處理完后都要“清理”VB的數(shù)據(jù)類(lèi)型常量與變量運(yùn)算符和表達(dá)式常用內(nèi)部函數(shù)代碼和語(yǔ)句的書(shū)寫(xiě)規(guī)則數(shù)據(jù)類(lèi)型=模具常量變量=容器運(yùn)算符=基本操作函數(shù)=全自動(dòng)機(jī)器,設(shè)定幾個(gè)參數(shù),就可得到結(jié)果要處理的數(shù)據(jù)2基本語(yǔ)言要素基本語(yǔ)言要素:關(guān)鍵字、運(yùn)算符、標(biāo)點(diǎn)符號(hào)、標(biāo)識(shí)符等關(guān)鍵字:VB的保留字,在程序中表示固定的意義,它們不能被重新定義用作它用。如: 表示數(shù)據(jù)類(lèi)型的Integer、String等; 表示控制結(jié)構(gòu)的If等; 表示操作或內(nèi)部函數(shù)的Print等運(yùn)算符:如+-*/等標(biāo)點(diǎn)符號(hào):成對(duì)()”’,;:等標(biāo)識(shí)符:程序員定義的名字,用作變量名、常量名、自定義的函數(shù)名、自定義的數(shù)據(jù)類(lèi)型名等。3標(biāo)識(shí)符的取名規(guī)則:以字母或漢字開(kāi)始。其后可跟零個(gè)或多個(gè)字母、漢字、數(shù)字或下劃線。標(biāo)識(shí)符的字符數(shù)不得超過(guò)255個(gè)字符。注意:VB不區(qū)分大小寫(xiě),abc等同于Abc
例,幾個(gè)合法的標(biāo)識(shí)符:
mysteryresultdouble_listold_998例,幾個(gè)不合法的標(biāo)識(shí)符:
12a(不是以字母或漢字開(kāi)始) b$6_1(包含非字母、漢字、數(shù)字或下劃線字符,即$)4VB的數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型分類(lèi):系統(tǒng)定義數(shù)據(jù)類(lèi)型自定義數(shù)據(jù)類(lèi)型數(shù)值型
字符型邏輯型日期型對(duì)象型變體型整數(shù):整型/長(zhǎng)整型浮點(diǎn)型:單/雙精度字節(jié)型貨幣型不同類(lèi)型的數(shù)據(jù),所占的存儲(chǔ)空間不一樣5數(shù)值型數(shù)據(jù):整型Integer、長(zhǎng)整型Long:不帶小數(shù)部分的數(shù),表示正整數(shù)、負(fù)整數(shù)和零整型:2字節(jié),范圍-32768~32767長(zhǎng)整型:4字節(jié),范圍-2147483648~2147483647單精度Single、雙精度Double:帶有小數(shù)部分的數(shù)。由符號(hào)、指數(shù)和尾數(shù)組成。單精度:4字節(jié),如4.53E3(4.53×103)雙精度:8字節(jié)貨幣型Currency:專(zhuān)門(mén)為處理貨幣而設(shè)計(jì)的數(shù)據(jù)類(lèi)型,8字節(jié),可最多保留小數(shù)點(diǎn)右邊4位和小數(shù)點(diǎn)左邊15位字節(jié)型Byte:表示無(wú)符號(hào)的整數(shù),1字節(jié),范圍0~2554:0000000000000100-4:11111111111111006字符型String:ASCII字符組成的字符序列。 如:“a”、“123”、“計(jì)算機(jī)”、“”(空字符串),用雙引號(hào)來(lái)界定。 變長(zhǎng)字符串:長(zhǎng)度不固定,0~231個(gè)字符 定長(zhǎng)字符串:長(zhǎng)度固定,如:
DimstuNameAsString*10 VB中,1個(gè)漢字為1個(gè)字符,1個(gè)字符占2字節(jié)。邏輯型Boolean:又稱(chēng)布爾型。只有真(True)和假(
False)兩個(gè)值。2字節(jié)。
當(dāng)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為邏輯型時(shí),0會(huì)轉(zhuǎn)換為False,其他非0值轉(zhuǎn)換為T(mén)rue。
反之,當(dāng)把邏輯型值轉(zhuǎn)換為數(shù)值時(shí),F(xiàn)alse轉(zhuǎn)換為0,True轉(zhuǎn)換為-1。真:1111111111111111假:00000000000000007日期型Date:時(shí)間和日期。8字節(jié)。范圍100年1月1日~9999年12月31日0:00:00~23:59:59。有兩種表示方法:以符號(hào)#括起來(lái)的任何在字面上可認(rèn)作日期和時(shí)間數(shù)據(jù)。例如:#12/02/2000#、#2001-08-20#用數(shù)字序列表示。小數(shù)點(diǎn)左邊的數(shù)字表示日期(與1899年12月30日相比的天數(shù)),右邊的表示時(shí)間(0為午夜、0.5為中午12點(diǎn)等)。例如:
-2.5表示1899年12月28日12:00:00。對(duì)象型Object:用來(lái)表示圖形、OLE對(duì)象或其他對(duì)象。4字節(jié)。變體型Variant:是一種特殊的數(shù)據(jù)類(lèi)型??梢源鎯?chǔ)上面介紹的任何一種類(lèi)型的數(shù)據(jù)。8如:DimxasInteger,y%‘整型Dimx1asLong,y1&‘長(zhǎng)整型Dimx2asSingle,y2!‘單精度型Dimx3asDouble,y3#‘雙精度型DimSasString,S_name$‘字符型Dimx4AsInteger,y4AsDouble ‘分別為整型、雙精度型Dimx5,y5AsInteger ‘x5為變體類(lèi)型
y5為整型不加定義,直接使用,為變體類(lèi)型,如:
Temp=22 Temp=“abcd”記憶方法:%化整為零&很長(zhǎng)一條線
!一根豎線為單
#兩根豎線為雙
$為S,String
@一枚硬幣9Dimx%,y%,x1&發(fā)生了什么事?111011011110110110001101111011011000110111101101111011011110110110001101111011011110110111101101100011011110110110001101111011010000000100100011010001010110011110001001101010111100110111101111內(nèi)存000000000000000000000000起名為x0000000000000000起名為y00000000000000000000000000000000起名為x1變量名10用戶(hù)自定義數(shù)據(jù)類(lèi)型格式:
Type自定義數(shù)據(jù)類(lèi)型名 數(shù)據(jù)元素名[(下標(biāo))]As數(shù)據(jù)類(lèi)型名 ... EndType其中: 自定義數(shù)據(jù)類(lèi)型名:是要定義的數(shù)據(jù)類(lèi)型的名字。 數(shù)據(jù)元素名:自定義類(lèi)型中的一個(gè)成員。 下標(biāo):表示數(shù)組(第6章介紹) 數(shù)據(jù)類(lèi)型名:VB中的標(biāo)準(zhǔn)數(shù)據(jù)類(lèi)型11例,定義一個(gè)學(xué)生類(lèi)型:
TypeStu
SNoAsString*5
SNameAsString*8 ScoreAsInteger EndType表示有一個(gè)數(shù)據(jù)類(lèi)型,名為Stu(其地位等同于Integer等),內(nèi)有3個(gè)元素:5位字符的學(xué)號(hào)SNo、8位字符的姓名SName
、整數(shù)類(lèi)型的成績(jī)Score。若DimstuAAsStu則定義了一個(gè)變量stuA??梢酝ㄟ^(guò)
stuA.SNo=“12345”
stuA.SName=“王曉明”
stuA.Score=88將王曉明同學(xué)的信息存進(jìn)去。12常量與變量常量:在程序運(yùn)行期間,其內(nèi)存單元中存放的數(shù)據(jù)不能改變。變量,在程序運(yùn)行期間,其內(nèi)存單元中存放的數(shù)據(jù)可以根據(jù)需要隨時(shí)改變。
即在程序運(yùn)行的不同時(shí)刻,可以將不同的數(shù)值(類(lèi)型相同)存入內(nèi)存單元存儲(chǔ),新的數(shù)據(jù)存入后,原來(lái)的數(shù)據(jù)將被清除13常量普通常量符號(hào)常量整型:如:10
&25或&O25,即(25)8=21
&H25,即(25)16=37長(zhǎng)整型:如:23&
&O347&
&H1AAAB&貨幣型:以@結(jié)尾單精度:如0.123、123!、
±n.nE±m(xù)=(
±n.n)*10±m(xù)雙精度:如123#、
±n.nD±m(xù)=(±n.n)*10±m(xù)常量系統(tǒng)常量字符常量:如“ABC”、“0”、“程序”、“”等數(shù)值常量布爾常量:只有兩個(gè)值:True、或False日期常量:如#January4,1989#、
#2002-5-414:30:00PM#14符號(hào)常量:用符號(hào)表示常數(shù)值。
可以提高程序的可讀性和可維護(hù)性。用以下格式聲明:
Const常量名[As類(lèi)型]=常數(shù)表達(dá)式
例:ConstPIAsSingle=3.14
或ConstPI!=3.14
符號(hào)常量名習(xí)慣用大寫(xiě)字母。15系統(tǒng)常量VB提供了大量預(yù)定義的常量,可以在程序中直接使用,均以小寫(xiě)字母vb開(kāi)頭(xl表示Excel中的常量)。
例:
vbCrLf:表示回車(chē)換行符??赏ㄟ^(guò)“視圖/對(duì)象瀏覽器”中的,VB或VBA對(duì)象庫(kù)中查看“全局”的成員,及其功能介紹。再如:
Text1.ForeColor=vbRed
Myform.WindowsState=vbMaxmizedvbRed代表“紅色”的十六進(jìn)制長(zhǎng)整數(shù)vbMaxmized值為2,代表窗體的最大化狀態(tài)16變量命名規(guī)則:同標(biāo)識(shí)符的命名規(guī)則
為了增加程序的可讀性,可在變量名前加一個(gè)縮寫(xiě)的前綴來(lái)表明該變量的數(shù)據(jù)類(lèi)型。 例如:strAbc(字符串變量)
iCount(整型變量)
dblX(雙精度變量)
sYz(單精度變量)控件對(duì)象的命名也類(lèi)似。如,F(xiàn)orm以frm為前綴、Label以lbl為前綴、CommandButton以cmd為前綴、TextBox以txt為前綴17變量聲明:可顯示或隱式聲明用Dim語(yǔ)句顯式聲明變量
形式:Dim變量名[AS類(lèi)型]
或Dim變量名[類(lèi)型符]
例:
DimiCountAsinteger,sumAssingle
等價(jià)于DimiCount%,sum!隱式聲明(不提倡)
VB允許用戶(hù)在編寫(xiě)應(yīng)用程序時(shí),不聲明變量而直接使用,系統(tǒng)臨時(shí)為新變量分配存儲(chǔ)空間并使用------隱式聲明。
所有隱式聲明的變量都是Variant數(shù)據(jù)類(lèi)型18如:PrivateSubForm_Click() Sum=0 a=10 b=20 Sun=a+b ‘出現(xiàn)手誤 PrintSum ‘結(jié)果出錯(cuò) EndSub使用的變量a,b,Sum都沒(méi)有事先定義。強(qiáng)制顯式聲明——OptionExplicit語(yǔ)句良好的編程習(xí)慣應(yīng)該:“先聲明變量,后使用變量”這樣做可以提高程序的效率,也減少出錯(cuò)的概率。1可以在窗體模塊、標(biāo)準(zhǔn)模塊和類(lèi)模塊的通用聲明段中加入語(yǔ)句:OptionExplicit2或在“工具/選項(xiàng)”中設(shè)置為“要求變量聲明”。19運(yùn)算符和表達(dá)式
運(yùn)算是對(duì)數(shù)據(jù)的處理。最基本的運(yùn)算形式可以用一些簡(jiǎn)潔的符號(hào)來(lái)描述,這些符號(hào)稱(chēng)為運(yùn)算符或操作符。運(yùn)算的對(duì)象就是數(shù)據(jù),稱(chēng)為運(yùn)算量或操作數(shù)。由運(yùn)算符和運(yùn)算量組成表達(dá)式。運(yùn)算符包括算術(shù)運(yùn)算符、字符串運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符20運(yùn)算符算術(shù)運(yùn)算符運(yùn)算符含義優(yōu)先級(jí)表達(dá)式結(jié)果^冪14^(1/2)2-負(fù)號(hào)2-3-3*乘33*618/除35/22.5\整除45\22(小數(shù)丟棄)Mod取余數(shù)510Mod31+加63+36-減63-3021說(shuō)明:1所有運(yùn)算符號(hào)不能省略。 例如:表達(dá)式xy+z,必須寫(xiě)成x*y+z2運(yùn)算符與操作數(shù)之間用空格隔開(kāi)3運(yùn)算按運(yùn)算符優(yōu)先級(jí)的先后順序進(jìn)行。4可用圓括號(hào)()改變優(yōu)先級(jí)或使表達(dá)式更清晰。圓括號(hào)可嵌套,但必須成對(duì)出現(xiàn)。如:
((xmod10)*10+x)/10例如:表達(dá)式5+10mod
10\9/3+2^2
的結(jié)果是10。22日期類(lèi)型的算術(shù)運(yùn)算:日期型數(shù)據(jù)是一種特殊的數(shù)值型數(shù)據(jù),只能有下面3種情況:1.一個(gè)日期型數(shù)據(jù)可以相減:DateB-DateA結(jié)果是一個(gè)數(shù)值型整數(shù)(兩個(gè)日期相差的天數(shù))。例如:#05/08/2002#-#05/01/2002#其結(jié)果為數(shù)值:72.一個(gè)日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作加法運(yùn)算:DateA+N其結(jié)果仍是一個(gè)日期型數(shù)據(jù)。例如:#05/01/2002#+7其結(jié)果為日期型數(shù)據(jù):#05/08/2002#3.一個(gè)日期型數(shù)據(jù)(DateA)與一數(shù)值數(shù)據(jù)(N)可作減法運(yùn)算:DateA-N其結(jié)果仍是一個(gè)日期型數(shù)據(jù)。例如:#05/08/2002#-7其結(jié)果為日期型數(shù)據(jù):#05/01/2002#23字符串運(yùn)算符:+、&主要進(jìn)行字符串的連接。如:
"ABCD"+"EFGHI“ '結(jié)果為:ABCDEFGHI“VB”&“程序設(shè)計(jì)” ‘結(jié)果為:VB程序設(shè)計(jì)+與&的區(qū)別是:
+:兩個(gè)操作數(shù)均應(yīng)為字符串類(lèi)型;
&:兩個(gè)操作數(shù)既可為字符型也可為數(shù)值型。當(dāng)是數(shù)值型時(shí),系統(tǒng)自動(dòng)先將其轉(zhuǎn)換為數(shù)字字符,再連接。例:"100"&123=100123100&123=100123"Abc"&"123"=Abc123"Abc"&123=Abc123"100"+123=223"100"+"123"=100123“Abc”+123 ‘出錯(cuò)24關(guān)系運(yùn)算符:也稱(chēng)比較運(yùn)算符,其作用是將兩個(gè)操作數(shù)進(jìn)行大小的比較。結(jié)果是一個(gè)邏輯值,關(guān)系成立返回True,否則返回False運(yùn)算符含義優(yōu)先級(jí)表達(dá)式結(jié)果<小于所有關(guān)系運(yùn)算優(yōu)先級(jí)相同。低于算術(shù)運(yùn)算的加“+”,減“-”運(yùn)算,高于邏輯非“Not”運(yùn)算。15+10<20False<=小于或等于10<=20True>大于10>20False>=大于或等于"This">="That"True=等于"This"="That"False<>不等于"This"<>"That"TrueLike字符串匹配"This"Like"*is"TrueIs對(duì)象比較25關(guān)系運(yùn)算的運(yùn)算規(guī)則:1數(shù)值或日期類(lèi)型比較:按數(shù)值大小。例如:33+12>=46-1‘結(jié)果為T(mén)rue #01/01/2000#>#01/01/1990#‘結(jié)果為T(mén)rue2字符串比較:按字符的ASCII碼值從左到右一一比較,直到出現(xiàn)不同的字符為止。例如:“a”>“A”‘結(jié)果為T(mén)rue "ABCDE">"ABRA" ‘結(jié)果為False3數(shù)值型與可轉(zhuǎn)換為數(shù)值型的數(shù)據(jù)比較,如:29>"189",按數(shù)值比較,結(jié)果為False。4數(shù)值型與不能轉(zhuǎn)換成數(shù)值型的字符型比較,如:77>"sdcd",不能比較,系統(tǒng)出錯(cuò)。5“Like”運(yùn)算符是VB6.0新增加的。其使用格式為:str1Likestr226邏輯運(yùn)算符:也稱(chēng)布爾運(yùn)算,結(jié)果是邏輯值Not為單目運(yùn)算符(要求一個(gè)操作數(shù)),其它為雙目運(yùn)算符27說(shuō)明:VB中常用的邏輯運(yùn)算符是Not、And和Or。它們用于將多個(gè)關(guān)系表達(dá)式連起來(lái)進(jìn)行邏輯判斷。例如,數(shù)學(xué)上表示某個(gè)數(shù)在某個(gè)區(qū)域時(shí)用表達(dá)式:10≤X<20,用VB程序中應(yīng)寫(xiě)成:
X>=10AndX<20
Not(X>=10AndX<20)等價(jià)于X<10orX>=20參與邏輯運(yùn)算的量一般都應(yīng)是邏輯型數(shù)據(jù),如果參與邏輯運(yùn)算的兩操作數(shù)是數(shù)值量,則以數(shù)值的二進(jìn)制值逐位進(jìn)行邏輯運(yùn)算。如,not1=-2 ‘將00000001按位取反成11111110,為-2的補(bǔ)碼。關(guān)系表達(dá)式與邏輯表達(dá)式常常用在條件語(yǔ)句與循環(huán)語(yǔ)句中,作為條件控制程序的流程走向。28運(yùn)算符的優(yōu)先順序:當(dāng)表達(dá)式包含多種運(yùn)算符時(shí):算術(shù)運(yùn)算符>字符運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算
最先計(jì)算算術(shù)運(yùn)算符,最后計(jì)算邏輯運(yùn)算符。在各類(lèi)運(yùn)算中再按照相應(yīng)的優(yōu)先次序進(jìn)行??梢杂美ㄌ?hào)改變優(yōu)先順序
例如:1.5+3/2>2Or7Mod3<4AndNotTrue29常用內(nèi)部函數(shù)內(nèi)部函數(shù)是由VB系統(tǒng)提供的,每個(gè)內(nèi)部函數(shù)完成某個(gè)特定的功能。函數(shù)調(diào)用的一般格式為:
函數(shù)名(參數(shù)1,參數(shù)2,…)
參數(shù)(也稱(chēng)自變量)放在圓括號(hào)內(nèi),若有多個(gè)參數(shù),以逗號(hào)分隔。
函數(shù)調(diào)用后,一般都有一個(gè)確定的函數(shù)值,即返回值。
例如:y=Sqr(289)
說(shuō)明:Sqr是內(nèi)部函數(shù)名,其功能是求平方根。289為參數(shù),運(yùn)行時(shí)該語(yǔ)句調(diào)用Sqr來(lái)求289的平方根,其計(jì)算結(jié)果返回給變量yVB的內(nèi)部函數(shù)大體上分為四大類(lèi):
數(shù)學(xué)函數(shù)、字符串函數(shù)、日期與時(shí)間函數(shù)、轉(zhuǎn)換函數(shù)。說(shuō)明:在以下敘述中,用N表示數(shù)值表達(dá)式,用C表示字符表達(dá)式,用D表示日期表達(dá)式。30常用數(shù)學(xué)函數(shù)Sin(N)
N數(shù)值表達(dá)式的單位是弧度
如Sin47°應(yīng)寫(xiě)成Sin(47*3.14159/180)Int(N) :求小于或等于x的最大整數(shù)
例如Int(2.5)=2,Int(-2.5)=-3
當(dāng)x≥0時(shí)就直接舍去小數(shù),若x<0則舍去小數(shù)位后再減1
Int函數(shù)的應(yīng)用:四舍五入。
例如: Int(x+0.5)
當(dāng)x=9.4時(shí),Int(9.4+0.5)=9
當(dāng)x=9.5時(shí),Int(9.5+0.5)=1031Rnd[(N)]:返回[0,1)之間的單精度隨機(jī)數(shù)。函數(shù)應(yīng)用:生成[a,b]區(qū)間范圍內(nèi)的隨機(jī)整數(shù):
Int((b-a+1)*Rnd+a)例如,Int(4*Rnd+1)可以產(chǎn)生[1,4]之間的隨機(jī)整數(shù)Abs(N):求絕對(duì)值如,Abs(a-b)即為|a-b|Exp(N)Log(N)Sgn(N)
32例
給定一個(gè)兩位正整數(shù)(如36),交換個(gè)位數(shù)和十位數(shù)的位置,把處理后的數(shù)顯示在窗體上PrivateSubForm_Click()DimxAsInteger,aAsIntegerDimbAsInteger,cAsIntegerx=36a=Int(x/10) '求十位數(shù)
b=xMod10 '求個(gè)位數(shù)
c=b*10+a '生成新的數(shù)
Print"處理后的數(shù):";cEndSub運(yùn)行程序后單擊窗體,輸出結(jié)果是:處理后的數(shù):6333若改為:PrivateSubForm_Click()DimxAsInteger,aAsIntegerDimbAsInteger,cAsIntegerx=36
a=x\10 '求十位數(shù)
b=x–10*a '求個(gè)位數(shù)
c=b*10+aPrint"處理后的數(shù):";cEndSub通常,解決某個(gè)問(wèn)題的程序方法有多種,我們應(yīng)該從中選擇較優(yōu)的一種方法。34例
通過(guò)隨機(jī)函數(shù)產(chǎn)生2個(gè)兩位正整數(shù),求這2個(gè)數(shù)之和并顯示出來(lái)PrivateSubForm_Click()DimaAsInteger,bAsInteger,cAsIntegerRandomize '初始化隨機(jī)數(shù)生成器
a=Int(90*Rnd+10) '[10,99]區(qū)間
b=Int(90*Rnd+10)c=a+b '求兩數(shù)之和
Print"產(chǎn)生的兩個(gè)隨機(jī)數(shù):";a,bPrint"和數(shù):";cEndSub運(yùn)行程序后單擊窗體,輸出結(jié)果是:產(chǎn)生的兩個(gè)隨機(jī)數(shù):5671
和數(shù):127
再次運(yùn)行程序,單擊窗體后輸出另一組結(jié)果是:
產(chǎn)生的兩個(gè)隨機(jī)數(shù):1837
和數(shù):5535常用字符串函數(shù)取子串函數(shù):Left()、Right()、Mid()格式:
Left(c,n):從字符串c左邊開(kāi)始取n個(gè)字符
Right(c,n):從字符串c右邊開(kāi)始取n個(gè)字符
Mid(c,n1[,n2]):從字符串c的第n1個(gè)字符開(kāi)始,取n2個(gè)字符。缺省n2,則從c的n1個(gè)字符開(kāi)始到結(jié)束。例:
Left(“VB程序設(shè)計(jì)”,4)值是“VB程序”
Right(“VB程序設(shè)計(jì)”,4)值是“程序設(shè)計(jì)”
Mid(“VB程序設(shè)計(jì)”,3,2)值是“程序”
Mid(“VB程序設(shè)計(jì)”,3)值是“程序設(shè)計(jì)”36字符串比較函數(shù):InStr()格式:InStr([n1,],c1,c2[,m])功能:返回從n1開(kāi)始查找c2在c1首次出現(xiàn)的位置
找不到,則返回0。
N1缺省,則從c1的第一個(gè)字符開(kāi)始查找。
m省略或?yàn)?,查找時(shí)區(qū)分大小寫(xiě),為1查找時(shí)不區(qū)分大小寫(xiě)。例: Instr(“Computer”,“Pu”)的值是0 Instr(1,“Computer”,“Pu”,1)的值是4 Instr(3,”A12a34A56”,”A”)的結(jié)果為7 Instr(3,”A12a34A56”,”A”,1)的結(jié)果為4字符串長(zhǎng)度函數(shù):Len()格式:Len(c)功能:返回c的長(zhǎng)度(字符個(gè)數(shù))。例:Len(“VB程序設(shè)計(jì)”)的值是6。37去字符串前后空格函數(shù):LTrim()、RTrim()、Trim()格式:
LTrim(c):去掉C字符串左邊空格
RTrim(c):去掉C字符串右邊空格
Trim(c):去掉C字符串左右兩邊空格例:
LTrim(“1234”)值為“1234”
RTrim(“1234”)值為“1234” Trim(“1234”)值為“1234”產(chǎn)生字符串函數(shù):Space()、String()格式:
Space(n):產(chǎn)生n個(gè)空格字符串。
String(n,c):產(chǎn)生n個(gè)c字符串中首字符的字符串例: String(3,”a”)或String(3,97)
值為“aaa” String(3,”abc”)值為“aaa”38大小寫(xiě)字母轉(zhuǎn)換函數(shù):LCase()、UCase()格式:
LCase(c):把字符串c中大寫(xiě)字母轉(zhuǎn)換為小寫(xiě)形式。
UCase(c):把字符串c中小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)形式。例:
LCase(“aB123d”)值為“ab123d” UCase(“aB123d”)值為“AB123D”39例
先從字符串a(chǎn)中找出某個(gè)指定字符(本例為空格),再以此字符為界拆分成兩個(gè)字符串。PrivateSubForm_Click()DimaAsString,bAsString,cAsString,nAsIntegera=“VisualFoxPro” '中間有空格
n=InStr(a,"")'查找空格位置
b=Left(a,n-1)'取左邊部分
c=Mid(a,n+1)'取右邊部分
Printb'顯示左邊部分
Printc'顯示右邊部分EndSub
程序運(yùn)行后單擊窗體,輸出結(jié)果是:
Visual
FoxPro40時(shí)期與時(shí)間函數(shù)日期/時(shí)間函數(shù)用于進(jìn)行日期和時(shí)間處理Now[()]Date[()]Time[()]Year(d)Month(d)Day(d)Weekday(d):返回值1~7,依次表示星期日到星期六。Timer[()]:返回自午夜0時(shí)起所經(jīng)過(guò)的秒數(shù)41例PrivateSubForm_Click() x=#1/1/2005# a=x–Date b=Weekday(x) c=Year(Date) d=Month(Date) e=Hour(Time) f=Minute(Time) Print"現(xiàn)在距離2005年元旦還有:";a;"天" Print"2005年元旦是:星期";b-1 Print"本月份是:";c;"年";d;"月“
Print"現(xiàn)在是:";e;"時(shí)";f;"分"EndSub
運(yùn)行程序后單擊窗體,輸出結(jié)果如下:
現(xiàn)在距離2005年元旦還有:1184天
2005年元旦是:星期6
本月份是:2001年10月
現(xiàn)在是:16時(shí)27分42類(lèi)型轉(zhuǎn)換函數(shù):用于數(shù)據(jù)類(lèi)型的轉(zhuǎn)換Str(N):轉(zhuǎn)換N為字符串。例如:Str(135.78)的值是“└┘135.78”Val(C):轉(zhuǎn)換C為數(shù)值型數(shù)據(jù),轉(zhuǎn)換中遇上第一個(gè)不能識(shí)別為數(shù)值的字符時(shí)停止,空格等可識(shí)別。
例如:Val(“10└┘24”)的值是1024,Val(“10or24”)的值是10。Asc(C):轉(zhuǎn)換C為ASCII碼值。例如:Asc(“A”)的值是65。Chr(N):轉(zhuǎn)換N為字符串。例如:Chr(65)的值是“A”。Oct(N):轉(zhuǎn)換十進(jìn)制的N為八進(jìn)制的數(shù)值。例如:Oct(8)的值是10。Hex(N):轉(zhuǎn)換十進(jìn)制的N為十六進(jìn)制的數(shù)值。例如:Hex(15)的值是F。43例使用轉(zhuǎn)換函數(shù)的示例
Priva
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保安工作總結(jié)計(jì)劃安全設(shè)備行業(yè)保安工作的設(shè)備測(cè)試
- 企業(yè)財(cái)務(wù)戰(zhàn)略與市場(chǎng)策略的協(xié)調(diào)計(jì)劃
- 提高學(xué)生美術(shù)表達(dá)能力的策略計(jì)劃
- 消費(fèi)者關(guān)系管理的工作計(jì)劃
- 2025年中國(guó)休閑食品行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)、市場(chǎng)規(guī)模及發(fā)展趨勢(shì)研究報(bào)告
- 七年級(jí)下冊(cè)《一元一次不等式的解法》課件與練習(xí)
- 2025年真空采血管項(xiàng)目發(fā)展計(jì)劃
- 構(gòu)建穩(wěn)定異步消息傳遞框架
- 2025年印鐵油墨項(xiàng)目建議書(shū)
- 白雪公主的童話世界解讀
- 效率提升和品質(zhì)改善方案
- 中山大學(xué)抬頭信紙中山大學(xué)橫式便箋紙推薦信模板a
- 無(wú)形資產(chǎn)評(píng)估完整版課件
- 義務(wù)教育學(xué)科作業(yè)設(shè)計(jì)與管理指南
- 《汽車(chē)發(fā)展史》PPT課件(PPT 75頁(yè))
- 常暗之廂(7規(guī)則-簡(jiǎn)體修正)
- 反詐騙防詐騙主題教育宣傳圖文PPT教學(xué)課件
- 制冷系統(tǒng)方案的設(shè)計(jì)pptx課件
- 修心七要原文
- 納期管理流程圖
- 中國(guó)TBHQ行業(yè)市場(chǎng)調(diào)研報(bào)告
評(píng)論
0/150
提交評(píng)論