亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > VBScript > 正文

VBS編程教程 (第6篇)

2020-07-26 12:00:08
字體:
來源:轉載
供稿:網友

最后一篇: 

新家不錯, MM開心, 我也就跟著高興了 : ), 今天我們學習基礎篇的最后一個部分:自定義函數和過程. 我們每天都在和函數打交道, inputbox()是函數, msgbox()是函數, int()也是函數...這些函數都是系統內建的, 我們只能用不能改. 今天, 我就教大家怎樣自己制作一個函數. 

  首先我們要了解, 為什么要用函數, 我們用"實例"說話, 先看一個例子: 給出兩個數, 輸出較大的那一個. 

dim a1,a2,b1,b2,c1,c2 a1=2:a2=4 '":"可以讓你把多個語句寫在一行上 b1=32:b2=67 c1=12:c2=898 if a1>a2 then msgbox(a1) elseif a1 msgbox(a2) end if if b1>b2 then msgbox(b1) elseif b1 msgbox(b2) end if if c1>c2 then msgbox(c1) elseif c1 msgbox(c2) end if 

多么麻煩呀, 我們把相同的比較過程復制了好幾遍, 早期語言沒有結構化(沒有過程和函數)的時候, 程序員們的確是這么
干的, 他們復制(Copy), 那個年代也沒有剪貼板這一說, 大家都是重新輸入代碼. 后來工作簡化了: 

dim a1,a2,b1,b2,c1,c2 a1=2:a2=4 b1=32:b2=67 c1=12:c2=898 msgbox(co(a1,a2)) msgbox(co(b1,b2)) msgbox(co(c1,c2)) function co(t1,t2) '我們使用function定義了一個新的函數 if t1>t2 then co=t1 '通過"函數名=表達式"這種方法返回結果 elseif t2>t1 then co=t2 end if end function 

我們在這里是用了一個新的關鍵字:funciton, 這個關鍵字表示一個新函數開始, 格式: 
funciton 函數名(參數1, 參數2...參數n) '列表可以是空的, 但括號不能省略, 參數之間用","分割

... 
exit funciton '結束函數, 不是必需的 
... 
end function 

  函數是一個模塊, 只有你調用的時候才會運行, 也就說, 當你編寫了一個函數, 然后在程序中并不調用它, 那么這個函數 
永遠不會運行. 一般來說, 我們編寫程序是按照: 

主程序 
.. 
.. 
.. 

函數1 
.. 
.. 

函數2 
.. 
.. 

  詳細解釋一下: 函數中最重要的是參數和返回值. 參數是在函數名后面的()里定義的, 用","分割, 使用參數的時候我們也 

用","分割. 說到這里我想起一件事, 昨天有個朋友給我發消息問我: 

  msgbox(name1,name2,name3) 

  這個錯在哪里? 為什么不能同時顯示出三個變量? 這就是因為你用了",", 這個符號表示你輸入的三個量作為三個不同參數 

傳遞給msgbox()函數, msgbox()函數只會顯示出第一個參數, 第二個參數的作用是出現在標題欄. 所以你應該用"&"或者"+"把 

三個字符串變量連接起來, 作為第一個參數傳遞給msgbox()函數. 程序員說參數的時候經常說到"形參", "實參"這樣的"黑話", 

我來解釋一下. "形參"是"形式參數"的簡稱, "實參"是"實際參數"的簡稱, 實參是指你調用函數的時候傳遞給函數的量, 可以 

使變量或者常量(直接量), 例如:co(12,24)中的12,24就是實參. 形參是你在函數定義時定義的變量, 這些變量用來"接住"傳遞 

過來的量, 例如function co(t1,t2)t1,t2就是形參. 

  在VBScript中, 參數傳遞是一種傳值, 而不是傳址(聽不明白不要緊, 學了C語言的指針你就明白了), 所以我們進行的參 

數傳遞實際上是進行了一次變量賦值, 例如我們調用co(a1,a2), 實際上程序會執行一步:t1=a1,t2=a2這樣的操作. 同樣因為傳 

值傳址的原因, VBScript只能返回一個值, 我們先來看看什么叫"返回". 當一個過程調用了另一個過程的時候(比如主程序調用 

了函數), 控制權就到了被調用過程那里, 當這個過程執行完畢以后, 會回到調用它的地方繼續執行, 這個就叫做"返回", 返回 

