版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
.PAGE46易語(yǔ)言教程-從入門到精通第一課.計(jì)算機(jī)的一般知識(shí) 1.1電子計(jì)算機(jī)的發(fā)展及其基本結(jié)構(gòu)1.1.1電子計(jì)算機(jī)的發(fā)展史1945年底,在美國(guó)首次研制成功人類第一臺(tái)計(jì)算機(jī),這臺(tái)機(jī)器重30噸,占地面積達(dá)167平方米,加之它的工作原理,因此,人類后來(lái)的計(jì)算機(jī)并不是在這臺(tái)機(jī)器的基礎(chǔ)上發(fā)展起來(lái)的?,F(xiàn)代計(jì)算機(jī)理論的奠基人是圖靈。在美國(guó)數(shù)學(xué)家馮.諾伊曼的主持下,1949年誕生了第一臺(tái)存儲(chǔ)程序的計(jì)算機(jī),又稱第一代機(jī),這臺(tái)計(jì)算機(jī)為后來(lái)的計(jì)算機(jī)發(fā)展奠定了基礎(chǔ)。1959年,第一臺(tái)晶體管計(jì)算機(jī)問世,由此,計(jì)算機(jī)進(jìn)入了第二代。1964年,IBM第一代360系列計(jì)算機(jī)問世,這是第一代通用計(jì)算機(jī),為研制這種計(jì)算機(jī),IBM投資50億美元,比二戰(zhàn)期間美國(guó)政府投入到原子彈研究的錢(20億美元)還要多;由此,計(jì)算機(jī)進(jìn)入了第三代。進(jìn)入到80年代以后,中大型計(jì)算機(jī)問世,于是開始了第四代計(jì)算機(jī)的時(shí)代。70年代以后,出現(xiàn)了計(jì)算速度更快、存儲(chǔ)量更大的巨型機(jī)。70年代微處理器的問世,標(biāo)志著計(jì)算機(jī)的發(fā)展開始了又一場(chǎng)革命。1977年3月蘋果公司的個(gè)人用計(jì)算機(jī)問世,自此,計(jì)算機(jī)開始進(jìn)入千家萬(wàn)戶。1.1.2電子計(jì)算機(jī)的基本結(jié)構(gòu)計(jì)算機(jī)由硬件和軟件組成。而硬件是由主機(jī)和外部設(shè)備組成;軟件由系統(tǒng)軟件和應(yīng)用軟件組成。計(jì)算機(jī)硬件是軟件的基礎(chǔ),是軟件發(fā)揮功能的工作環(huán)境,而軟件則是管理和利用硬件資源來(lái)實(shí)現(xiàn)計(jì)算機(jī)的功能,軟件和硬件是相互促進(jìn)和發(fā)展的。硬件大體上有以下幾個(gè)部分:控制器,運(yùn)算器,內(nèi)存儲(chǔ)器(RAM、ROM),輸入設(shè)備和輸出設(shè)備。前三者又合稱主機(jī),后兩者又稱作外部設(shè)備。現(xiàn)在就這五個(gè)部分的功能,作一些簡(jiǎn)要說(shuō)明。1.輸入設(shè)備。輸入設(shè)備是用來(lái)向主機(jī)輸入原始數(shù)據(jù)和處理這些數(shù)據(jù)所使用的計(jì)算程序列的設(shè)備。輸入設(shè)備的種類很多,但在微型機(jī)上不外乎下列幾種:(1)終端鍵盤。利用手指擊鍵方法向計(jì)算機(jī)輸入信息。用戶自己寫的程序列化和準(zhǔn)備處理的數(shù)據(jù),都可由鍵盤上敲入。(2)磁盤。磁盤,實(shí)際上也是存儲(chǔ)信息的,因?yàn)樗鼈兌际侵鳈C(jī)之外的設(shè)備,所以也稱為外存儲(chǔ)器。外存儲(chǔ)器上的信息,也可以輸入到機(jī)器中去。(3)?!獢?shù)(A/D)轉(zhuǎn)換器。它可以將連續(xù)變化的模擬量(如電壓、電流、長(zhǎng)度、角度等)轉(zhuǎn)換為數(shù)字量,送入到機(jī)器中去。此外,圖形輸入板、聲音輸入裝置等,實(shí)際上是專用的模數(shù)轉(zhuǎn)換器,同樣可以為計(jì)算機(jī)輸入信息。2.輸出設(shè)備。輸出設(shè)備是用來(lái)輸出計(jì)算結(jié)果或其它信息的。常用的輸出設(shè)備有:(1)顯示終端。用以顯示計(jì)算機(jī)的有關(guān)信息,占用戶從鍵盤上敲入并為機(jī)器接收的字符、機(jī)器清單、機(jī)器向用戶的提示,程序運(yùn)行時(shí)的輸紿(包括數(shù)字、文字或圖形)等。(2)打印機(jī)。顯示終端上可顯示的東西幾乎都可以由打印機(jī)打印到紙上。(3)磁盤??梢杂脕?lái)存儲(chǔ)程序和數(shù)據(jù)(包括數(shù)字、文字、圖形和聲音信息等)。3.主存儲(chǔ)器,即內(nèi)存儲(chǔ)器(簡(jiǎn)稱內(nèi)存)。它用來(lái)存放原始數(shù)據(jù)、處理這些數(shù)據(jù)的程序以及計(jì)算結(jié)果(包括中間結(jié)果,也包括圖形和聲音信息等)。系統(tǒng)程序也存放在內(nèi)存中。內(nèi)存儲(chǔ)器分為一個(gè)個(gè)單元,好似一間間房子,并按順序編了號(hào)碼(從0號(hào)開始),通常又稱為一個(gè)個(gè)地址。機(jī)器中的所有信息都以一定的規(guī)則存放在內(nèi)存的一個(gè)個(gè)單元中。對(duì)任何一個(gè)單元來(lái)說(shuō),它很象從左到右順序安放的一排燈泡,每個(gè)燈泡代表一位數(shù)字:燈泡點(diǎn)亮代表1,燈泡熄滅代表0。于是這一排燈泡就可表示由0和1
構(gòu)成的一個(gè)數(shù)這排燈泡的個(gè)數(shù),就稱為位數(shù)或字長(zhǎng)。目前,一般微型計(jì)算機(jī)的內(nèi)存儲(chǔ)器是用半導(dǎo)體器件組成的電路制成的,稱為半導(dǎo)體存儲(chǔ)器。字長(zhǎng),一般取決于微處理器的字長(zhǎng)。一般微型機(jī)的內(nèi)存儲(chǔ)器又分為兩個(gè)部分。一部分是隨機(jī)存儲(chǔ)器(RAM),每個(gè)單元的數(shù)據(jù)是可以改變的,而且關(guān)電以后所有信息都會(huì)自動(dòng)消失。這類存儲(chǔ)器是用戶可以使用的空間。另外,還有一部分是只讀存儲(chǔ)器(ROM),每個(gè)單元一信息是固化的,用戶只可讀出使用,但無(wú)法使其改變。任何時(shí)候,只要接通電源,這些信息就建立好了。4.運(yùn)算器。運(yùn)算器是計(jì)算機(jī)進(jìn)行信息加工的場(chǎng)所,所有算術(shù)運(yùn)算邏輯運(yùn)算等都在這里進(jìn)行。就象用算盤算題時(shí)一樣,它只能放當(dāng)前被操作完的一個(gè)數(shù)據(jù),中間結(jié)果一般配要送內(nèi)存中保存起來(lái),以備以后使用。所以,沒有內(nèi)存,單靠運(yùn)算器是無(wú)所作為的。5.控制器。它是用來(lái)實(shí)現(xiàn)計(jì)算機(jī)各部分協(xié)調(diào)動(dòng)作使計(jì)算過(guò)程自動(dòng)進(jìn)行的裝置。也就是說(shuō),它是計(jì)算機(jī)內(nèi)的指揮部。控制器可以向計(jì)算機(jī)的其它部件發(fā)出信號(hào),控制數(shù)據(jù)的傳輸與加工;同時(shí),控制器也接收其它部件送來(lái)的信號(hào),以便調(diào)整其控制功能。所以,在計(jì)算機(jī)工作時(shí),有兩和種信息流:控制流與數(shù)據(jù)測(cè)定流,由控制流控制數(shù)據(jù)的傳輸與加工,完成所有的計(jì)算動(dòng)作。這里介紹的運(yùn)算器、控制器、內(nèi)存儲(chǔ)器、輸入輸出設(shè)備等,都是一些看得見、摸得著的“硬”東西,所以又稱它們?yōu)椤坝布被颉坝苍O(shè)備”。相對(duì)地,那些在計(jì)算機(jī)工作過(guò)程中必不可少的數(shù)據(jù)以及對(duì)這些數(shù)據(jù)進(jìn)行處理的控制命令等信息流都是摸不著的“軟”東西,通常稱之為“軟件”或“軟設(shè)備”。易語(yǔ)言本身,屬于軟件的范疇。1.2計(jì)算機(jī)中數(shù)的表示日常生活中,我們非常習(xí)慣使用十進(jìn)制計(jì)數(shù)法,可是在日常生活里我們也還會(huì)遇到一些另的進(jìn)制,如二進(jìn)制(兩只為一從)、十二進(jìn)制(十二英寸為一英尺,十二個(gè)月為一年)、十六進(jìn)制(中國(guó)老秤十六兩為一斤)、二十四進(jìn)制(二十四小時(shí)為一天)和六十進(jìn)制(六十分為一小時(shí),六十秒為一分等)等等。在計(jì)算機(jī)內(nèi)部,則釆用二進(jìn)制計(jì)數(shù)法。為什么計(jì)算機(jī)要使用二進(jìn)制計(jì)數(shù)法呢?這是因?yàn)殡姎庠袃煞N狀態(tài)最容易實(shí)現(xiàn)(如電路的通斷、電位的高低等),也最為穩(wěn)定,并且最容易實(shí)現(xiàn)對(duì)電路本身的控制。在計(jì)算機(jī)里,一般以高電位代表1,低電位代表0。二進(jìn)制的兩個(gè)數(shù)基,就用0和1來(lái)表示。凡夠2時(shí),就向左進(jìn)一位。比如十進(jìn)制的2,用10表示;十進(jìn)制的4,用100表示等。用邏輯電路實(shí)現(xiàn)二進(jìn)制數(shù)的運(yùn)算,是極為方便的。用不同進(jìn)位制表示的數(shù)之間,可以根據(jù)一定的規(guī)則相互轉(zhuǎn)換。1.2.1十六進(jìn)制數(shù)、二進(jìn)制數(shù)、八進(jìn)制數(shù)在計(jì)算機(jī)內(nèi)部運(yùn)算中常用的進(jìn)位制有4種:二進(jìn)制:逢2進(jìn)1,由數(shù)字0和1組成,以下標(biāo)2或后綴B表示。八進(jìn)制:逢8進(jìn)1,由數(shù)字0至7組成,以下標(biāo)8或后綴Q表示。十進(jìn)制:逢10進(jìn)1,由數(shù)字0至8組成,以下標(biāo)10后綴D表示,該后綴可以省略。十六進(jìn)制:逢16進(jìn)1,由數(shù)字0至8和字母A至F組成,以下標(biāo)16或后綴H表示。例如:二進(jìn)制數(shù)1001010表示為1001010(B)、八進(jìn)制數(shù)234512表示為234512(Q)、十六進(jìn)制數(shù)4523ADF表示為4523ADF(H),十進(jìn)制數(shù)的后綴可以省略。用不同進(jìn)位制表示的數(shù)之間,可以根據(jù)一定的規(guī)則相互轉(zhuǎn)換。1.十六進(jìn)制數(shù)、八進(jìn)制數(shù)與二進(jìn)制數(shù)之間的轉(zhuǎn)換一位十六進(jìn)制數(shù)用四位二進(jìn)制數(shù)表示,一位八進(jìn)制數(shù)用3位二進(jìn)制數(shù)表示。二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)時(shí),以小數(shù)點(diǎn)位置為界,向兩側(cè)每四位分組,當(dāng)兩側(cè)不足四位時(shí)補(bǔ)0。例如:101010.010101(B)=00101010.01010100(B)=2A.54(H)二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)時(shí),以小數(shù)點(diǎn)位置為界,向兩側(cè)每三位分組,當(dāng)兩側(cè)不足三位時(shí)補(bǔ)0。例如:101010.010101(B)=101,010.010,101(B)=52.25(Q)十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),以小數(shù)點(diǎn)為界,每一位十六進(jìn)制數(shù)轉(zhuǎn)換為四位二進(jìn)制數(shù)向兩側(cè)排列;八進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)時(shí),以小數(shù)點(diǎn)為界,每一位八進(jìn)制數(shù)轉(zhuǎn)換為三位二進(jìn)制數(shù)向兩側(cè)排列。1.2.2十進(jìn)制數(shù)和二進(jìn)制數(shù)之間的轉(zhuǎn)換把一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),方法如下:把這個(gè)十進(jìn)制數(shù)反復(fù)地除以2,直到商為零,所得的余數(shù)(從末一位讀起)就是這個(gè)數(shù)的二進(jìn)制表示。如十進(jìn)制的11,反復(fù)用2除:用二進(jìn)制表示,是1011。換句話說(shuō),把一個(gè)十進(jìn)制數(shù)化成以2為底的指數(shù)形式,則它的系數(shù)(由高次到低次)就是其二進(jìn)制表示的數(shù)。像上面提到的十進(jìn)制數(shù)11,換成以2為底的指數(shù)形式為:11=1×23+0×22+1×21+1×20把它的系數(shù)順序排列起來(lái),就是1011,這就是它的二進(jìn)制表示。反之,一個(gè)二進(jìn)制數(shù)它的十進(jìn)制表示,就可以用1×23+0×22+1×21+1×20=11換言之,將一個(gè)二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的方法是:將這個(gè)二進(jìn)制數(shù)的最末一位乘以20,倒數(shù)第2位乘以21,……最后將各項(xiàng)相加即可。1.2.3十進(jìn)制數(shù)與十六進(jìn)制數(shù)的轉(zhuǎn)換在計(jì)算機(jī)內(nèi),所有的數(shù)都是用二進(jìn)制表示的(電位的高低表示1或0)。然而,如果讓人們對(duì)任何二進(jìn)制數(shù)能象對(duì)十進(jìn)制數(shù)那樣一目了然,實(shí)在不是一件容易的事。這一方面由于人們用二進(jìn)制數(shù)終歸沒有用十進(jìn)制數(shù)來(lái)得那么普遍與習(xí)慣;另一方面,用二進(jìn)制表示一個(gè)數(shù)時(shí),其位數(shù)較長(zhǎng)(比如大于十進(jìn)制63的數(shù),用二進(jìn)制表示至少要6位),且每位數(shù)只有0和1可資區(qū)別。為此,人們引進(jìn)了八進(jìn)制和十六進(jìn)制的表示方法。必須指出,八進(jìn)制或十六進(jìn)制并不是機(jī)器中的某一位有八種狀態(tài)或十六種狀態(tài),在機(jī)器內(nèi)仍是以二進(jìn)制為藉款礎(chǔ)的(每一位只可有兩種狀態(tài)),只是為著輸入或輸出一個(gè)二進(jìn)制數(shù)的方便,擊機(jī)器內(nèi)的二進(jìn)鑰數(shù)從右向左每三位分作一組,每組便可表示0-7的某個(gè)數(shù),顯然最右一組滿8時(shí)要向左鄰一組進(jìn)1,于是這三位一組構(gòu)成了八進(jìn)制數(shù)。類似地,把二進(jìn)制數(shù)從右到左每四位分作一組,每組表示0-15中的某個(gè)數(shù),這一組一組就構(gòu)成了十六進(jìn)則數(shù)。目前用十六進(jìn)制表示較為普遍??梢韵胍?,把兩個(gè)四位連在一起可以用兩個(gè)十六進(jìn)制數(shù)表示,其數(shù)值范圍可為十進(jìn)制數(shù)的0到255,共256個(gè)數(shù),選用它們來(lái)代表所有英文字符的內(nèi)部編碼(以便用二進(jìn)制數(shù)代表字符)是足夠使用了。因此又把兩個(gè)十六進(jìn)制數(shù)作為一個(gè)基本單位,稱作“字節(jié)”。十六進(jìn)制數(shù)的表示法,0-9仍沿用十進(jìn)制中的0-9,接下去的六個(gè)數(shù)依次用A、B、C、D、E、F表示。因此,十進(jìn)制的0-16表示成二進(jìn)制數(shù)和十六進(jìn)制數(shù)。如下表所示。十進(jìn)制表示二進(jìn)制表示十六進(jìn)制表示01234567891011121314151601101110010111011110001001101010111100110111101111100000123456789ABCDEF10十進(jìn)制數(shù)和十六進(jìn)制數(shù)之間的轉(zhuǎn)換,類似于十進(jìn)制數(shù)和二進(jìn)制數(shù)之間的轉(zhuǎn)換。把一個(gè)十進(jìn)制數(shù)反復(fù)地除以16,直到商為0,將所有余數(shù)(從末一個(gè)起)順序排列起來(lái),就是這個(gè)數(shù)的十六進(jìn)制表示。如,十進(jìn)制的269轉(zhuǎn)換為十六進(jìn)制數(shù)為10D,反之,把一個(gè)十六進(jìn)制數(shù)的末位乘以160,倒數(shù)第二位乘以161…再將各項(xiàng)累加,所得的數(shù)就是那個(gè)十六進(jìn)制數(shù)的十進(jìn)制表示。如:10D=1×162+0×161+13×160=269關(guān)于八進(jìn)制數(shù)及其與十進(jìn)制數(shù)之間的轉(zhuǎn)換,不再敘述,請(qǐng)讀者自己考慮。1.3計(jì)算機(jī)語(yǔ)言人們進(jìn)行思維活動(dòng)或人與人之間交流思想,要通過(guò)語(yǔ)言,計(jì)算機(jī)進(jìn)行或人與計(jì)算機(jī)交流信息,也需要通過(guò)語(yǔ)言。這就是計(jì)算機(jī)語(yǔ)言。計(jì)算機(jī)語(yǔ)言是用來(lái)指明讓計(jì)算機(jī)依次做些什么事情的,所以又稱為程序設(shè)計(jì)語(yǔ)言,這種語(yǔ)言有其自身的特點(diǎn)和發(fā)展過(guò)程。1.3.1機(jī)器語(yǔ)言前文提到,計(jì)算機(jī)的指揮中心是控制器,且計(jì)算機(jī)中的數(shù)都是用二進(jìn)制數(shù)表示的。實(shí)際上,控制器也是用二進(jìn)制數(shù)的0或1(即低電平、高電平)來(lái)實(shí)現(xiàn)其控制功能的。原來(lái),任何一種電子計(jì)算機(jī),都是一套指令系統(tǒng),由若干條指令組成,每條指令都可指揮計(jì)算機(jī)實(shí)現(xiàn)某些功能。一條指令,通常由操作碼和操作數(shù)兩部分構(gòu)成。操作碼由若干位二進(jìn)制數(shù)組成,由于這若干位0和1(即低電位、高電位)的不同組合,因而能使計(jì)算機(jī)產(chǎn)生不同的。操作數(shù)部分也是由若干位二進(jìn)制數(shù)構(gòu)成,它指明被操作的對(duì)象。一般地,它可以是被操作數(shù)的本身,也可是被操作數(shù)在內(nèi)存中存放的地址,甚至不指明操作數(shù)部分(有時(shí)是隱含的)。如果操作數(shù)部分指明的是地址,不同類型的機(jī)器待,又可能只指明一個(gè)地址(被操作數(shù)地址)、或指明兩個(gè)地址(兩個(gè)操作數(shù)的地址,或一個(gè)被操作數(shù)地址,一個(gè)操作結(jié)果存放地址),或指明三個(gè)地址(被操作的兩個(gè)數(shù)的地址和操作結(jié)果存放地址)等等,它們分別被稱為一地址、二地址或三地址指令??刂破髅坑龅揭粋€(gè)操作碼,就會(huì)產(chǎn)生不同高低電位的組合,控制機(jī)器作相應(yīng)的動(dòng)作。地圵部分的不同高低電位組合,又會(huì)指向相應(yīng)的被操作對(duì)象。從而完成一條指令的功能。一條條指令執(zhí)行完結(jié),運(yùn)算就告結(jié)束。由于指令的操作碼會(huì)直接使機(jī)器產(chǎn)生相應(yīng)動(dòng)作,操作數(shù)部分會(huì)直接指向被操作對(duì)象,所以用一條條指令寫成的機(jī)器語(yǔ)言程序,能為機(jī)器直接認(rèn)識(shí)。換之,機(jī)器語(yǔ)言是計(jì)算機(jī)能懂得的唯一語(yǔ)言。用機(jī)器語(yǔ)言寫的程序,在機(jī)器上運(yùn)行時(shí),速度是最快的。值得說(shuō)明的是,上述例子中,由七個(gè)連續(xù)單元中;十六進(jìn)制數(shù)的20號(hào)單元中也得事先送入一個(gè)數(shù);還有,結(jié)果存放的地圵也是用戶指定的。這就是說(shuō),內(nèi)存中什么地方放程序,什么地方放被操作的數(shù),什么地方放結(jié)果,得由用戶自行分配。短小的程序比較好辦,長(zhǎng)而復(fù)雜的程序,分配內(nèi)存時(shí)得格外小心,以防止搞亂了。顯然,用機(jī)器語(yǔ)言編制計(jì)算程序,對(duì)用戶來(lái)說(shuō)有著很大的缺陷:1.難寫、難讀、難修改;2.由于每種機(jī)器的指令系統(tǒng)不一樣,這種程序沒有通用性;3.需要人工分配內(nèi)存。1.3.2匯編語(yǔ)言為著克服機(jī)器語(yǔ)言固有的缺陷,人們經(jīng)過(guò)研究探討,引進(jìn)了一種匯編語(yǔ)言。匯編語(yǔ)言實(shí)際撫是一種符號(hào)語(yǔ)言,它把人們難以記憶和辨認(rèn)的操作碼改用有意義的英文單詞(或見長(zhǎng)縮寫)作為助記符來(lái)代替,而對(duì)操作數(shù)部分稍加改動(dòng),更易于理解。然而,從機(jī)器語(yǔ)言到匯編語(yǔ)言是花了一定代價(jià)的。因?yàn)橛?jì)算機(jī)只認(rèn)識(shí)機(jī)器語(yǔ)言,為了讓計(jì)算機(jī)能認(rèn)識(shí)匯編語(yǔ)言,最簡(jiǎn)單的辦法是在機(jī)器內(nèi)部編制一個(gè)對(duì)照表,像一本字典一樣,對(duì)任何匯編符號(hào)都能從這個(gè)對(duì)照表中查到相應(yīng)的機(jī)器語(yǔ)言的指令操作碼。進(jìn)行這種對(duì)照查找,當(dāng)然也得有一個(gè)用機(jī)器語(yǔ)言寫的(以便機(jī)器能認(rèn)識(shí)的)程序,即匯編程序。機(jī)器在執(zhí)行這個(gè)匯編程序時(shí)會(huì)把一條條匯編語(yǔ)言翻譯成機(jī)器語(yǔ)言,從而又為機(jī)器所能認(rèn)識(shí)。可見,執(zhí)行匯編程序得額外花費(fèi)機(jī)器運(yùn)行時(shí)間,匯編程序和對(duì)照表也要占用內(nèi)存空間。因而由機(jī)器語(yǔ)言改用匯編語(yǔ)言,是以降低機(jī)器運(yùn)行速度和減小用戶可用內(nèi)存空間為代價(jià)的。匯編語(yǔ)言可以克服機(jī)器語(yǔ)言的第一個(gè)缺陷,但其而缺陷卻依然存在。1.3.3算法語(yǔ)言算法語(yǔ)言又稱“高級(jí)語(yǔ)言”,它比較完滿地解決了機(jī)器語(yǔ)言的所有缺陷,是程序設(shè)計(jì)語(yǔ)言的一大突破。高級(jí)語(yǔ)言編寫出的程序,稱為源程序,而更是計(jì)算機(jī)不能直接認(rèn)識(shí)的東西。讓計(jì)算機(jī)認(rèn)識(shí)并能執(zhí)行高級(jí)語(yǔ)言源程序,需要一個(gè)翻譯和執(zhí)行的過(guò)程,它比匯編程序功能要強(qiáng)得多。我們通常用高級(jí)語(yǔ)言寫好一個(gè)程序,讓機(jī)器運(yùn)行它,這種說(shuō)法并不十分確切。拿易語(yǔ)言寫的程序來(lái)說(shuō),真正運(yùn)行的并不是易語(yǔ)言的源程序,而是由易語(yǔ)言編譯器將源程序編譯后的機(jī)器碼,從而完成了源程序所要做的一切。然而它還是順著易語(yǔ)言程序一句句執(zhí)行的。不同程序語(yǔ)句有不同方法和效果,所以我們以后還是說(shuō)成運(yùn)行(或執(zhí)行)易語(yǔ)言源程序。不言而喻,高級(jí)語(yǔ)言的優(yōu)點(diǎn)是以降低運(yùn)行速度和減小用戶可用內(nèi)存空間為代價(jià)的。運(yùn)行速度大約只及機(jī)器語(yǔ)言的數(shù)百分之一。隨著大規(guī)模集成電路技術(shù)的飛速發(fā)展,指令技術(shù)周期越來(lái)越短,存儲(chǔ)器越來(lái)越便宜,這些代價(jià)也就顯得不那么重要了。當(dāng)然,對(duì)某些程序來(lái)說(shuō),降低運(yùn)行速度可能是致命性的,所以近年來(lái)不少應(yīng)用程序釆用高級(jí)語(yǔ)言與機(jī)器語(yǔ)言相結(jié)合的辦法,不是沒有道理的。以上提到的匯編程序、解釋程序、編譯程序以及操作系統(tǒng)、服務(wù)性程序、庫(kù)程序等,一般稱為系統(tǒng)程序;為解決特定問題而編寫的程序,一般稱為應(yīng)用。這些都是屬于軟件的范疇。1.4習(xí)題1.將下列二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù):(1)101(2)1100(3)11011001(4)1011011001102.將下列十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù):(1)26(2)54(3)129(4)255603.把下列十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù):(1)15(2)287(3)6438(4)396844.把下列十六進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù):(1)B(2)1C(3)A93(4)FFFF5.把下列二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù):(1)10100110(2)11000110(3)1011001110(4)1010010111110106.把下列十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù):(1)8F(2)3A4(3)6D35(4)FFFF第二課.易語(yǔ)言的基本概念本節(jié)將向讀者介紹什么是易語(yǔ)言,構(gòu)成易語(yǔ)言程序有那些最基本的東西。正象蓋房子一樣,這里僅僅是準(zhǔn)備鋼筋,水泥,磚,瓦,沙,石等材料。同時(shí)在本章中我們還要介紹一些易語(yǔ)言常用的命令和常規(guī)的上機(jī)操作方法。2.1易語(yǔ)言的特點(diǎn)1.全可視化一般的可視化編程語(yǔ)言,僅支持圖形用戶界面的可視化設(shè)計(jì)操作,而易語(yǔ)言除了支持此類可視化操作,還支持程序流程的即時(shí)可視化呈視,極大地減少了程序錄入錯(cuò)誤。即:用戶在編寫程序的過(guò)程中,可以即時(shí)看到當(dāng)前程序的運(yùn)行流程及路線,有助于培養(yǎng)編程思路,提高解決編程問題的能力。2.全中文作為一款由中國(guó)人自己開發(fā)的編程語(yǔ)言,易語(yǔ)言在中文處理方面有良好的支持。用戶在編寫程序的過(guò)程中,可以不接觸任何英文。根本不懂英文的人使用中文編寫代碼也沒有任何障礙。(1)中文名稱的快速錄入。易語(yǔ)言內(nèi)置四種名稱輸入法:首拼、全拼、雙拼、英文。三種拼音輸入法均全面支持南方音。使用這些輸入法能夠極大地提高中文代碼的輸入速度。直接使用系統(tǒng)提供的輸入法,如五筆字型、智能ABC、紫光拼音、自然碼等,同樣可以進(jìn)行程序的輸入。(2)程序全部以中文方式顯示,運(yùn)算符號(hào)全部顯示為對(duì)應(yīng)的中文符號(hào)(≥≤≠≈×÷),日期時(shí)間以中文格式呈現(xiàn)(年月日時(shí)分秒),以便于中文用戶理解、閱讀程序。(3)適合中國(guó)人的語(yǔ)言、思維習(xí)慣。對(duì)其它計(jì)算機(jī)編程語(yǔ)言的學(xué)習(xí),總會(huì)感到某種限制,首先是語(yǔ)言環(huán)境的限制,有很多專業(yè)的術(shù)語(yǔ)字面上很難理解它的含義,而以中文編寫出的程序代碼,符合中國(guó)人的語(yǔ)法習(xí)慣和邏輯思維,可以做到見文思義,更加適合中國(guó)人使用。在以后復(fù)查程序時(shí)可以非常直觀地分析;給其他人源代碼學(xué)習(xí)時(shí)也會(huì)非常簡(jiǎn)單,相互交流變得更加容易。易語(yǔ)言更提供了中文格式日期時(shí)間處理、漢字發(fā)音處理、全半角字符處理、人民幣金額處理等功能支持。3.全編譯與跨平臺(tái)易語(yǔ)言擁有自己獨(dú)立的高質(zhì)量編譯器,中文源代碼被直接編譯為目的機(jī)器的CPU指令,高效且不存在任何速度瓶頸和安全隱患。易語(yǔ)言現(xiàn)已同時(shí)支持Windows和Linux程序開發(fā),不再依賴特定的操作系統(tǒng)。4.可擴(kuò)充支持庫(kù)易語(yǔ)言由基本系統(tǒng)和運(yùn)行支持庫(kù)兩部分組成,兩者之間通過(guò)使用易語(yǔ)言自行定義的接口技術(shù)進(jìn)行協(xié)作。運(yùn)行支持庫(kù)內(nèi)提供了易語(yǔ)言的所有語(yǔ)言要素,如:命令、窗口和報(bào)表單元數(shù)據(jù)類型、普通數(shù)據(jù)類型、常量等等??梢酝ㄟ^(guò)安裝外部支持庫(kù)來(lái)擴(kuò)充易語(yǔ)言基本系統(tǒng)。運(yùn)行支持庫(kù)還可以被隨意增減、抽換或升級(jí),基本系統(tǒng)對(duì)運(yùn)行支持庫(kù)提供了詳細(xì)的版本控制。本技術(shù)給用戶帶來(lái)的最大好處是:(1)用戶可以根據(jù)行業(yè)或自身需要定制易語(yǔ)言;(2)由于運(yùn)行支持庫(kù)的不斷增多、升級(jí),易語(yǔ)言的功能將被迅速擴(kuò)充;(3)由于運(yùn)行支持庫(kù)可以僅包含聲明而不包含實(shí)際的運(yùn)行支持代碼,并且可以隨時(shí)被更新或抽換,這樣可使人們通過(guò)國(guó)際互連網(wǎng)與服務(wù)器進(jìn)行遠(yuǎn)程易語(yǔ)言交流(例如復(fù)雜型電子商務(wù)、遠(yuǎn)程控制等等)成為可能,這也是以后易語(yǔ)言互聯(lián)網(wǎng)版本的發(fā)展方向。5.?dāng)?shù)據(jù)庫(kù)支持易語(yǔ)言相對(duì)其它編程語(yǔ)言的優(yōu)勢(shì)還在于易語(yǔ)言擁有自己的易數(shù)據(jù)庫(kù),并且用中文命令操作易數(shù)據(jù)庫(kù),簡(jiǎn)單方便。同時(shí),易語(yǔ)言對(duì)外部數(shù)據(jù)庫(kù)也有著非常好的支持,通過(guò)簡(jiǎn)單的組件和命令就可以實(shí)現(xiàn)易語(yǔ)言與各類數(shù)據(jù)庫(kù)的連接,如Oracle、MySQL、SQLServer、Access等等。6.OCX組件、類型庫(kù)(TypeLib)、API與COM對(duì)象易語(yǔ)言可直接在程序中引用多種現(xiàn)有編程資源,極大的擴(kuò)充了易語(yǔ)言的功能,并可對(duì)這些英文資源進(jìn)行漢化處理,從而能夠保持全中文的特點(diǎn),讓用戶不用學(xué)習(xí)英文也能充分使用這些英文資源。7.與其它編程語(yǔ)言相互融合、互相補(bǔ)充易語(yǔ)言支持當(dāng)今先進(jìn)的編程理念,例如面向?qū)ο缶幊?、事件消息處理機(jī)制等,了解、學(xué)習(xí)和掌握易語(yǔ)言對(duì)掌握其它編程語(yǔ)言具有橋梁作用,同時(shí),易語(yǔ)言可以和其它編程語(yǔ)言以標(biāo)準(zhǔn)Win32DLL方式互相調(diào)用,保障了多種編程語(yǔ)言協(xié)同開發(fā)的需要。8.即時(shí)編譯并自動(dòng)規(guī)范語(yǔ)句格式的錄入方式在輸入程序過(guò)程中,每條程序語(yǔ)句錄入后,當(dāng)光標(biāo)離開該行,則對(duì)該行立即進(jìn)行初步分析編譯。如果該行輸入正確,則該行的拼音簡(jiǎn)寫會(huì)變成對(duì)應(yīng)的漢字變量名或組件名,并呈現(xiàn)統(tǒng)一的字體間距和格式,因此任何人所編寫的任何程序其格式都完全一致,這對(duì)于應(yīng)用程序的協(xié)作開發(fā)、交流和維護(hù)非常有利。9.系統(tǒng)內(nèi)置的自動(dòng)名稱管理器能夠?qū)τ脩羲x的各類名稱進(jìn)行跟蹤管理例如:假設(shè)程序中現(xiàn)存在一個(gè)名為“刷新內(nèi)容”的子程序,而且在很多地方都調(diào)用了該子程序?,F(xiàn)在用戶根據(jù)需要想把該子程序更改為另外一個(gè)名稱,在傳統(tǒng)的編程語(yǔ)言中,用戶更改子程序名稱后,要搜尋整個(gè)應(yīng)用程序,逐一找到使用了該子程序的地方,把名稱相應(yīng)地改變過(guò)來(lái)。在易語(yǔ)言中,用戶只需更改該子程序名稱,程序中其它所有使用了該子程序的地方,其名稱都將被自動(dòng)更改過(guò)來(lái)。10.貫穿全程的即時(shí)且全面的信息幫助用戶在進(jìn)行任何操作的過(guò)程中,隨時(shí)按F1幫助鍵,均能夠在狀態(tài)行上或提示夾中獲得有關(guān)當(dāng)前操作位置的詳細(xì)相關(guān)信息。例如:用戶將光標(biāo)移動(dòng)到某程序行上,然后按下F1鍵,馬上就能夠得到此程序行上所有命令的定義、參數(shù)、使用方法、所錄屬的支持庫(kù)等信息。2.2易語(yǔ)言程序的構(gòu)成下面對(duì)易程序的結(jié)構(gòu)進(jìn)行介紹。首先你的易程序需要有一個(gè)顯示界面,一般是使用一個(gè)窗口(也可以是控制臺(tái)程序)作為啟動(dòng)畫面,易語(yǔ)言中指定“_啟動(dòng)窗口”這個(gè)窗口是首先彈出的窗口,大家可以在這個(gè)窗口中放上其它的組件,以顯示信息或美化程序界面。窗口顯示時(shí)會(huì)有一系列的觸發(fā)事件,如“創(chuàng)建完畢”事件、“尺寸被改變”事件等,但可能大家沒有用到這些事件,因此不會(huì)進(jìn)行任何的動(dòng)作,只是顯示一個(gè)窗口。若大家使用到了這些事件,就會(huì)形成事件子程序,這樣就產(chǎn)生了子程序,而子程序是放在程序集中進(jìn)行組織的,而每一個(gè)窗口對(duì)應(yīng)一個(gè)程序集,大家也可以自己創(chuàng)建自己的程序集,程序集包含若干個(gè)子程序,子程序內(nèi)輸入程序代碼。而程序代碼就是各種命令和方法。為配合命令書寫,需要有存放內(nèi)容的變量,為方便引用,可以建立常量,自定義數(shù)據(jù)類型,甚至可以建立圖片或聲音資源供引用。為了調(diào)用系統(tǒng)應(yīng)用程序接口API,使用更多的功能,需要進(jìn)行DLL聲明。這些操作可以在“程序面板”中完成。為了重復(fù)利用程序資源,不必每次都重新寫某段代碼,除提供自定義子程序外,還提供易模塊,供其它程序調(diào)用,也可以寫標(biāo)準(zhǔn)動(dòng)態(tài)鏈接庫(kù),供易語(yǔ)言及其他語(yǔ)言調(diào)用。為了理解上述的程序結(jié)構(gòu),下面跟著本書寫第一個(gè)易程序。先從一個(gè)簡(jiǎn)單的例子說(shuō)起。假定某甲有人民幣15元,某乙有人民幣20.5元,求甲乙二人共有人民幣多少元?把這個(gè)問題寫成易語(yǔ)言“Windows控制臺(tái)程序”,可以是下面的樣子:計(jì)算機(jī)在執(zhí)行這個(gè)程序時(shí),先讓“甲”取得值15,再讓“乙”取得值20.5,然后讓“和”取得“甲”與“乙”之和,即35.5;再把“和”的值顯示出來(lái)。例程中,幾個(gè)數(shù)字,如15、20.5,幾個(gè)中文,如甲、乙、和。這些數(shù)字和中文,分別叫做常量和變量。2.3易語(yǔ)言界面、菜單介紹以及上機(jī)操作2.2.1易語(yǔ)言的界面初次運(yùn)行易語(yǔ)言后,首先會(huì)彈出對(duì)話框,詢問創(chuàng)建何種類型的易程序。如下圖所示。若打開易語(yǔ)言界面后未新建程序,也可以通過(guò)菜單“程序”→“新建”來(lái)創(chuàng)建新的易程序?;螯c(diǎn)擊窗口工具條中的新建按鈕來(lái)新建易程序。易語(yǔ)言啟動(dòng)對(duì)話框易語(yǔ)言可創(chuàng)建以下6種程序:1.Windows窗口程序:是支持在Windows下彈出窗口及組件等標(biāo)準(zhǔn)WIN32位程序,也稱易程序。2.Windows控制臺(tái)程序:是WIN32位無(wú)窗口界面的易程序。一般用于服務(wù)器等。3.Windows動(dòng)態(tài)鏈接庫(kù):可以生成DLL程序,將在本書關(guān)于DLL章節(jié)中介紹。4.Windows易語(yǔ)言模塊:簡(jiǎn)稱易模塊,是經(jīng)過(guò)初步編譯后的程序模塊,供其他程序重復(fù)調(diào)用,將在本書關(guān)于模塊章節(jié)中介紹。5.Linux控制臺(tái)程序:是支持Linux操作系統(tǒng)的無(wú)窗口命令行程序,將在本書關(guān)于Linux程序章節(jié)中介紹。6.Linux易語(yǔ)言模塊:是支持Linux操作系統(tǒng)且經(jīng)過(guò)初步編譯后的程序模塊。選擇“Windows窗口程序”,點(diǎn)擊“確定”按鈕,就會(huì)創(chuàng)建一個(gè)相應(yīng)的標(biāo)準(zhǔn)的Windows窗口程序,并可以看到易語(yǔ)言的主界面。易語(yǔ)言主界面的最上方是標(biāo)題欄,顯示易語(yǔ)言系統(tǒng)當(dāng)前打開的程序名稱,當(dāng)前所支持的操作系統(tǒng),以及當(dāng)前設(shè)計(jì)窗口名稱。標(biāo)題欄下方是菜單欄,有易語(yǔ)言的常用菜單。菜單欄下方是快捷命令按鈕工具條,一些常用的操作都可以通過(guò)點(diǎn)擊這些工具條中的按鈕實(shí)現(xiàn)。主界面的左邊是易語(yǔ)言的工作夾,其中有3個(gè)面板,分別是“支持庫(kù)面板”、“程序面板”和“屬性面板”?!爸С謳?kù)面板”的作用是:顯示支持庫(kù)列表,展開查看各支持庫(kù)提供的命令、數(shù)據(jù)類型等信息。在程序編輯狀態(tài)下,可以通過(guò)雙擊此面板中的某個(gè)命令,將其直接填充到光標(biāo)處。若有窗口組件的方法也可以在這個(gè)列表中查看方法的用處。將光標(biāo)移至某支持庫(kù)根部,按下F1后可查看此支持庫(kù)的介紹信息?!俺绦蛎姘濉钡淖饔檬牵合喈?dāng)于一個(gè)組織機(jī)構(gòu),可以添加窗口,或加載全局變量、常量、資源、DLL命令申明、自定義數(shù)據(jù)類型等。也可用來(lái)在程序各操作界面間進(jìn)行切換,例如可以直接找到某個(gè)創(chuàng)建的窗口中,或快速找到某個(gè)子程序,“屬性面板”的作用是:屬性表可查看和更改已添加組件的屬性、組件列表列出所有組件并可快速選擇所需組件,事件列表可生成此組件的事件子程序。最右邊是易語(yǔ)言的組件箱,里面列出了易語(yǔ)言提供的所有組件。分為四欄,“基本組件”欄可顯示易語(yǔ)言最基本常用的組件,即核心支持庫(kù)內(nèi)的組件,在本書基本組件章節(jié)中進(jìn)行介紹。“擴(kuò)展組件”包含擴(kuò)展支持庫(kù)內(nèi)的組件,在本書的后面有一些介紹?!巴獠拷M件”包含COM包裝支持庫(kù)所封裝的ActiveX組件,此組件也稱OCX組件?!巴獠渴录M件”包含COM包裝支持庫(kù)所封裝的COM事件組件。主界面中間是設(shè)計(jì)區(qū),在窗口設(shè)計(jì)時(shí)可自由向窗口中添加組件,進(jìn)行程序界面設(shè)計(jì);在程序代碼編輯狀態(tài)下可錄入、修改程序代碼。切換這兩個(gè)工作狀態(tài)可通過(guò)“窗口”菜單或“程序面板”等實(shí)現(xiàn)。最下方是易語(yǔ)言的狀態(tài)夾,可以查看幫助信息,查看調(diào)試文本等等。易語(yǔ)言系統(tǒng)界面如下圖所示。易語(yǔ)言主界面2.2.2菜單項(xiàng)目詳解下面以易語(yǔ)言默認(rèn)創(chuàng)建的“Windows窗口程序”介紹各菜單項(xiàng)目的功能。首先說(shuō)明的是,菜單欄中各項(xiàng)目名稱以及子項(xiàng)目菜單名稱前面帶有下劃線的字母是此項(xiàng)菜單的快捷鍵。只要項(xiàng)目上的文字未變灰,就可使用此項(xiàng)菜單的功能。其使用方法是:點(diǎn)擊鍵盤上的Alt鍵,易語(yǔ)言系統(tǒng)菜單欄中的第一個(gè)項(xiàng)“程序”被選中;點(diǎn)擊菜單欄中任意一項(xiàng)名稱前面的字母對(duì)應(yīng)的鍵盤上的按鍵,此項(xiàng)菜單被彈出;最后點(diǎn)擊子項(xiàng)目名稱前面的字母,即可實(shí)現(xiàn)菜單功能。而子項(xiàng)目菜單名稱后面的提示是此項(xiàng)功能的快捷方式,比起快捷鍵來(lái)說(shuō),使用更方便快捷。如:Ctrl+C鍵的功能是將所選內(nèi)容復(fù)制到系統(tǒng)粘貼板中,方法就是同時(shí)按下鍵盤上的兩個(gè)鍵或先按下Ctrl鍵然后再按下C鍵,而不需要彈出菜單。在實(shí)際操作中,快捷鍵和組合鍵的使用會(huì)大大提高菜單功能的實(shí)現(xiàn)速度,減少鼠標(biāo)的重復(fù)動(dòng)作。1.程序此菜單的功能是對(duì)程序文件項(xiàng)目的操作。(1)新建:建立新程序。彈出標(biāo)題為“新建:”的對(duì)話框,選擇創(chuàng)建不同類型的程序。前面已經(jīng)介紹過(guò),這里就不多講了。(2)打開:打開一個(gè)現(xiàn)有程序。彈出標(biāo)題為“請(qǐng)選擇易程序文件:”的打開文件對(duì)話框,選擇后綴為“*.e”的程序文件。(3)關(guān)閉:關(guān)閉當(dāng)前程序。關(guān)閉后“易語(yǔ)言”的程序設(shè)計(jì)窗口將被置空。(4)保存:保存當(dāng)前程序。新建程序沒有保存過(guò),將彈出“保存為:”對(duì)話框,提示編輯者選擇程序的保存位置和程序的名稱,以后此程序?qū)⒛J(rèn)這個(gè)保存位置,不會(huì)再?gòu)棾鎏崾?。?)另存為:將當(dāng)前程序以一個(gè)新文件名保存。將彈出“另存為:”對(duì)話框,提示編輯者選擇程序的新的保存位置或輸入程序的新的名稱進(jìn)行保存,同時(shí)將位置指向新保存的程序。(6)打印:打印當(dāng)前編輯窗口中的源程序。使用打印機(jī)打印當(dāng)前窗口中的源代碼。(7)配置:配置本程序的環(huán)境及作者信息。彈出“程序配置對(duì)話框”設(shè)置程序信息。該對(duì)話框可以將程序名稱、程序備注、作者信息等信息保存在生成后的EXE文件中,當(dāng)查看此EXE文件的屬性時(shí),這些信息會(huì)顯示出來(lái)。并且可以在這里為自己的程序設(shè)置圖標(biāo)。(8)最近打開的程序,可用鼠標(biāo)左鍵單擊打開被選擇程序,同時(shí)原有程序被關(guān)閉。(9)退出:退出系統(tǒng);提示保存文檔。被更改過(guò)或末被保存過(guò)的程序,將彈出信息框提示編輯者保存程序,然后退出系統(tǒng)。2.編輯此菜單中的項(xiàng)目可完成程序代碼的即時(shí)編輯功能,多在代碼設(shè)計(jì)區(qū)被選中時(shí)有效。(1)撤消:撤消最后一步操作。一步一步撤消自創(chuàng)建或打開程序后對(duì)程序的修改。(2)重復(fù):重新執(zhí)行先前已撤消的操作。一步一步還原自程序被創(chuàng)建或打開后的撤消的操作。(3)復(fù)制:復(fù)制被選塊并將其置于粘貼板上。復(fù)制被選中代碼或窗體、窗體組件到粘貼板,其原有內(nèi)容不會(huì)改變。(4)剪切:剪切被選塊并將其置于粘貼板上。相當(dāng)于將被選中代碼或窗體、窗體組件移動(dòng)到粘貼板中,其原有內(nèi)容被刪除。(5)粘貼:插入粘貼板內(nèi)容。將粘貼板的內(nèi)容插到程序中。其內(nèi)容是程序代碼,需要在代碼設(shè)計(jì)區(qū)中進(jìn)行插入;內(nèi)容是窗體組件,需要選中窗體才能插入;如果是窗體,只需激活易語(yǔ)言系統(tǒng),便可以將窗體插入到程序中。(6)刪除行:刪除當(dāng)前所選擇的塊或光標(biāo)當(dāng)前所在的行。(7)開始尋找:開始在程序中尋找指定文本。彈出“尋找對(duì)話框”,請(qǐng)求輸入被尋找的文本。其尋找范圍為當(dāng)前程序集。(8)尋找下一個(gè):在程序中尋找下一個(gè)指定文本。以光標(biāo)或已尋找到的文本為界,向代碼下方尋找。其尋找范圍為當(dāng)前程序集。(9)尋找上一個(gè):在程序中尋找上一個(gè)指定文本。以光標(biāo)或已尋找到的文本為界,向代碼上方尋找。其尋找范圍為當(dāng)前程序集。(10)尋找替換:在程序中尋找替換指定的文本。彈出“尋找替換對(duì)話框”,提示輸入被替換和替換成的文本。以光標(biāo)或已尋找到的文本為界,向下尋找或替換文本,也可以將當(dāng)前程序集中所有找到的指定文本進(jìn)行替換。(11)整體搜尋:在程序中尋找指定文本并列出所有找到的項(xiàng)目。在全局中尋找指定文本,包括常量數(shù)據(jù)表、數(shù)據(jù)類型表等所有在代碼設(shè)計(jì)區(qū)中以文本形式存在的指定項(xiàng)目。注:以上5項(xiàng)功能遇到收縮的子程序時(shí)將跳過(guò),不進(jìn)入其內(nèi)部尋找,忽略其中包括的指定文本。(12)收縮:將當(dāng)前子程序或塊內(nèi)的所有語(yǔ)句收縮顯示。(13)展開子程序:將當(dāng)前選中塊內(nèi)的所有被收縮子程序展開顯示。(14)屏蔽:屏蔽當(dāng)前所選中的代碼塊。把所選代碼行或代碼段設(shè)置為草稿,在調(diào)試和運(yùn)行程序時(shí)不被執(zhí)行。(15)解除屏蔽:解除屏蔽當(dāng)前所選中的代碼塊。把草稿行或被屏蔽的代碼設(shè)置為可執(zhí)行代碼。(16)導(dǎo)入其它程序:將其它易程序中的內(nèi)容全部導(dǎo)入到本程序中。打開標(biāo)題為“請(qǐng)選擇易程序文件”對(duì)話框,選擇程序文件插入到當(dāng)前程序中。被導(dǎo)入程序的“_啟動(dòng)窗口”以及其它與當(dāng)前程序重復(fù)的程序集名稱、窗口名稱后面將按順序被加入數(shù)字加以區(qū)別。 (17)置為只讀狀態(tài):設(shè)置為只讀狀態(tài)后將不允許所有修改操作的發(fā)生。(18)(19)添加一個(gè)新的流程控制命令,并將被選擇代碼塊放到此命令中。要使菜單功能有效,選擇代碼塊的方法是:選擇兩行或兩行以上的單行代碼;選擇一個(gè)或多個(gè)分支流程控制命令,必須把流程線外的一行選中,如下圖。其它選中方法無(wú)法實(shí)現(xiàn)。(20)(21)把選中的流程控制命令轉(zhuǎn)換為別的流程控制命令,它們之間可以互相轉(zhuǎn)換。但要注意的是,在轉(zhuǎn)換過(guò)程中,原來(lái)的程序流向有可能發(fā)生改變。3.查看顯示各功能工具和程序相關(guān)資源定義表。(1)查看自定義數(shù)據(jù)類型表(2)查看全局變量表(3)查看Dll命令定義表(4)查看常量數(shù)據(jù)表以上四項(xiàng)菜單的功能相同,都是將所選窗口放置到設(shè)計(jì)區(qū)的頂層。它們與工作夾中程序面板中的各項(xiàng)相互對(duì)應(yīng)。(5)預(yù)覽現(xiàn)行窗口,按Esc鍵退出預(yù)覽程序不能在此窗口中進(jìn)行調(diào)試。(6)在易語(yǔ)言界面上顯示和隱藏各功能工具。(7)與工作夾中程序面板中的相對(duì)項(xiàng)目功能相同。4.插入將所選項(xiàng)目自動(dòng)插入到對(duì)應(yīng)的設(shè)計(jì)區(qū)中,由編輯者按系統(tǒng)給定的格式填寫代碼。(1)根據(jù)現(xiàn)行編輯窗口的性質(zhì)插入一個(gè)新子程序/數(shù)據(jù)類型/全局變量/Dll命令/常量/資源到當(dāng)前位置。(2)插入一個(gè)新類模塊。(3)插入一個(gè)新程序集。(4)插入一個(gè)新的子程序到當(dāng)前位置的后面。(5)插入一個(gè)新窗口。(6)插入一個(gè)新的自定義數(shù)據(jù)類型到數(shù)據(jù)類型表。(7)插入一個(gè)新的全局變量到全局變量表。(8)插入一個(gè)新的Dll命令到Dll命令表。(9)插入一個(gè)新的常量到常量數(shù)據(jù)表。(10)插入一個(gè)新參數(shù)到程序中當(dāng)前命令或子程序調(diào)用的參數(shù)表。(11)插入一個(gè)新局部變量到子程序局部變量表。(12)在當(dāng)前編輯光標(biāo)位置處插入所選擇文件的全路徑名稱。(13)向資源表中添加數(shù)據(jù)資源,如:文本文件、聲音圖片文件以及其它類型文件。5.?dāng)?shù)據(jù)庫(kù)使用易語(yǔ)言系統(tǒng)提供的數(shù)據(jù)庫(kù)工具,創(chuàng)建、編輯、轉(zhuǎn)換、設(shè)置數(shù)據(jù)庫(kù)相關(guān)內(nèi)容。(1)瀏覽或修改指定數(shù)據(jù)庫(kù)的結(jié)構(gòu)。本功能由dbmanger.e編譯后的程序提供,用戶可以根據(jù)需要進(jìn)行修改。(2)瀏覽或修改指定數(shù)據(jù)庫(kù)的記錄。本功能由dbmanger.e編譯后的程序提供,用戶可以根據(jù)需要進(jìn)行修改。(3)將數(shù)據(jù)庫(kù)中數(shù)據(jù)所使用的語(yǔ)言轉(zhuǎn)換到另外一種。(4)可以將其它類型的數(shù)據(jù)庫(kù)通過(guò)ODBC轉(zhuǎn)換為易數(shù)據(jù)庫(kù)。(5)設(shè)置指定數(shù)據(jù)庫(kù)的訪問密碼。(6)將指定數(shù)據(jù)庫(kù)的名稱及所有字段名作為文本常量加入到系統(tǒng)常量表,以便在程序中使用。6.運(yùn)行程序調(diào)試工具菜單。提供多種功能,用來(lái)查看、跟蹤、掛起程序。具體使用方法請(qǐng)參見第七課。(1)編譯現(xiàn)行易程序的調(diào)試版本.EXE文件后立即運(yùn)行。(2)終止現(xiàn)行易程序的運(yùn)行。(3)查看/修改指定表達(dá)式或變量的內(nèi)容。(4)在程序現(xiàn)行運(yùn)行位置單步執(zhí)行一行程序,如果此程序調(diào)用了子程序,系統(tǒng)不會(huì)跟蹤到該子程序中去。(5)在程序現(xiàn)行運(yùn)行位置單步執(zhí)行一行程序,如果此程序行調(diào)用了子程序,則跟蹤進(jìn)入子程序。(6)在上級(jí)子程序調(diào)用現(xiàn)行子程序的語(yǔ)句后中斷。(7)運(yùn)行易程序,在當(dāng)前光標(biāo)所處程序行處中斷。(8)設(shè)置或清除當(dāng)前程序行處的斷點(diǎn)。(9)設(shè)置或修改當(dāng)前程序行處的條件斷點(diǎn)。(10)清除掉程序中的所有斷點(diǎn)。(11)跳到現(xiàn)行即將被執(zhí)行語(yǔ)句的位置。7.編譯對(duì)已注冊(cè)用戶,提供三種不同的方法,將源代碼創(chuàng)建成可執(zhí)行的EXE程序文件。(1)編譯現(xiàn)行易程序的最終發(fā)布版本,創(chuàng)建對(duì)應(yīng)的.EXE可執(zhí)行程序文件。(2)編譯出可執(zhí)行EXE文件,該文件不依賴任何易語(yǔ)言系統(tǒng)文件,可以在未安裝易語(yǔ)言系統(tǒng)的電腦上運(yùn)行。(3)制作當(dāng)前易語(yǔ)言程序的安裝軟件,該軟件不依賴任何易語(yǔ)言系統(tǒng)文件,可以在未安裝易語(yǔ)言系統(tǒng)的電腦上運(yùn)行并安裝指定易語(yǔ)言程序。8.工具易語(yǔ)言系統(tǒng)提供的多種附加工具,可用來(lái)管理和配置易語(yǔ)言的擴(kuò)展功能。(1)調(diào)用菜單編輯器編輯修改當(dāng)前窗口的菜單。(2)編輯報(bào)表模板文件。(3)管理系統(tǒng)中的易模塊。(4)執(zhí)行指定的易向?qū)募?。?)安裝新的支持庫(kù)或制作支持庫(kù)安裝包。(6)本工具可以封裝指定的COM類型庫(kù)或OCX組件,使其能夠在易語(yǔ)言中被使用。(7)配置當(dāng)前在系統(tǒng)中使用的支持庫(kù)。(8)設(shè)置與系統(tǒng)相關(guān)的配置信息。可以打開易語(yǔ)言的系統(tǒng)配置對(duì)話框,通過(guò)調(diào)整該對(duì)話框中各項(xiàng)屬性的參數(shù),可以自定義界面各部位顏色,可以選擇各種配色方案,還可以對(duì)內(nèi)置輸入法等很多方面進(jìn)行配置。9.窗口設(shè)置已被載入設(shè)計(jì)窗口的排列方式以及已被載入設(shè)計(jì)窗口的名稱、隸屬和類型。(1)排列窗口成相互重疊。(2)排列窗口成互不重疊。(3)將圖標(biāo)排列在窗口底部。(4)將活動(dòng)的窗口分隔成窗格。(5)已被激活的設(shè)計(jì)窗口。(6)已被載入的設(shè)計(jì)窗口。10.幫助易語(yǔ)言幫助和易語(yǔ)言系統(tǒng)信息。(1)在狀態(tài)夾中顯示有關(guān)當(dāng)前位置的幫助信息。(2)打開并顯示易語(yǔ)言知識(shí)庫(kù)。需要安裝知識(shí)庫(kù)文件,方可使用。(3)顯示每日一貼。(4)提供有關(guān)易語(yǔ)言支持庫(kù)的幫助信息。(5)(6)(7)顯示程序和程序注冊(cè)信息。2.2.3上機(jī)操作1.在設(shè)計(jì)窗口中添加組件從組件組件箱中選出所需的組件添加在設(shè)計(jì)窗口中,只需要用鼠標(biāo)左鍵在組件箱中點(diǎn)擊欲添加的組件,使其處于選中狀態(tài),然后在設(shè)計(jì)窗口中左鍵單擊或按住鼠標(biāo)左鍵拖動(dòng),拉出一個(gè)組件即可。添加后的組件可以通過(guò)拖動(dòng)鼠標(biāo)改變其位置和大小,也可以使用方向鍵來(lái)微調(diào)組件的位置,還可以按住[Shift鍵+方向鍵]來(lái)微調(diào)組件的大小。2.命令參數(shù)的輸入易語(yǔ)言提供的參數(shù)引導(dǎo)輸入功能,減少了記憶量,更節(jié)省了編程的時(shí)間,極大降低了程序錄入的錯(cuò)誤。對(duì)于參數(shù)較多的命令,程序員不需要再花時(shí)間去查詢參數(shù)的意義,可以直接將命令展開輸入,方法:將光標(biāo)停在欲展開的命令行上,如果當(dāng)前行沒有通過(guò)編譯,則不能展開命令,可以使用[Shift+Enter]鍵來(lái)編譯當(dāng)前行,然后按下[ALT+右方向鍵],該命令就會(huì)被展開,各參數(shù)都列在了該命令的下面,可以直接在命令下的參數(shù)分支上輸入。3.即時(shí)幫助信息易語(yǔ)言編程環(huán)境在用戶進(jìn)行任何操作的同時(shí),會(huì)將有關(guān)的支持信息在提示面板中顯示出來(lái),若不能即可提示,可以使用以下介紹的方法:隨時(shí)按下“F1鍵”使用可隨時(shí)得到與主題相關(guān)的幫助信息。即時(shí)幫助信息可顯示系統(tǒng)中各運(yùn)行支持庫(kù)內(nèi)的命令、庫(kù)定義數(shù)據(jù)類型、庫(kù)定義常量等等信息。直接在工作夾內(nèi)的支持庫(kù)面板中找到并單擊欲查找信息的項(xiàng)目,此時(shí)所有的相關(guān)信息將會(huì)顯示在狀態(tài)夾的提示面板中。如果欲將這些信息提取出來(lái)打印或者以后閱讀,可以在相應(yīng)項(xiàng)目上單擊鼠標(biāo)右鍵,在彈出菜單中選擇“拷貝幫助文本到剪貼板”或者“寫幫助文本到文件”,輸出與該項(xiàng)目及該項(xiàng)目所有子項(xiàng)目相關(guān)的幫助信息,供電腦中瀏覽或打印出來(lái)閱讀。4.備注和屏蔽的方法備注是一行或一段代碼的提示和說(shuō)明。編寫代碼時(shí)要養(yǎng)成一個(gè)良好的習(xí)慣,就是給部分代碼輸入備注信息,這樣一來(lái),既方便了自己日后閱讀,又方便其他人更快的理解程序代碼的思路和功能。輸入方法:在備注文字前加“’”號(hào),則該符號(hào)后的本行文字變?yōu)閭渥ⅲ谳斎氪a時(shí),可以在代碼的旁邊或代碼的下方輸入備注。在任何情況下,如果想屏蔽一行代碼,則在該行代碼前加“’”號(hào),和置為備注的方法相同,屏蔽后的代碼在運(yùn)行調(diào)試時(shí)不會(huì)被編譯,調(diào)試程序?qū)ふ义e(cuò)誤時(shí),該方法會(huì)起到很大作用。將代碼前的“’”號(hào)刪除便可以解除屏蔽。還可以在代碼上點(diǎn)擊鼠標(biāo)右鍵,彈出的菜單中也有“屏蔽”和“解除屏蔽”選項(xiàng)。也可使用[Ctrl+K鍵]進(jìn)行屏蔽,選中多行代碼,然后使用[Ctrl+K鍵]來(lái)屏蔽多行代碼,然后可以使用[Ctrl+M鍵]來(lái)解除屏蔽。以上四種操作只是編寫代碼時(shí)的基本操作方法,其他細(xì)節(jié)上的使用,將在以后的相關(guān)地方加以詳解。2.4變量在程序運(yùn)行中可以改變的量,稱為變量。變量實(shí)際上是常量的名字,只不過(guò)在程序運(yùn)行的不同時(shí)刻可能代表不同的常量罷了。一個(gè)變量名好象旅館的一個(gè)房間標(biāo)記,今天可以住張三,明天可以住李四。任何一個(gè)變量參與運(yùn)算時(shí),總是取它所代表的具體數(shù)據(jù)(即常量)來(lái)進(jìn)行,可以代表一個(gè)具體的數(shù)據(jù)(即常量),或代表一組數(shù)據(jù)。變量的聲明方法:①將光標(biāo)移到某個(gè)子程序中(包括子程序被聲明的表格中或子程序中的空白處),使用“Ctrl+L鍵”生成下面的空白表格;②生成的空白表格;③按“回車鍵”添加新的空白行;④輸入變量的名稱,除“_”外不能有任何符號(hào)和標(biāo)點(diǎn);⑤輸入變量的數(shù)據(jù)類型,也可以按“空格鍵”彈出數(shù)據(jù)類型表從中選擇;⑥可按“空格鍵”選中/取消,如被選中,子程序第二次被調(diào)時(shí)變量值就不會(huì)自動(dòng)還原到初始值;⑦用來(lái)定義變量的數(shù)組維數(shù)和成員數(shù)(如:2,3),可以使變量保存一組數(shù)據(jù),其默認(rèn)(為空)只能保存一個(gè)具體的數(shù)據(jù);⑧注解變量的作用和在程序中相關(guān)信息。一旦它被聲明之后,就可以使用賦值運(yùn)算符“=”,給它分配值(數(shù)據(jù))。2.4.1變量的作用范圍從變量的使用范圍來(lái)區(qū)分,可以將變量分為“局部變量”、“程序集變量”和“全局變量”。局部變量,只能在其所在的子程序中才能被調(diào)用的變量,其他子程序都無(wú)法調(diào)用。因?yàn)樽映绦虮徽{(diào)用的時(shí)候,這種變量才占用系統(tǒng)的內(nèi)存,當(dāng)子程序執(zhí)行結(jié)束后,變量所占空間被系統(tǒng)收回,因此局部變量是非常節(jié)省系統(tǒng)內(nèi)存的。程序集變量,一般情況下僅在本程序集中被調(diào)用。程序集變量所在的程序集中的所有子程序,都可以自由訪問程序集變量,多個(gè)子程序都需要訪問的數(shù)據(jù),可以使用程序集變量來(lái)存儲(chǔ)。屬于靜態(tài)變量。全局變量,在程序運(yùn)行后,所有程序集內(nèi)子程序都可以使用的變量。也是覆蓋范圍最大的變量。這種變量在程序運(yùn)行后即占用內(nèi)存空間,在程序運(yùn)行結(jié)束才從內(nèi)存中清除,所以會(huì)長(zhǎng)時(shí)間占用系統(tǒng)資源,建議根據(jù)程序的實(shí)際情況適當(dāng)使用。在選擇使用變量的類型時(shí),盡量選擇符合該變量使用范圍的變量類型,以節(jié)省系統(tǒng)內(nèi)存。2.4.2變量的賦值賦值語(yǔ)句是使變量取得數(shù)據(jù)的常用方法之一。給變量賦值的時(shí)候要注意變量的數(shù)據(jù)類型,符合各數(shù)據(jù)類型的賦值規(guī)則即可。變量的賦值還有幾個(gè)需要注意的地方,例如:1.給數(shù)值型數(shù)據(jù)賦值時(shí),數(shù)據(jù)會(huì)自動(dòng)轉(zhuǎn)換類型任意數(shù)值類型的數(shù)據(jù)可以被寫入到其它任意數(shù)值類型的變量中,系統(tǒng)將自動(dòng)進(jìn)行轉(zhuǎn)換。例如將一個(gè)短整數(shù)寫入到整數(shù)型變量中,將一個(gè)整數(shù)寫入到小數(shù)型變量中等等,但是此時(shí)必須注意防止上一章中所提到的溢出問題。若將小數(shù)型變量寫入到整數(shù)型變量時(shí),會(huì)丟失小數(shù)點(diǎn)后的內(nèi)容,請(qǐng)大家千萬(wàn)注意使用,最好轉(zhuǎn)換類型是一一對(duì)應(yīng)。2.使用“連續(xù)賦值()”命令給多個(gè)變量同時(shí)賦值“連續(xù)賦值()”命令有2個(gè)參數(shù),第一個(gè)參數(shù)是用做賦予的值和資源,第二個(gè)參數(shù)是被賦值的變量或變量數(shù)組,第二個(gè)參數(shù)可以重復(fù)添加,即可以添加多個(gè)被賦值的變量,例如:連續(xù)賦值(100,變量1,變量2,變量3,變量4)命令運(yùn)行后,將會(huì)給變量1、變量2、變量3和變量4同時(shí)賦值100。這一行代碼相當(dāng)于以下四行代碼:變量1=100變量2=100變量3=100變量4=100以上代碼是最基本也是最典型的賦值語(yǔ)句。其格式為:變量名=表達(dá)式功能是:把“=”號(hào)右端的表達(dá)式的值賦予“=”號(hào)左端的變量。或者說(shuō),讓“=”號(hào)左端的變量取“=”號(hào)右端表達(dá)式的值?!?”號(hào),稱為賦值符號(hào),不同于數(shù)學(xué)上的等于號(hào)。3.賦值程序例在數(shù)學(xué)上,變量1=變量1+1是矛盾的方程,不存在這樣的“變量1”。而在易語(yǔ)言中,這類語(yǔ)句是屢見不鮮的。它執(zhí)行的結(jié)果是在舊“變量1”取值的基礎(chǔ)上讓“變量1”取得一個(gè)新值。也就是改變“變量1”所代表的數(shù)值。上面那個(gè)語(yǔ)句執(zhí)行的結(jié)果就是讓“變量1”增大1。如果使用變量1+變量2=100+100或變量1+變量2=變量3+變量4)都是錯(cuò)誤的。因?yàn)橘x值語(yǔ)句的格式中,要求賦值符號(hào)的左端必須為一個(gè)變量名。而這里的“變量1+變量2”不是變量名(它不符合變量名的構(gòu)成規(guī)則)。例1.某學(xué)生5門功課的考試成績(jī)分別為75,82,90,63,84。求該生的考試總分和平均分。“Windows控制臺(tái)程序”代碼如下:按“F5鍵”運(yùn)行程序,分別將對(duì)應(yīng)的分?jǐn)?shù)輸入,程序便將計(jì)算結(jié)果輸出顯示。2.4.3變量的初始值變量的初始值即一種變量在程序運(yùn)行時(shí),沒有賦予新值前的初始數(shù)據(jù)。每一種數(shù)據(jù)類型的變量初始值都有所不同。像文本型變量的初始值是一個(gè)空文本,表示為“”,數(shù)值型變量的初始值是0等等。下表所示。變量的初始值變量類型變量初始值初始值在代碼中的表示方法數(shù)值型00邏輯型假假日期時(shí)間型1899年12月30日[1899年12月30日]文本型空文本“”字節(jié)集型空字節(jié)集{}大家可以制作一個(gè)簡(jiǎn)單的例程,來(lái)查看各種變量的初始值。新建一個(gè)“Windows控制臺(tái)程序”,在“_啟動(dòng)子程序”新建10個(gè)局部變量,并分別將變量名改為“字節(jié)變量”、“短整數(shù)變量”、“整數(shù)變量”、“長(zhǎng)整數(shù)變量”、“小數(shù)變量”、“雙精度小數(shù)變量”、“邏輯變量”、“日期時(shí)間變量”、“文本變量”、“字節(jié)集變量”,然后根據(jù)變量名定義相應(yīng)的數(shù)據(jù)類型,并輸入代碼:標(biāo)準(zhǔn)輸出(,字節(jié)變量,#換行符,短整數(shù)變量,#換行符,整數(shù)變量,#換行符,長(zhǎng)整數(shù)變量,#換行符,小數(shù)變量,#換行符,雙精度小數(shù)變量,#換行符,邏輯變量,#換行符,日期時(shí)間變量,#換行符,文本變量,#換行符,到文本(字節(jié)集變量))標(biāo)準(zhǔn)輸入()按“F5鍵”試運(yùn)行程序,控制臺(tái)窗口將10個(gè)變量的值分行顯示出來(lái),由于沒有對(duì)這些變量進(jìn)行賦值,所以畫板顯示的是這些變量的初始值。如一個(gè)變量未被賦值時(shí),將取零值或空文本?!癢indows控制臺(tái)程序”代碼如下:按“F5鍵”運(yùn)行程序,其中“數(shù)值型”的輸出為“1”;“文本型”的輸出值是“文本”。數(shù)值型=數(shù)值型+1文本型=文本型+“文本”以上兩行代碼在計(jì)算時(shí)相當(dāng)于數(shù)值型=0+1文本型=“”+“文本”2.4.4靜態(tài)局部變量“靜態(tài)”屬性是局部變量的重要屬性。具有“靜態(tài)”屬性的局部變量稱為“靜態(tài)局部變量”。靜態(tài)局部變量在子程序運(yùn)行完畢后仍保留其內(nèi)容;而非靜態(tài)變量,即普通局部變量,在每次進(jìn)入子程序時(shí)都被重新初始化。靜態(tài)變量大致相當(dāng)于“局部變量”和“全局變量”的結(jié)合:它具有局部變量的作用域,同時(shí)具有全局變量的生命周期。靜態(tài)變量的定義和取消定義的方法很簡(jiǎn)單,在欲定義的局部變量的靜態(tài)屬性上點(diǎn)擊鼠標(biāo)左鍵,當(dāng)靜態(tài)屬性上出現(xiàn)“√”后,即表示定義了一個(gè)靜態(tài)變量,當(dāng)再次點(diǎn)擊將“√”去掉,即表示取消定義。也可以在靜態(tài)屬性上按空格鍵,也可以定義和取消變量的靜態(tài)屬性。下面編寫一個(gè)簡(jiǎn)單的程序,來(lái)測(cè)試變量的靜態(tài)屬性。新建一個(gè)“Windows控制臺(tái)程序”,并在“_啟動(dòng)子程序”中新建2個(gè)局部變量。一個(gè)變量名定義為“靜態(tài)變量”;另一個(gè)變量名定義為“非靜態(tài)變量”。都為整數(shù)型變量。將“靜態(tài)變量”設(shè)置為靜態(tài)屬性。輸入代碼:按“F5鍵”試運(yùn)行程序,輸入一個(gè)數(shù),然后按“回車鍵”。會(huì)顯示2行內(nèi)容,其中第二行的數(shù)字是不變的,顯示的是非靜態(tài)變量中的數(shù)據(jù);而第一行的數(shù)字每次都遞增,顯示的是靜態(tài)變量中的數(shù)據(jù)。分析代碼可以發(fā)現(xiàn):非靜態(tài)變量的值每次后,都會(huì)恢復(fù)它的初始值,所以代碼:非靜態(tài)變量=非靜態(tài)變量+輸入值其實(shí)等于代碼:非靜態(tài)變量=0+輸入值靜態(tài)變量會(huì)保存上次的值,所以總是遞增的。2.5易語(yǔ)言的數(shù)據(jù)類型在講述變量之后和講述常量之前,有必要介紹易語(yǔ)言中不同的數(shù)據(jù)類型。數(shù)據(jù)類型包括:數(shù)值型、邏輯型、日期時(shí)間型等。2.5.1了解數(shù)據(jù)類型易語(yǔ)言中基本數(shù)據(jù)類型有6種,包括數(shù)值型、邏輯型、日期時(shí)間型、文本型、字節(jié)集型、子程序指針型。字節(jié)型??扇菁{0到255之間的數(shù)值。數(shù)值型中整數(shù)型數(shù)據(jù),如:13556。邏輯型數(shù)據(jù),只能有2種值,即“真”或“假”。日期時(shí)間型數(shù)據(jù),用來(lái)記錄日期及時(shí)間,如:[2002-2-2]。文本型數(shù)據(jù),可用來(lái)記錄一段文本,如:“中文編程易語(yǔ)言”。在程序中表示一段文本數(shù)據(jù),都要用雙引號(hào)將文本引起來(lái)。字節(jié)集型數(shù)據(jù),用作記錄一段字節(jié)型數(shù)據(jù),表示為{23456754}。圖片或mp3格式的文件是典型的字節(jié)集型數(shù)據(jù),在程序中,存放此類數(shù)據(jù)的變量一定要定義為字節(jié)集型。子程序指針型數(shù)據(jù),是一個(gè)子程序在內(nèi)存中的地址。2.5.2給變量正確賦值定義了變量的數(shù)據(jù)類型后,要給變量賦值就應(yīng)注意賦值的類型要和變量類型相同。例如:文本變量=“中文編程易語(yǔ)言”‘給文本變量賦值整數(shù)變量=32342‘給整數(shù)變量賦值日期時(shí)間變量=[1982年1月1日]‘給日期時(shí)間型的變量賦值字節(jié)集變量=#圖片‘給字節(jié)集變量賦值,圖片1圖片資源表中的資源這里要注意,給“子程序指針”類型的變量賦值,表示為“&”+要指向的子程序名。例如:變量=&子程序12.5.3數(shù)據(jù)的比較在編程中,經(jīng)常會(huì)在各種數(shù)據(jù)間進(jìn)行比較。同種數(shù)據(jù)類型之間進(jìn)行比較,可以直接進(jìn)行;而不同種數(shù)據(jù)之間進(jìn)行比較,就要先進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,將不同種的數(shù)據(jù)類型轉(zhuǎn)換為同一種數(shù)據(jù)類型后才能進(jìn)行比較,否則程序會(huì)報(bào)錯(cuò)。例如:編輯框中輸入了一個(gè)整數(shù),要比較編輯框中的內(nèi)容是否大于50。由于編輯框中的內(nèi)容是一個(gè)文本,首先要將編輯框中的內(nèi)容轉(zhuǎn)換成整數(shù)型數(shù)據(jù)后,再進(jìn)行比較,輸入以下代碼:到數(shù)值(編輯框1.內(nèi)容)>50比較后,會(huì)返回一個(gè)邏輯值,如果大于50就會(huì)返回真,小于或等于50將返回假。易語(yǔ)言中常用的數(shù)據(jù)類型間轉(zhuǎn)換的命令有:“到數(shù)值()”命令,用來(lái)將一個(gè)通用型數(shù)據(jù)轉(zhuǎn)換到整數(shù)型。“到文本()”命令,用來(lái)將一個(gè)通用型數(shù)據(jù)轉(zhuǎn)換到文本型。“到字節(jié)集()”命令,用來(lái)將一個(gè)通用型數(shù)據(jù)轉(zhuǎn)換到字節(jié)集型。“從字節(jié)集轉(zhuǎn)換()”命令,用來(lái)將一個(gè)字節(jié)集型的數(shù)據(jù)轉(zhuǎn)換成通用型數(shù)據(jù),命令的第2個(gè)參數(shù)控制欲轉(zhuǎn)換成的數(shù)據(jù)類型。“到時(shí)間()”命令,用來(lái)將一個(gè)文本型的數(shù)據(jù)轉(zhuǎn)換成日期時(shí)間型。使用這些數(shù)據(jù)類型間互相轉(zhuǎn)換的命令,就可以進(jìn)行不同數(shù)據(jù)類型間的比較了。例如:比較2個(gè)編輯框中數(shù)的大小,用信息框顯示出比較的結(jié)果,并用第3個(gè)編輯框顯示出較大數(shù)減較小數(shù)的結(jié)果。在窗口中添加3個(gè)編輯框組件和一個(gè)按鈕組件,雙擊按鈕組件,然后輸入代碼:變量之間的比較也是一樣,一定要注意變量的數(shù)據(jù)類型,不同數(shù)據(jù)類型的變量一定要轉(zhuǎn)換成相同類型后再進(jìn)行比較。2.5.4數(shù)據(jù)類型的存儲(chǔ)字節(jié)與溢出1.?dāng)?shù)據(jù)類型的存儲(chǔ)字節(jié)各種數(shù)值型的數(shù)據(jù)都在內(nèi)存中占用一定的存儲(chǔ)空間。字節(jié)(byte)是系統(tǒng)中的基本存儲(chǔ)單位。數(shù)據(jù)類型所占字節(jié)數(shù)越多,所能夠容納數(shù)值的范圍就越大。參見表2-1。表2-1常用數(shù)據(jù)類型數(shù)據(jù)類型名稱占用字節(jié)數(shù)取值范圍字節(jié)型10到255短整數(shù)型2-32,768到32,767整數(shù)型4-2,147,483,648到2,147,483,647長(zhǎng)整數(shù)型8-9,223,372,036,854,775,808到9,223,372,036,854,775,807小數(shù)型4-3.4E38到3.4E38(7位小數(shù))雙精度小數(shù)型8-1.7E308到1.7E308(15位小數(shù))邏輯型2“真”或“假”,日期時(shí)間型8100年1月1日到9999年12月31日子程序指針4尺寸為4個(gè)字節(jié)。具有此數(shù)據(jù)類型的變量可以用來(lái)間接調(diào)用子程序。文本型由以字節(jié)0結(jié)束的一系列字符組成字節(jié)集一段字節(jié)型數(shù)據(jù)從上表可以看出,數(shù)值型數(shù)據(jù)容納的數(shù)值范圍越大,占用的字節(jié)就越多。比如,短整數(shù)型的數(shù)值3000和整數(shù)型的數(shù)值3000,都代表了數(shù)值3000,但在系統(tǒng)中占用的空間卻不同,即短整數(shù)型占2個(gè)字節(jié),整數(shù)型占4個(gè)字節(jié)。所以,在實(shí)際應(yīng)用時(shí)就要根據(jù)自己的需要來(lái)選擇使用的數(shù)據(jù)類型,避免存儲(chǔ)空間的浪費(fèi)。例如,存儲(chǔ)的數(shù)據(jù)在-32768至32767以內(nèi),就要采用短整數(shù)型;如果使用小數(shù)而對(duì)精度不高,就可以使用小數(shù)型而不用采用雙精度小數(shù)型等等。2.?dāng)?shù)據(jù)的溢出某數(shù)據(jù)類型存儲(chǔ)的值超出了其所能容納的范圍,就會(huì)發(fā)生數(shù)據(jù)溢出錯(cuò)誤。比如,讓短整數(shù)型數(shù)據(jù)存放大于32767的數(shù)值,將會(huì)得到錯(cuò)誤的結(jié)果。所以在選擇數(shù)據(jù)類型時(shí),除了要避免空間的浪費(fèi),又要防止數(shù)據(jù)的溢出??梢宰鲆粋€(gè)簡(jiǎn)單例程來(lái)測(cè)試一下數(shù)據(jù)的溢出,新建一個(gè)“Windows控制臺(tái)程序”,然后在“_啟動(dòng)子程序”中首先按下Ctrl+L鍵,新建一個(gè)變量,并定義變量名為“整數(shù)變量”,變量類型為整數(shù)型,然后輸入代碼:最后按“F5鍵”試運(yùn)行程序,輸入一個(gè)很大的數(shù)(比如:10000000000),然后按“回車鍵”,如果超出整數(shù)型變量容納范圍而產(chǎn)生溢出,會(huì)顯示出錯(cuò)誤的結(jié)果。2.5.5自定義數(shù)據(jù)類型除了使用易語(yǔ)言提供的數(shù)據(jù)類型以外,還可以根據(jù)需要自定義新的數(shù)據(jù)類型。例如要定義一個(gè)數(shù)據(jù)類型“矩形”,定義方法如下:第一步,新建一個(gè)“Windows窗口程序”,雙擊程序面板中的“自定義數(shù)據(jù)類型”。第二步,在自定義數(shù)據(jù)類型界面按下Ctrl+N鍵,新建一個(gè)數(shù)據(jù)類型。然后將數(shù)據(jù)類型名定義為“矩形”,由于決定一個(gè)矩形的位置取決于矩形左上點(diǎn)的橫縱坐標(biāo)和矩形右下點(diǎn)的橫縱坐標(biāo)。所以,在“成員名”上按4次回車,加入4個(gè)成員。將4個(gè)成員名分別定義為“左上橫坐標(biāo)”、“左上縱坐標(biāo)”、“右下橫坐標(biāo)”、“右下縱坐標(biāo)”。最后,就要來(lái)使用這個(gè)自定義的數(shù)據(jù)類型了。畫板有一個(gè)方法是“畫矩形()”,下面就用自定義的數(shù)據(jù)類型“矩形”來(lái)為畫矩形方法填寫參數(shù)。在窗口中添加一個(gè)畫板組件和一個(gè)按鈕組件,雙擊按鈕組件,在“_按鈕1_被單擊”子程序中新建一個(gè)變量,變量名為“矩形”,然后定義變量的數(shù)據(jù)類型為“矩形”,然后輸入代碼:代碼輸入后試運(yùn)行程序,點(diǎn)擊按鈕,畫板會(huì)以畫板的邊框大小畫一個(gè)矩形。2.6常量常量,其值在使用過(guò)程中不會(huì)發(fā)生變化的變量,稱為常量。比如數(shù)字15,不管程序如何變化,它永遠(yuǎn)是數(shù)字15。核心支持庫(kù)中已經(jīng)定義了大量常量,其它支持庫(kù)通常也會(huì)定義一些常量,用戶也可以在程序中定義自己的常量。各種圖片或聲音等資源都被看作常量,要想在程序中隨時(shí)調(diào)用,可以將其存放在資源表中,這樣在編程時(shí)不但可以隨時(shí)調(diào)用,而且資源表中的資源會(huì)和程序一起編譯到可執(zhí)行文件里面。2.6.1了解常量常量是一個(gè)固定的量,其值不可以被改變。易語(yǔ)言中規(guī)定了一些常量,這些常量都有固定的值,例如易語(yǔ)言中的“#藍(lán)色”代表了數(shù)值16711680、“#F鍵”代表了數(shù)值70,所以在程序中使用“#藍(lán)色”其實(shí)是調(diào)用了“16711680”這個(gè)顏色值。核心支持庫(kù)定義了許多常量,這些常量可以直接用#常量名即可調(diào)用,有數(shù)值型常量,如顏色值:#藍(lán)色、#綠色;有文本型的常量,如:#引號(hào)等等。擴(kuò)展支持庫(kù)也有許多常量的定義,并且新增加的支持庫(kù)中,有的也會(huì)增加新的常量。2.6.2ASCII碼ASCII碼是各種計(jì)算機(jī)通用的一種常量。例如字符a的ASCII碼是97、字符b的ASCII碼是98等等,參見下表所示。可以使用易語(yǔ)言中的“字符()”和“取代碼()”命令,在ASCII碼和字符之間進(jìn)行轉(zhuǎn)換。例如:信息框(取代碼(“a”,1),0,)信息框會(huì)顯示“a”的ASCII碼。常用ASCII碼表ASC值對(duì)應(yīng)字符ASC值對(duì)應(yīng)字符ASC值對(duì)應(yīng)字符ASC值對(duì)應(yīng)字符032(space)0568080P104h033!0579081Q105i034"058:082R106j035#059;083S107k036$060<084T108L037%061=085U109M038&062>086V110N039'063?087W111O040(064@088X112P041)065A089Y113Q042*066B090Z114R043+067C091[115S044,068D092\116T045-069E093]117U046.070F094^118V047/071G095_119W0480072H096`120X0491073I097a121Y0502074J098b122Z0513075K099c123{0524076L100d124|0535077M101e125}0546078N102f126~0557079O103g127□2.6.3常量的使用下面就介紹常量的使用方法:(1)顏色值常量的使用有顏色屬性的組件,在顏色屬性上都有一個(gè)顏色選擇器,用來(lái)直接改變顏色,顏色選擇器上可直接選擇顏色的顏色值都作為常量提供,在調(diào)用的時(shí)候直接輸入“#顏色名”即可,如:標(biāo)簽1.背景顏色=#天藍(lán)(2)“#換行符”的使用一段文本尾部加入了一個(gè)“#換行符”,接在換行符后面的文本將另起一行,相當(dāng)于在記事本中輸入的回車鍵。如果想讓編輯框顯示一段文本并自動(dòng)換行,就需要使用換行符,將“#換行符”加到欲換行文本的前面即可,如:編輯框1.是否允許多行=真編輯框1.內(nèi)容=“易語(yǔ)言”+#換行符+“編程可視化”(3)“#引號(hào)”、“#左引號(hào)”、“#右引號(hào)”為了不和代碼中表示文本數(shù)據(jù)的引號(hào)相沖突,程序中將文本的引號(hào)作為了一個(gè)文本常量,如果要讓編輯框顯示出一個(gè)引號(hào),就要使用“#引號(hào)”常量,要顯示中國(guó)標(biāo)點(diǎn)中的引號(hào),就要使用常量“#左引號(hào)”、“#右引號(hào)”。例如:讓編輯框顯示出:“我愛易語(yǔ)言,我愛編程!”,需要輸入以下代碼:編輯框1.內(nèi)容=#左引號(hào)+“我愛易語(yǔ)言,我愛編程!”+#右引號(hào)(4)鍵代碼的使用易語(yǔ)言中,將標(biāo)準(zhǔn)的101鍵盤上所有鍵的鍵代碼都作為了核心支持庫(kù)定義的常量,在程序中使用只需要輸入“#”+鍵名,如鍵盤上的F11的鍵代碼,在易語(yǔ)言中用常量表示為:#F11鍵。例如,在向編輯框中輸入內(nèi)容的時(shí)候,想簡(jiǎn)單的屏蔽掉某個(gè)鍵,就可以在編輯框的“按下某鍵”事件子程序中輸入代碼。(5)用常量填寫參數(shù)很多命令參數(shù)填入的都是常量,如:“時(shí)間到文本”命令,此命令將指定時(shí)間轉(zhuǎn)換為文本并返回。第1個(gè)參數(shù)為“欲轉(zhuǎn)換到文本的時(shí)間”,而第2個(gè)參數(shù)值可以為以下常量:1、#全部轉(zhuǎn)換;2、#日期部分;3、#時(shí)間部分。在填寫第二個(gè)參數(shù)時(shí),可以填寫數(shù)字,也可以直接填寫常量名,如:時(shí)間到文本([2004年3月16日5時(shí)11分11秒],#日期部分)2.6.4枚舉常量枚舉常量是一種非常方便的常量類型,它本身就是一個(gè)常量的集合,將多個(gè)常量以成員的形式,存放在一個(gè)常量中,使用的格式為#枚舉常量名.成員名這里要注意,枚舉常量只是一種常量的表現(xiàn)形式,是由易語(yǔ)言支持庫(kù)定義的常量,和普通常量相同,但只能由用戶來(lái)調(diào)用,但不能自定義。易語(yǔ)言中有很多支持庫(kù)中使用了枚舉常量,如核心支持庫(kù)中定義的“變體類型”,“變體類型”提供變體型中所能夠容納數(shù)據(jù)類型的枚舉值。如表3-4中的某類型枚舉常量可存放于變體型中,通過(guò)“變體型.取類型()”取回當(dāng)前變體型對(duì)象的數(shù)據(jù)類型。變體類型常量成員及常量值變體類型
枚舉常量集合類型
成員描述未知常量值為-1初空常量值為0數(shù)值型常量值為1文本型常量值為2邏輯型常量值為3日期型常量值為4對(duì)象型常量值為5錯(cuò)誤值型常量值為6數(shù)值型數(shù)組常量值為7文本型數(shù)組常量值為8邏輯型數(shù)組常量值為9日期型數(shù)組常量值為10對(duì)象型數(shù)組常量值為11錯(cuò)誤值型數(shù)組常量值為12變體型數(shù)組常量值為13表中,列出了“變體類型”常量的所有成員名及成員的常量值,在程序中,如果想調(diào)用“變體類型”常量中的“日期型”成員,該成員的常量值為4,程序中調(diào)用該成員就等于調(diào)用了4這個(gè)整數(shù),例如用信息框顯示出該成員使用代碼:信息框(#變體類型.日期型,0,)運(yùn)行后,信息框?qū)@示4。這里要注意,在核心支持庫(kù)中還定義了“變體型”,“變體型”和“變體類型”不同,“變體型”是一種數(shù)據(jù)類型,可以將一個(gè)變量的類型定義成“變體型”,“變體型”的變量,可以加入成員和改變成員的值;而“變體類型”是一個(gè)常量,其值只可以調(diào)用而不可以改變?!白凅w型”變量的成員和值,要通過(guò)調(diào)用命令來(lái)改變。例如程序定義一個(gè)“變體型”變量,并加入一個(gè)文本型成員,然后給該成員賦值“”,然后用信息框顯示該成員,代碼如下:對(duì)“變體型”變量的操作的其他一些命令包括:清除()、取類型()、取數(shù)組成員數(shù)()、取文本()、取數(shù)值()、取邏輯值()、取日期()、取對(duì)象()、取變體型()、賦值()、創(chuàng)建數(shù)組()。程序中可以使用這些命令來(lái)操作“變體型”變量。2.6.5自定義常量除了各支持庫(kù)定義的常量以外,易語(yǔ)言中還可以自定義常量,自己來(lái)規(guī)定一個(gè)新的常量及其代表的值。自定義常量,可以定義一些固定值,編程中使用一些自定義常量還可以增加編程的靈活性,當(dāng)程序中多個(gè)地方調(diào)用了某個(gè)自定義常量時(shí),如果改變這個(gè)自定義常量的值,那這些調(diào)用該常量的地方將會(huì)自動(dòng)調(diào)用改變后的新值,這樣可以節(jié)省改寫程序的時(shí)間。定義了一個(gè)新的常量后,可以任意定義常量的名稱,然后在“常量值”上輸入該常量的值。自定義常量的使用方法和非自定義的常量的使用方法相同,用“#”+自定義常量的名稱。下面就用一個(gè)簡(jiǎn)單的例程來(lái)學(xué)習(xí)使用自定義常量。新建一個(gè)“Windows窗口程序”,在窗口中添加1個(gè)編輯框組件、1個(gè)標(biāo)簽組件和1個(gè)按鈕組件。然后按照上面介紹的方法自定義一個(gè)常量,常量名叫“顯示內(nèi)容”,然后將常量值定義為“易語(yǔ)言”。這里要說(shuō)明的是,如果定義數(shù)值型的常量,直接在“常量值”上輸入數(shù)值即可;如果定義文本型常量要在欲定義的文本兩端加雙引號(hào)。雙擊窗口中的按鈕,在“_按鈕1_被單擊”子程序中輸入代碼:最后運(yùn)行程序,按下按鈕后,可以看到標(biāo)簽和編輯框同時(shí)顯示出“易語(yǔ)言”??梢栽囍诓桓淖兇a的情況下,直接改變自定義常量的值,再次運(yùn)行程序,可以看到改變常量值后,標(biāo)簽和編輯框顯示的內(nèi)容也跟著改變。2.7命令在程序中,除了允許使用常量、變量之外,還允許使用事先定義了的命令,用戶只要給出命令名與參數(shù)的值,就可以求出相應(yīng)的值來(lái)。如求5的平方根,可調(diào)用命令“求平方根(5)”。程序是由各種命令組合而成的,不同的命令完成不同的工作。易語(yǔ)言中提供了大量的命令,用戶可以使用這些命令來(lái)實(shí)現(xiàn)預(yù)想的運(yùn)行效果。一個(gè)程序可以實(shí)現(xiàn)一種或多種功能,而這些功能的實(shí)現(xiàn)都離不開程序內(nèi)部調(diào)用的命令。命令是程序的基本組成部分,要學(xué)習(xí)易程序的編寫,首先就要了解易語(yǔ)言所提供的命令。2.7.1命令的格式命令格式如下:命令名稱(參數(shù),)大部分命令都需要填寫參數(shù),參數(shù)用括號(hào)括起來(lái)的,并用逗號(hào)分隔。部分命令無(wú)需參數(shù),但括號(hào)不能省略,如“結(jié)束()”命令。各種命令所要求參數(shù)的個(gè)數(shù)以及數(shù)據(jù)類型各有不同,由其語(yǔ)法所規(guī)定。例如“到文本()”命令,該命令只需一個(gè)參數(shù),參數(shù)內(nèi)容為欲轉(zhuǎn)換成文本的數(shù)據(jù)。有些命令的參數(shù)很多,如“子文本替換()”命令的格式如下:子文本替換(欲被替換的文本,欲被替換的子文本,[用作替換的子文本],[進(jìn)行替換的起始位置],[替換進(jìn)行的次數(shù)],是否區(qū)分大小寫)2.7.2命令的返回值大多數(shù)命令執(zhí)行完畢后都有返回值。有的命令返回運(yùn)算結(jié)果,如“求正弦()”命令,返回求得的正弦值;有的命令返回的執(zhí)行的結(jié)果,如“取文本左邊()”命令,返回取出的文本內(nèi)容;有的命令返回運(yùn)行是否成功的狀態(tài),如“創(chuàng)建目錄()”命令,創(chuàng)建成功則返回“真”,創(chuàng)建失敗則返回“假”等等。大部分時(shí)候,當(dāng)前命令的返回值對(duì)后續(xù)命令來(lái)說(shuō)非常重要。例如一個(gè)命令如果運(yùn)行成功了,就提示成功,否則提示失敗,“Windows控制臺(tái)程序”的代碼如下:各命令的語(yǔ)法規(guī)定了其返回值的數(shù)據(jù)類型,在實(shí)際使用中,應(yīng)當(dāng)注意有可能需要對(duì)返回值的數(shù)據(jù)類型加以轉(zhuǎn)換,例如,文本數(shù)據(jù)只接收文本型,因此要顯示一個(gè)數(shù)字就可以使用“到文本()”命令將數(shù)字轉(zhuǎn)換為文本形式顯示,代碼如下:文本變量=到文本(求平方根(100))“求平方根()”命令的返回值是一個(gè)數(shù)值型的,如果要以文本方式顯示,就要用“到文本()”命令進(jìn)行轉(zhuǎn)換。有些命令的返回值是一個(gè)通用型的數(shù)據(jù),代表根據(jù)參數(shù)不同,其返回值數(shù)據(jù)類型也可以不同。例如“多項(xiàng)選擇(,)”命令。該命令有2個(gè)參數(shù),第一個(gè)參數(shù)是索引值,第二個(gè)參數(shù)是待選項(xiàng),待選項(xiàng)可以重復(fù)添加。待選項(xiàng)數(shù)據(jù)類型是通用型(表示參數(shù)2可以是任意數(shù)據(jù)類型)的,返回哪個(gè)待選項(xiàng)取決于第一個(gè)參數(shù)的索引值。索引值是1則返回第一個(gè)待選項(xiàng);索引值是2則返回第二個(gè)待選項(xiàng)。所以,所選項(xiàng)是哪種類型的數(shù)據(jù),返回值就為哪種類型的數(shù)據(jù)。下面就編寫一個(gè)小程序來(lái)了解一下多項(xiàng)選擇命令。新建一個(gè)“Windows控制臺(tái)程序”,在“_啟動(dòng)子程序”中輸入如下代碼:按“F5鍵”試運(yùn)行程序,輸入“4”后按“回車鍵”,將顯示待日期時(shí)間“2005年10月1日”。有些命令無(wú)返回值,如“結(jié)束()”命令,此類無(wú)返回值的命令運(yùn)行后不返回任何值,所以直接使用即可,例如:命令是否有返回值,返回值的數(shù)據(jù)類型,都可以通過(guò)即時(shí)幫助系統(tǒng)查找到。2.7.5文本操作類命令在編寫程序時(shí)免不了對(duì)大量的文本型的數(shù)據(jù)進(jìn)行操作,文本操作類的命令比較全面,下面介紹常用文本操作命令。1.“取文本長(zhǎng)度()”命令獲取指定文本的字節(jié)長(zhǎng)度,半角數(shù)字和字符為1個(gè)字節(jié)的長(zhǎng)度,漢字和全角標(biāo)點(diǎn)符號(hào)為2個(gè)字節(jié)的長(zhǎng)度,如:取文本長(zhǎng)度(文本變量)可以取出變量中文本的長(zhǎng)度。2.“取文本左邊()”、“取文本右邊()”和“取文本中間()”命令這3個(gè)命令可以取出一段文本中任意位置的文本。如:取文本左邊(文本變量,4)可以將變量中的前4個(gè)字符取出來(lái)。3.“尋找文本()”和“倒找文本()”命令從當(dāng)前文本的指定位置開始尋找指定的文本,并返回最先找到該文本的位置。“尋找文本()”是從指定文本的首部開始尋找,“倒找文本()”相反。例如:尋找文本(文本變量,“:”,1,假)代碼運(yùn)行后會(huì)返回找到的第一個(gè)“:”的位置。4.“文本替換()”命令該命令可以將指定文本的某一部分用其它的文本替換。例如:文本變量=文本替換(文本變量,4,2,“xx”)將“文本變量”中第4個(gè)位置開始的2個(gè)字符替換成“xx”,并將結(jié)果保存到“文本變量”中。2.7.6時(shí)間操作類命令時(shí)間操作類命令也是較常用的一類命令,可以對(duì)日期時(shí)間型數(shù)據(jù)進(jìn)行操作。1.“到時(shí)間()”和“時(shí)間到文本()”命令這2個(gè)命令用來(lái)在日期時(shí)間型數(shù)據(jù)和文本型數(shù)據(jù)之間轉(zhuǎn)換。例如:到時(shí)間(“2004/2/212:30:25”)“時(shí)間到文本”命令可以將指定的部分的時(shí)間轉(zhuǎn)換成文本。例如:時(shí)間到文本(取現(xiàn)行時(shí)間(),#日期部分)2.“取現(xiàn)行時(shí)間()”命令可以將當(dāng)前系統(tǒng)的日期及時(shí)間取出,例如用“日期時(shí)間變量”保存當(dāng)前的時(shí)間:日期時(shí)間變量=取現(xiàn)行時(shí)間()被保存時(shí)間是一個(gè)包括“年月日時(shí)分秒”的完整時(shí)間,如果想取出時(shí)間中的指定部分,需要使用其它時(shí)間操作類型命令來(lái)實(shí)現(xiàn)。3.取指定時(shí)間部分的命令用來(lái)取出指定時(shí)間部分的命令有:“取時(shí)間部分()”、“取年份()”、“取月份()”、“取星期幾()”、“取小時(shí)()”、“取分鐘()”、“取日()”、“取秒()”、“取日期()”、“取時(shí)間()。其中“取日期()”和“取時(shí)間()”
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025湖南建筑安全員-C證考試(專職安全員)題庫(kù)附答案
- 貴州大學(xué)《鋼琴合奏》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴州財(cái)經(jīng)大學(xué)《社會(huì)經(jīng)濟(jì)調(diào)查與寫作》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025吉林建筑安全員-C證考試(專職安全員)題庫(kù)附答案
- 貴陽(yáng)信息科技學(xué)院《韓國(guó)語(yǔ)聽力》2023-2024學(xué)年第一學(xué)期期末試卷
- 硅湖職業(yè)技術(shù)學(xué)院《房屋建筑學(xué)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025山東省建筑安全員《C證》考試題庫(kù)及答案
- 廣州幼兒師范高等??茖W(xué)?!都?jí)管理與主任工作實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025江西建筑安全員《C證》考試題庫(kù)及答案
- 廣州衛(wèi)生職業(yè)技術(shù)學(xué)院《生態(tài)環(huán)境與人類發(fā)展》2023-2024學(xué)年第一學(xué)期期末試卷
- 民間借貸利息計(jì)算表
- 《古蘭》中文譯文版
- 現(xiàn)代電路技術(shù)——故障檢測(cè)D算法
- 檢驗(yàn)科各專業(yè)組上崗輪崗培訓(xùn)考核制度全6頁(yè)
- 鈑金與成型 其它典型成形
- 工程停止點(diǎn)檢查管理(共17頁(yè))
- 爬架安裝檢查驗(yàn)收記錄表1529
- 八卦象數(shù)療法
- 2021年全國(guó)煙草工作會(huì)議上的報(bào)告
- 電氣工程課程設(shè)計(jì)——車間動(dòng)力及照明設(shè)計(jì)
- (完整版)視頻監(jiān)控系統(tǒng)用戶操作手冊(cè)
評(píng)論
0/150
提交評(píng)論