![完整的VBS教程超級實用_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/9d66e020-76fe-4188-81bc-07706978623f/9d66e020-76fe-4188-81bc-07706978623f1.gif)
![完整的VBS教程超級實用_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/9d66e020-76fe-4188-81bc-07706978623f/9d66e020-76fe-4188-81bc-07706978623f2.gif)
![完整的VBS教程超級實用_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/9d66e020-76fe-4188-81bc-07706978623f/9d66e020-76fe-4188-81bc-07706978623f3.gif)
![完整的VBS教程超級實用_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/9d66e020-76fe-4188-81bc-07706978623f/9d66e020-76fe-4188-81bc-07706978623f4.gif)
![完整的VBS教程超級實用_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/15/9d66e020-76fe-4188-81bc-07706978623f/9d66e020-76fe-4188-81bc-07706978623f5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、范文范例指導參考很好的VBS教程(帶實例)推薦第一篇:講一下VBScript。主要面向菜鳥,懂得編程的朋友就不要浪費時間了,如果你想接觸 以下VBScript也可以。但既然有編程基礎推薦直接去找一些參考書來讀。會比較快。什么是 VBScript 呢? VBScript 的全稱是:Microsoft Visual Basic Script Editon.(微 軟公司可視化 BASIC腳本版)。正如其字面所透露的信息,VBS(VBScript的進一步簡寫)是基于Visual Basic的腳本語言。我進一步解釋一下,Microsoft Visual Basic 是微軟公司出品的一套可視化編程工具,語
2、法基于Basic.腳本語言,就是不編譯成二進制文件,直接由宿主(host)解釋源代碼并執(zhí)行,簡單點說就是你寫的程序不需要編譯成.exe,而是直接給用戶發(fā)送.vbs的源程序,用戶就能執(zhí)行了。我知道菜鳥現(xiàn)在最關心的就是用什么工具來開發(fā)VBS程序了,答案是:記事本(Notepad).我不是開玩笑,其實任何一種文本編輯器都可以用來開發(fā)VBS開發(fā),只不過記事本是由系統(tǒng)自帶的,比較好找而已.盡管如此,我還是建議你去下載一個專業(yè)的文本編輯器,因為這些工具可以提供”語法高亮”等功能,更加方便開發(fā),用哪一個隨你喜好,我比較喜歡Edit Plus (2.10).OK我們先來寫一個 VBScript程序熱熱身.RE
3、M輸入并回顯你的名字使用InputBox和Msgbox函數(shù)Dim n ame,msg msg=請輸入你的名字: name= Inputbox(msg,名稱)Msgbox (n ame)把上面的程序清單輸入到記事本里面,然后保存為以.vbs為擴展名的文件(保存類型里面選擇”所有文件).然后雙擊運行,觀察運行結果.注意:請自己輸入程序清單,不要復制- 粘貼!我來解釋一下這個程序,第一行和第二行的開頭分別是REM語句和,這兩個東西的作用是相同的,表示本行是注釋行,就是說這兩行什么也不干,只是用來說明這段程序的功能,版權信息等等.注釋行是程序最重要的部分之一,盡管它不是必需的, 但對于其他人閱讀源代碼
4、,以及自己分析源代碼是很有好處的.好的習慣是在必要的地方加上清晰,簡潔的注釋。Dim用來聲明一個變量,在 VBS中,變量類型并不是那么重要,就是說VBS會幫你自動識別變量類型,而且變量在使用前不一定要先聲明,程序會動態(tài)分配變量空間.在VBS中你不用考慮name儲存的是一個整數(shù)還是一個小數(shù)(學名叫”浮點數(shù)),也不用考慮是不是字符串(一串字符,比如:Hello World),VBS會自動幫你搞定.所以第三行語句可以刪除,效 果不會變,但我強烈反對這么做,一個變量的基本原則就是:先聲明,后使用.變量名用字母開頭,可以使用下劃線,數(shù)字,但不能使用 vbs已經定義的字,比如 dim,也不能是純數(shù)字。下一
5、行被稱之為”賦值”,=是賦值符號,并不是數(shù)學中的等于號,盡管看起來一樣 這是正統(tǒng)的理解,你要理解成等于也沒有什么不可 賦值號的左邊是一個變量, 右邊是要賦 給變量的值,經過賦值以后, msg這個變量在程序中等同于”請輸入你的名字:這個字符串, 但當msg被再次復制的時候,原值就會消失.不光字符串,其他任何變量都這樣被賦值, 例 如:a=2,b=12.222 等等。再往下,lnputbox 和Msgbox是VBS內建的函數(shù),一個函數(shù)就相當于一個黑箱”,有輸入(參數(shù))和輸出(返回值),你可以不用了解函數(shù)是怎么運作的,只要了解這個函數(shù)能干什么就行了,我們也可以定義自己的函數(shù),不過那要等到以后再講.現(xiàn)
6、在我們只要了解,一個函數(shù)可以有返回值也可以沒有,可以有參數(shù)也可以沒有例如Inputbox就是有返回值的函數(shù),我們用賦值號左邊的變量來”接”住InputBox的返回值-就是你輸入的內容在inputbox右邊的括號里是參數(shù)列表,每個參數(shù)用,分隔開,每個參數(shù)有不同的功效,比如第一個參數(shù)會顯示在提示里,我們把msg這個變量作為第一個參數(shù)傳給了Inputbox函數(shù),而msg=請輸入你的名字:”,所以我們在對話框的提示欄就會看到“請輸入你的名字:”第二個參數(shù)是對話框的標題, 我們用直接量(學名叫”常量”,這里是”字符串常量”)傳遞給函數(shù),當然 你也可以傳遞變量 Inputbox還有很多參數(shù),比如你在”名稱
7、”后面再加一個,”然后輸入隨 便一串字符(字符串,用雙引號包裹起來的一串字符叫做字符串)然后運行,看看結果你會發(fā)現(xiàn)用于輸入的文本框有了默認的值,這就是第三個參數(shù)的作用。Msgbox 函數(shù)是用來輸出的函數(shù),在 VBS中沒有專門的輸出函數(shù) (BASIC中的print,C 中 的printf),所以我們只能用對話框來觀察輸出結果,Msgbox的必要參數(shù)只有一個,就是要輸出的內容,在這種情況下,我們不需要理會msgbox的返回值.關于Msgbox和Inputbox我們以后還會在討論,今天只是熱熱身,到此為止 要點:1)注釋(以REM或開頭)行在程序中不起作用,但能讓別人更容易讀懂你的程序.2)變量好像
8、一個盒子,或一個代號,可以代表你想代表的東西.變量賦值使用=3)以包裹起來的字符稱之為”字符串”4)函數(shù)像一個黑箱,有參數(shù)和返回值,用=左邊的變量可以接住返回值5)In putbox函數(shù)彈出一個輸入對話框,Msgbox則用于輸出作業(yè):1)試驗Inputbox的第三個參數(shù)2)寫一段程序輸出你的年齡3)寫一段程序進行3次輸入,分別輸入你和你父母的姓名(要求顯示提示),并分3次輸出。第二篇:我真沒想到,第一次的作業(yè)竟然有人不會??磥硪v的非常非常細致才行,嗯,今天講各種“量”和基本運算。先說常量,這個比較簡單。什么是常量呢,常量就是其值不可變化的量。常量分為兩種:第一種,自然常量。這叫是因為它們本身
9、就是常量,你怎么更改21的值呢?他永遠都是21,不可能變成46。如果你在程序中使用2仁46,這樣的語句將會引發(fā)一個錯誤。同樣的,字符串也是常 量(還記得字符串嗎?就是包裹在之間的一串字符),Hello World 就是一個例子,如果 你使用Hello World=Bye這樣的語句同樣會引發(fā)一個錯誤。你能舉出自然常量的更多例子嗎?第二種,是我們自己定義的常量,這種量也使用代號,他們也被賦值,但和變量的不同點在于,他們在定義的時候被賦值,以后就不能改變了,如果企圖改變將會引發(fā)一個錯誤。 定義一個變量,我們使用const這個關鍵字(關鍵字的意思是系統(tǒng)定義了有特殊功能的字, 不能作為變量名或常量名使用
10、),格式是:const常量名=常量值例如:con st Pl=3.1415926const NAME=記憶碎片”這樣我們就定義了兩個常量,PI和NAME 般說來,常量名全部使用大寫,但也可以不用,隨你喜好。將一些在程序中不需要改變的值定義為常量是個好習慣,這樣能防止不必要的意外。另外,使用自定義常量也可以減少你的工作量。比如:msgbox(Hello World) msgbox(Hello World) msgbox(Hello World) msgbox(Hello World) msgbox(Hello World)這個程序輸出五次 Hello World ,如果你想要改變輸出為Bye-B
11、ye,就必須修改全部程序,當然你可以手動修改5次,但如果你要輸出1000次呢?常量就可以替我們解決這個問題:const hw=Hello World msgbox(hw) msgbox(hw) msgbox(hw) msgbox(hw) msgbox(hw)這樣當你要修改輸出的時候只要修改hw的值就行了。好了,現(xiàn)在我們來看看編程的第一塊重要“基石”:變量。解釋變量最好的辦法我覺得是“盒子”,一個變量好像一個盒子,里面只能裝一個東西,當你要裝進去別的東西的時候 必須把原有的東西拿出來。這個“盒子”是有名稱的,當你在程序中使用變量的時候,系統(tǒng) 會打開盒子取出里面的東西,讓這些東西參與處理,而不是盒
12、子。有些語言是很依賴“盒子” 里面裝些什么東西, 這樣才能找到合適的 “盒子”(比如C語言),但VBS給我提供的是能夠 自動伸縮的“魔術盒”,我們不用關心裝進去的是什么東西,VBS會自動調整盒子的大小。例如:Dim a1,a2,a3a1=14a2=12.23a3=Hello而不用像C語言那樣麻煩,或者是VB的正規(guī)聲明(VB可以聲明也可以不用)那樣:int a1; Dim al as in tegerfloat a2; Dim a2 as Doublechar* a3; Dim a3 as strniga1=14; a1=14a2=12.23; a2=12.23a3=Hello; a3=Hell
13、o嗯扯遠了變量有什么用呢?哇,那用處可大了。最簡單,你并不能確定程序運行時變量的值,比如前一節(jié)課我們編的輸入姓名的程序,你不能確定InputBox返回的是什么(還記得Inputbox的返回值嗎?就是你輸入的內容),所以你就沒有辦法應對各種情況,但我們用name這個“盒子”把用戶的名字裝起來,至憫的時候我們只要知道name這個盒子的名字就行了,系統(tǒng)會自己打開他并把里面的內容拿出來用。再舉個例子,我們編寫一個程序計算一個矩形的面積,比如這個程序要發(fā)給小學生使用:dim a,b,sa=15b=12 s=a*b msgbox(s)這樣就可以求出長為 15,寬為12的矩形的面積了,是不是很簡單?當然,這
14、個程序 也可以這樣寫:dim ss=15*12msgbox(s)這樣看起來程序短了許多,也節(jié)約內存,但并不是鼓勵的做法,為什么?請看下面?,F(xiàn)在,我們的程序要變得像點樣子才行,誰的程序寫出來還要別人修改源代碼才能用???所以,我們要接受用戶的輸入,還記得嗎?InputBox函數(shù)。修改后程序如下:dim a,b,sa=inputbox( 請輸入矩形的長:)b=i nputbox( 請輸入矩形的寬:)s=a*bmsgbox(s)OK這么一修改,無論用戶輸入怎樣的數(shù)據(jù),我們都能計算出矩形的面積了。如果你用s=15*12能改嘛?當然不行。我想你已經發(fā)現(xiàn)了,vbs中的數(shù)學計算和真正的算術沒有什么不同,+,-
15、,*,/,(),都是一樣的用法,比如:dim ansan s=12+32/4+(23-10)*2msgbox(a ns)四則運算的法則在編程中同樣生效,你可以在編程中重新獲得小學時候的樂趣(你恨數(shù)學?那就別學電腦了)。在編程中有一個有趣的運算符是mod,這個運算符叫做”取余運算符”,就是取得一次除法的余數(shù),例如:dim aa=16 mod 5你知道a等于幾嗎? Bin go!沒錯,就是1。因為16 / 5 =31,所以mod計算的結果就是1。還有一個運算符是A(就是鍵盤“ 6”上面的小箭頭),他表示“乘幕”(或者是“方”),比如:dim a,b,ca=2b=aA2c=aA3msgbox(a)m
16、sgbox(c)貝U b=a*a=4 , c=a*a*a=8我們一次不要講太多,這次就講到這里,現(xiàn)在總結一下。要點:1)常量分為自然常量和自定義常量,常量的值不可修改2)變量就像盒子,我們不在乎盒子里裝的是什么,但一定要知道盒子的名字3)四則運算在編程中沒有任何不同4)MOD是取余運算(使用 Inputbox) PI 取值 3.14159作業(yè):1)編一個程序,計算圓形的面積,半徑由用戶給出2)編一個程序取得20 / 3 的余數(shù)估計大家看累了,我來個大話西游2游戲計算器的實例吧。小黑在幫派門口擺攤賣藥,今天共賣了 56個靈異天香,每個的出售價格為 2170 ,那么他賺了多少錢?(藥店出售的靈異天
17、香價格為2160)在題目中,56和2170是變量。大家可以想想代碼怎么寫,然后再往下看。dim m, n,x,msgmsg=叨、黑在幫派門口擺攤賣藥,今天共賣了n個靈異天香,每個的出售價格為m,那么他賺了多少錢? ”n=inputbox(msg, 靈異天香個數(shù) n,請在此輸入靈異天香個數(shù)n)m=inputbox(msg,每個售價m,請在此輸入每個藥的出售價格m)x=(m-2160)*n msgbox(答案:” & x)把這段代碼復制粘貼到文本文件,然后把文本文件.txt后綴改為.vbs雙擊運行看看效果。如果看不到.txt后綴,去我的電腦-控制面板-文件夾選項-查看-去掉“隱藏已知文件類型 的擴
18、展名”對勾-確定就行了。第三篇:首先,我來解決一下上次課程的幾個疑問。第一,那個余數(shù)問題,16 / 5 = 3.1,是因為我改過前面的部分,后面的忘了改了,不好意思。第二,請看一下程序清單:1)Dim a,b,ca=inputbox(a 是:,輸入半徑) b=Inputbox(b 是:,”輸入半徑”) c=a*2+b*2Msgbox(c)這個輸入1、2時是62)Dim a,b,ca=inputbox(a 是:,輸入半徑) b=Inputbox(b 是:,輸入半徑) c=(a+b)*2Msgbox(c)這個輸入1、2時是24為什么會不一樣呢?在數(shù)學上c=(a+b)*2 和c=a*2+b*2是等價
19、的,在VBS中也是如此. 問題出在+上,在VBS中,+不僅僅是加號的意思還表示把兩個字符串連接起來,例如Hello+World=HelloWorld have you understood?你還記得 InoutBox 函數(shù)的返回值嗎?是字符串!這就看出問題了吧,在編程中1不等于()1, 1是一個字符,而1是一個數(shù),所以a,b都是字符串變量,1+2=12,這就好像我們小時跟伙伴開玩笑問他們1+1=? 一樣,我們總是笑著說“錯啦,應該是 11”,但為什么,a可以*2卻不發(fā)生錯誤呢? 這是VBS比較智能的一個表現(xiàn),如果這個字符串的內容是一個數(shù)且對他進行數(shù)學運算,則把字符串強制轉換成數(shù)參與運算,如果字
20、符串代表一個數(shù),但不參加數(shù)學運算,而是參加字符串運算(合并)則當作字符串處理,所以你看到a+b=12,這時候a+b的結果(12)是一個字符串,當它要乘以2的時候就被強制轉換成了數(shù)字12,這樣我就得到了結果24。怎么修改這個程序呢?我們需要用到另一個內建的函數(shù):intint函數(shù)的功能是將輸入值轉化成整數(shù)值,我們這樣修改:c=(i nt(a)+i nt(b)*2這個意思就是把a作為參數(shù)傳遞給int函數(shù),int函數(shù)就會返回那個整數(shù)(你的輸入值), 然后讓返回值參與運算,這樣就得到了正確答案。所以,以后如果你用的是inputbox函數(shù)的話,最好用int語句加工一下:比如 c=int(c) c 是你自己
21、的變量。大家是不是覺得這個課程有點枯燥。呵呵,變量和運算符部分的確是這樣的,不過多多練習也就好了。這次,我們寫寫真正好玩的東西:流程控制語句。這個部分開始才是真正的編程。首先介紹判斷結構在此之前,我們先介紹一種簡單的變量類型:布爾值(Boolean), 這種變量只有兩個可 能值:True,Flase,即真或假這種變量在某些情況下很有用 (比如”開關).我們定義一個 bool變量的方法和其他變量一樣 ,賦值也一樣,例如:dim a,ba=trueb=false注意,true和true是不一樣的,true是字符串,true是布爾值,千萬不能混淆回到if語句上來,我們先來看看簡化版的if語句:if
22、判斷式then語句體我們來看 一個例子:dim a,ba=12b=13if ba then msgbox(B 大于 A)我們只看最后一行,ab這個式子(表達式)有一個返回值,是bool型的因為這個式 子只有兩種可能:b大于a, b不大于a,所以這個式子也只有兩種可能性,即真或者假.if語句判斷這個表達式的返回值是真還是假,如果是真(true)則執(zhí)行then后面的語句,如果是假,則不執(zhí)行,你把a的值改成14看看還會不會彈出對話框?當我們要在判斷之后執(zhí)行多行語句怎么辦呢,我們需要用語句塊來解決,在這里可以叫塊ifdim a,b a=12 b=13 if ab the n msgbox(A 小于 B
23、) msgbox(B 大于 A) end if兩個msgbox函數(shù)夾在if和end if之間,這個部分就是語句塊,塊里的每一條語句之 前請空出4-8( 一個鍵)個格,這不是必需的,但是是一個好習慣,以便看清楚程序 的結構這樣我們就能運行多于一個的語句,請注意if.then.endif這三個關鍵部分不要掉了 . 0K,我出一個題,輸入一個數(shù),如果小于100就輸出”錯誤,如果大于100就輸 出正確,我這里有兩個程序版本:dim aa=inputbox( 請輸入一個大于 100的數(shù))a=int(a)inputbox返回的是字符串,我們把他變成整數(shù):)if a100 then msgbox(正確)if
24、 a100 thenmsgbox(正確)elsemsgbox(錯誤)end if看到多了一個else 了吧,else的作用就是當要判斷的表達式為false時執(zhí)行的這樣程序就可以處理兩種不同的情況了不要忘了用end if結尾嘿嘿,我是變態(tài)者,現(xiàn)在我要你處理三種情況,100,還要寫在一個if結構里,你怎么辦,我給你答案:dim aa=inputbox( 請輸入一個大于100的數(shù))a=int(a) inputbox返回的是字符串,我們把他變成整數(shù)if a100 then msgbox(正確) elseif a=100 thenmsgbox(老大,你耍我?)elsemsgbox(錯誤)end if這次
25、輸入100看看,是什么? else if語句可以在if結構中多次出現(xiàn),以靈活判斷不同的情況(如果你要判斷得太多,就請使用”選擇結構,過會兒就講),當所有elseif 都 處理完了,而沒有符合情況的時候再執(zhí)行else中的語句.另一個例子:Dim a,b,c,da=inputbox(a是:,輸入半徑)b=Inputbox(b是:,輸入半徑)d=Inputbox(答案:,輸入答案)c=a*2+b*2 這里沒有問題,會自動轉換if d=c the nMsgbox(你好聰明)elseMsgbox(你好豬頭自己的題還不會?。〆nd if再看看這個,無論你回答得多么正確你都是豬頭,哈哈,不是我耍你,還是文章
26、開始時候的inputbox的返回類型在耍你,d是inputbox的返回值,他是一個字符串,而c是一 次整數(shù)計算的結果,他是一個整數(shù).一個字符串無論如何也不等于一個整數(shù),盡管他們字面上是一樣的:8(不等于號)8所以if的判斷式的值永遠是false, 總是執(zhí)行else部分的語句我們可以這么修改Dim a,b,c,da=inputbox(a是:,輸入半徑)b=Inputbox(b是:,輸入半徑)d=Inputbox(答案:,輸入答案)d=i nt(d)在這里我們取出了d的值,變成整數(shù),在放回d這個盒子里c=a*2+b*2if d=c the nMsgbox(你好聰明”)elseMsgbox(你好豬頭
27、 自己的題還不會?。〆nd if這樣就成功了 這也是Inputbox函數(shù)的一個討厭的地方,沒辦法,vbs沒有其他好的 輸入方式了。說到if,我們不得不說一說邏輯運算符,今天介紹兩種,”a nd和or 學會了 if語句之后,我舉一個例子,你一看就明白了 dim a,ba=inputbox(輸入一個數(shù) 10)b=i nputbox(輸入另一個數(shù) 10)a=i nt(a)b=i nt(b)if a10 and b10 thenmsgbox(正確)elsemsgbox(錯誤)end if這段程序讓你輸入兩個值,必須都大于10,只要有一個不大于,就輸出錯誤dim a,ba=inputbox(輸入一個數(shù)
28、10)b=i nputbox(輸入另一個數(shù) 10)a=i nt(a)b=i nt(b)if a10 or b10 thenmsgbox(正確)elsemsgbox(錯誤)end if這段程序讓你輸入兩個值,只要有一個大于10,就返回成功其實and和or很好理解, 我讀if a10 or b10 then這一句,用華語是這樣:如果a大于10或者b大于10,那么 這樣是不是就很好理解了呢OK,我們再來看一種新結構,今天的課就結束,已經午夜了,我都累死了 當你的程序要處理很多種不同的判斷情況的時候elseif.the n會讓程序看起來很雜亂,所以就有了一種 select case 結構專門對付這種情
29、況,select case 的語法結構很簡單: select case 變量名case 值語句case 值語句case else語句end select我們舉個例子就能很簡單的說明:dim aa=inputbox(輸入一個 1-3 的值)a=int(a) 處理inputbox返回字符串的問題select case acase 1msgbox(壹)case 2msgbox(貳)case 3msgbox(叁)case elsemsgbox(輸入錯誤)end select這個例子把1,2,3這三個阿拉伯數(shù)字轉化成中國大寫數(shù)字,這個程序寫成if.elseif的形式如下dim aa=inputbox(
30、請輸入 1-3 的值)a=i nt(a)if a=1 the nmsgbox(壹)elseif a=2 the nmsgbox(貳)elseif a=3 the nmsgbox(叁)elsemsgbox(輸入錯誤)end if怎么樣,麻煩吧,還是select好吧.OK,今天到此結束,總結一下:要點:1)inputbox返回的是一個字符串,而不是一個數(shù),必須用a=int(a)這種形式轉化成數(shù)2)bool 變量的值只有兩種:true,false2.5) and 兩邊的表達式都是true,則返回true. or兩邊的表達式有一個是true,就返回true3)if 語句的格式4)select.case
31、 的格式作業(yè):1) 使用3個bool值,儲存你的3兄弟姐妹是否是男性(提示:sister1male=false)2) 給定一個個數(shù),大于10而且小于20輸出”正確,否則輸出”錯誤”3) 輸入12,或者15,輸出”正確,否則輸出”錯誤”4) 把5以內的正整數(shù)都轉換成中國大些數(shù)字5) 自己隨便設計一個程序,應用今天的知識第四篇:循環(huán)結構我們先來看一道題:商場進行每日結算 ,要求累加出今天的營業(yè)額,每次輸入一個數(shù) 這道題其實很簡單,但就我們現(xiàn)在學過的知識要完成這道題相當麻煩,我們來分析一下首先,我們需要知道買賣的次數(shù),這樣才能控制輸入的次數(shù),但是,這種設計是非常低效的 每天都要重新設計程序假定今天進
32、行了 5次交易,以下是源程序:dim sum sum=0 初始化變量sum=sum + int(inputbox(請輸入交易額)sum=sum+x 這種形式是把本身的值取出來,進行一次運算,再放回本身,這種方法很有 msgbox(sum)用處這里使用了函數(shù)嵌套 sum=sum + in t(i nputbox( sum=sum + in t(i nputbox( sum=sum + in t(i nputbox( sum=sum + in t(i nputbox(把inputbox的返回值直接傳給 請輸入交易額) 請輸入交易額) 請輸入交易額) 請輸入交易額)int函數(shù),轉化成整數(shù),下同看到了
33、嗎,我通過把計算過程復制了5遍才設計好了程序,這種程序在汽車交易所等交易次數(shù)少的地方還能湊合著用,如果放到超市豈不是要復制,粘貼幾千遍?我們今天講 的內容就可以克服這種缺陷,首先,我們來講以下Do.丄oop語句.do.loop的結構看上去非常簡單,就是:do.loop, 僅此而已,這個結構不斷執(zhí)行do和loop之間的語句(學名叫:循環(huán)體),永不停止.舉個例子來說:domsgbox(這個信息會不斷重復出現(xiàn),要停止程序請使用任務管理器(Ctrl+Alt+Del) 中止wscript 進程)loop運行這個程序,當你點銷掉一個對話框馬上會出來另一個,你永遠點不完,總有下一個.誰會運行這樣的程序?除非
34、是給別人搗亂(我就干過這種事),所以在do.loop 結構中 還有一個語句:exit do,這個語句將終止循環(huán),跳到loop后面的語句繼續(xù)執(zhí)行.據(jù)個例子來說:dim a 注意:常量不需要在dim里面聲明,否則會引發(fā)錯誤con st pass=123456這是一個字符串請用包裹起來設定密碼為常量,不可變更doa=inputbox( 請輸入密碼) if a=pass the nmsgbox(密碼校驗成功”)exit doend ifloop這個程序會一直不停的問你密碼,知道你輸入了正確的密碼為止.(if可以嵌套在另一個if當中,也可以嵌套在循環(huán)體當中,所以一定要用縮進,來分清楚程序的各個部分).這
35、個程序是很經典的,早期的程序都是這么做的.但是我們是Hacker,所以 我們了解系統(tǒng)的安全性,這種無限次認證程序很容易被窮舉破解,我們要來限定認證的次數(shù).修改程序如下dim a,ctr ctr=0 設置計數(shù)器 con st pass=pas123_上面的那個是弱密碼,這次改的強一點doif ctr=3 the nmsgbox(已經達到認證上限,認證程序關閉”)exit doelse a=inputbox( 請輸入密碼) if a=pass the n msgbox(認證成功) msgbox(你可以在這里加一段成功后得到的信息門exit doelsectr=ctr+1 如果密碼出錯就增加一次錯誤
36、認證計數(shù)msgbox(認證出錯,請檢查密碼)end ifend ifloop運行這個程序試試看,當你出了 3此錯誤以后,就會停止再次詢問密碼,關閉程序. telnet認證用來限制次數(shù)的程序與此大同小異.要注意的是嵌套的if語句,清仔細讀一下這個程序,可能比較難懂,也請你試著自己設計一下類似的程序 .其實,要在do.loop加上驗證的功能,并不一定要用if,我們可以直接利用do.我來介紹一下while關鍵字,while可以放在do或者是loop后面,然后再接一個表達式,當 表達式的值為true的時候(表達式成立),才運行循環(huán)體.我們來看一下修改后的 程序”dim a,ctrctr=0const
37、pass=pas123_do while ctr3a=inputbox( 請輸入密碼)if a=pass the nmsgbox(認證成功)msgbox(你可以在這里加一段成功后得到的信息)exit doelsectr=ctr+1 如果密碼出錯就增加一次錯誤認證計數(shù)msgbox(認證出錯,請檢查密碼)end ifloop dim a,ctrctr=0const pass=pas123_doa=inputbox( 請輸入密碼)if a=pass the nmsgbox(認證成功)msgbox(你可以在這里加一段成功后得到的信息門exit doelsectr=ctr+1 如果密碼出錯就增加一次錯誤認證計數(shù)msgbox(認證出錯,請檢查密碼)end ifloop while ctr3功能是一樣的,為什么要放在loop后面呢?你把ctr的值改成3就知道了,while 在 do后面的程序會直接退出,而在loop后面還會允許一次認證,到了 loop才結束.和while 相反的是until, 用法和while 一樣,不過他只有當后面的表達式的值為false(表達式不成立)的時候才執(zhí)行循環(huán)體,請自己試驗一下ok,我們來看另外一種循環(huán)結構,for.next,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023三年級英語下冊 Unit 1 Animals on the farm Lesson 3 Fish and Birds說課稿 冀教版(三起)
- 2023二年級數(shù)學上冊 一 加與減第1課時 誰的得分高配套說課稿 北師大版
- 2025蓄電池產品及零部件檢驗合同書
- 《5 奇形怪狀的熱帶魚(圖形工具)》說課稿-2023-2024學年清華版(2012)信息技術一年級上冊
- 2024秋五年級英語上冊 Module 2 Unit 1 What did you buy說課稿 外研版(三起)
- 2024年學年八年級語文上冊 第三單元 宋詞集粹(下)第9課《訴衷情》說課稿1 滬教版五四制
- Unit 3 A healthy diet (Story time)(說課稿)-2023-2024學年譯林版(三起)英語六年級下冊001
- 減肥店減肥合同范例
- 區(qū)塊鏈服務合同范例
- 冷庫保管合同范例
- 四年級下冊部編版語文教學參考教師用書
- 月球基地建設與運行管理模式
- 32軟件測試報告GJB438C模板
- 長期處方管理規(guī)范
- 汽車電氣設備檢測與維修中職全套教學課件
- 幼兒園大班數(shù)學PPT課件2、3、4的分解與組成
- API682機械密封沖洗方案(中文)課件
- 七年級上冊英語完形填空、閱讀理解綜合訓練100題(含參考答案)
- DB35T 1345-2013蘭壽系列金魚養(yǎng)殖技術規(guī)范
- 祛痘產品原料配方與消費者祛痘方案選擇建議
- 年產一萬噸蓖麻項目可行性論證報告
評論
0/150
提交評論