的時候可以帶一個值叫做"返回值"(這是"通俗"的理解). 在vbs繼承了basic的傳統, 返回的時候采用"函數名=返回值"的辦法, 

這個"返回值"是指一個表達式(在編程中, 任何東西都是表達式, 比如變量a, 常數0, "Hello",c=1+2等等這都是表達式). 比如 

有一個函數是ht, 則返回的方法是:ht=你要返回的值. 注意:返回以后, 后面的語句將不再執行. 

  調用一個函數我就不用講了吧:變量=函數名(參數) 

  有時候我們并不需要返回什么值, 這個時候我們可以使用一種稱之為"子程序"的結構. 子程序或稱之為過程與函數的差別 

就在于:1) 沒有返回值, 2) 使用sub關鍵字定義, 3) 通過Call調用.具個例子: 

dim yname name=inputbox("請輸入你的名字:") call who(yname) sub who(cname) msgbox("你好" & cname) msgbox("感謝你閱讀我的課程") msgbox("這是基礎部分的最后一課") end sub

  你一定看明白了, 很簡單的. 退出一個過程和退出一個函數一樣:exit sub(函數:exit function). 

  要注意, 子程序(過程)是比較特殊的一個結構, C等語言是沒有這個概念的, C語言中的一切都是函數, 沒有返回值的函數
在C語言中只要使用void修飾符定義就行了. 

  今天沒有什么可講的了, 基礎篇就這么結束了, 目前你已經有了基本的編程概念(面向過程的結構化編程), 可以選擇學習
另外一種語言(比如C或Pascal), 現在的基礎會有一定的幫助. 如果你想要繼續學習vbs或通過它更詳細的了解編程在轉型可以跟我繼續學習, 但因為我的假期結束所以更新的時間可能會比較慢, 請大家原諒.初步計劃如下: 


進階篇: 

變量的深入討論 

|----變量類型 

|----變量的有效范圍 

數組的深入討論 

|----動態數組 

函數的深入討論 

|----數組作為函數參數 

|----多個返回值 

字符串操作 

|----亂七八糟一大堆 

面向對象編程(OOP)的基本知識 

文件操作 

|----FSO對象 

|----其他相關部分 

VBS與網頁 

|----HTML中嵌入VBS 

|----VBS與表單(設計你的程序界面 wow!) 


實戰篇: 

病毒編程 

Socket編程(TCP/UDP) 

  這只是大概的內容, 我想應該會有變化, 到時候你就會讀到的. 今天的內容請多多實踐, 作業就是把前面的各個課程在溫習一下. 對要離開這個課程去更進一步學習的朋友:祝你再學習編程的道路上一帆風順. 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
裸体女人亚洲精品一区| 亚洲成人a**站| 免费99精品国产自在在线| 国产精品一区久久| 日韩精品视频免费专区在线播放| 久久国产精品首页| 欧美多人乱p欧美4p久久| 91在线高清免费观看| 91久久精品国产91久久性色| 久久视频免费在线播放| 性欧美亚洲xxxx乳在线观看| 亚洲欧美激情视频| 欧美福利视频在线| 国产一区二区三区18| 午夜精品免费视频| 成人精品久久久| 久久福利视频导航| 日韩小视频网址| 欧美日韩国产中字| 日韩福利在线播放| 亚洲激情视频网| 中文字幕亚洲专区| 国产97在线视频| 国产欧美一区二区三区久久人妖| 亚洲国产福利在线| 欧美性猛交xxxxx免费看| 国产精品视频资源| 欧美成人精品h版在线观看| 菠萝蜜影院一区二区免费| 日韩三级影视基地| 国产一区二区三区网站| 成人精品在线视频| 欧美日韩国产成人在线观看| 亚洲成av人片在线观看香蕉| 亚洲精品自产拍| 国产精品久久久亚洲| 色偷偷噜噜噜亚洲男人的天堂| 国产小视频91| 日韩在线播放一区| 日韩电影大片中文字幕| 亚洲免费伊人电影在线观看av| 色综合久久中文字幕综合网小说| 国产国语videosex另类| 国产成人avxxxxx在线看| 欧美精品18videos性欧美| 日韩成人网免费视频| 亚洲一区二区三区乱码aⅴ蜜桃女| 精品国产1区2区| 欧美高清在线观看| 国产一级揄自揄精品视频| 亚洲美女精品成人在线视频| 欧美一区亚洲一区| 亚洲欧洲av一区二区| 97人人模人人爽人人喊中文字| 国产婷婷色综合av蜜臀av| 粗暴蹂躏中文一区二区三区| 欧美日韩在线另类| 国产91免费看片| 色噜噜狠狠狠综合曰曰曰88av| 日韩成人黄色av| 成人黄色av网站| 亚洲日本欧美中文幕| 亚洲欧美日韩精品久久| 精品国产成人av| 97久久精品人人澡人人爽缅北| 欧美国产日韩免费| 欧美性猛交xxxx乱大交蜜桃| 欧美精品videos| 亚洲一区二区三区777| 精品国产1区2区| 久久精品成人一区二区三区| 91精品国产色综合| 91久久精品国产91久久性色| 欧美精品亚州精品| 欧美色道久久88综合亚洲精品| 欧美老少做受xxxx高潮| 欧美老少配视频| 久久久久久久97| 亚洲国产黄色片| 亚洲欧洲一区二区三区在线观看| 国产xxx69麻豆国语对白| 日韩av中文字幕在线播放| 欧美成aaa人片在线观看蜜臀| 国产精品日日摸夜夜添夜夜av| 欧美老肥婆性猛交视频| 欧美中文字幕精品| 欧美国产高跟鞋裸体秀xxxhd| 久久综合88中文色鬼| 国产精品影片在线观看| 国产精品免费电影| 欧美另类交人妖| 亚洲免费伊人电影在线观看av| 久久伊人精品一区二区三区| 亚洲一级免费视频| 欧美午夜激情视频| 清纯唯美日韩制服另类| 欧美插天视频在线播放| 久久躁日日躁aaaaxxxx| 国产亚洲免费的视频看| 最近中文字幕mv在线一区二区三区四区| 成人黄色在线免费| 久久久噜噜噜久久久| 成人国产精品一区| 亚洲人成网在线播放| 日韩久久免费视频| 97久久国产精品| 国产欧美一区二区三区视频| 亚洲精品aⅴ中文字幕乱码| 亚洲欧美成人精品| 亚洲精品免费av| 日韩中文视频免费在线观看| 一本色道久久88综合亚洲精品ⅰ| 亚洲一二在线观看| 91亚洲国产成人精品性色| 国产丝袜一区视频在线观看| 国产精品爽爽爽爽爽爽在线观看| 国产精品自产拍在线观看| www.亚洲一二| 青青草99啪国产免费| 福利一区福利二区微拍刺激| 日韩不卡在线观看| 97久久伊人激情网| 精品国产一区二区三区久久狼黑人| 久久精品99久久久香蕉| 久久亚洲综合国产精品99麻豆精品福利| 国产日韩专区在线| 日韩精品免费在线播放| 在线午夜精品自拍| 亚洲国产精品大全| 欧美午夜影院在线视频| 久久精品国产91精品亚洲| 日韩精品中文字幕在线观看| 秋霞成人午夜鲁丝一区二区三区| 午夜精品理论片| 热久久视久久精品18亚洲精品| 久久精品人人爽| 亚洲在线一区二区| 91精品国产高清久久久久久91| 亚洲美女自拍视频| 亚洲免费av电影| 色噜噜狠狠狠综合曰曰曰| 国产美女直播视频一区| 91免费电影网站| 国产精品自在线| 久久精品久久精品亚洲人| 亚洲精品女av网站| www国产精品com| 国产精品久久久久免费a∨| 亚洲精品www久久久| 亚洲码在线观看| 精品国产一区二区三区久久狼黑人| 在线日韩第一页| 日韩中文在线中文网在线观看| 国产精品h片在线播放| 国产一区二区三区在线观看网站| 欧美在线亚洲在线| 亚洲成人在线视频播放| 亚洲精品日韩激情在线电影| 国产欧美一区二区三区久久人妖| 日韩av免费在线看| 日韩精品中文字幕在线观看| 成人精品一区二区三区电影免费| 中文字幕欧美专区| 另类少妇人与禽zozz0性伦|