收藏 分享(赏)

跟我学编程系列.txt

上传人:hskm5268 文档编号:5818716 上传时间:2019-03-18 格式:TXT 页数:10 大小:18.51KB
下载 相关 举报
跟我学编程系列.txt_第1页
第1页 / 共10页
跟我学编程系列.txt_第2页
第2页 / 共10页
跟我学编程系列.txt_第3页
第3页 / 共10页
跟我学编程系列.txt_第4页
第4页 / 共10页
跟我学编程系列.txt_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、一个在黑客界引起轰动的菜鸟教材-跟我学编程系列跟我学编程系列原黑白新区记忆碎片的帖子!转贴上来,供大家学习!发现大部分黑白的朋友都不会编程, 这可不是件好事, 所以这次我就写了一个简单的编程教程, 讲一下VBScript. 主要面向菜鸟, 懂得编程的朋友就不要浪费时间了, 如果你想接触以下VBScript也可以, 但既然有编程基础推荐直接去找一些参考书来读, 会比较快.什么是VBScript呢? VBScript的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版). 正如其字面所透露的信息, VBS(VBScript的进一步简写

2、)是基于Visual Basic的脚本 . 我进一步 一下, Microsoft Visual Basic是微软公司 的一 可视化编程 , 基于Basic. 脚本 , 就是不编 进 件, 直接 主(host) , 简单 就是你写的程 不 要编 .exe, 是直接 发 .vbs的 程 , 就 了.我菜鸟现在的就是 什么 来发VBS程 了, currency1是:记事本(Notepad).我不是“,其fi一fl 本编 都可以 来发VBS发, 不记事本是 系 的, 比较好找 . 如”, 我是你去下 一个 的 本编 , 这些 可以供“ “ , 发, 一个你好, 我比较Edit Plus (2.10).

3、 OK, 我 来写一个VBScript程 .REM 你的 字InputBox Msgbox Dim name,msgmsg=“ 你的 字:“ name=Inputbox(msg,“ 称“) Msgbox(name) 上面的程 单 记事本面, 然 以.vbs 的 件(“ “面 “所有件“).然 , 果. : 程 单, 不要 - 贴!我来 一下这个程 , 一 的分是“REM“ “ “, 这 个 的 是相同的, 表示本 是 , 就是 这 什么也不干,是 来 明这段程 的 , 版权信息. 是程 重要的部分之一, 它不是必 的, 但对于其他人阅读 , 以及 分析 是很有好处的. 好的习惯是在必要的地上晰

4、, 简洁的 .Dim 来声明一个变量, 在VBS中, 变量 不是那么重要, 就是 VBS会帮你 动识变量,且变量在 前不一定要 声明, 程 会动态分配变量空间. 在VBS中你不 考虑name储 的是一个整是一个小 (学 叫“浮 “), 也不 考虑是不是字符串(一串字符, 比如:“Hello World“), VBS会 动帮你搞定. 所以三 可以删除, 效果不会变, 但我强烈反对这么做, 一个变量的基本原则就是:声明, .变量 字母,可以 下划线, 字, 但不 vbs经定义的字, 比如dim, 也不 是纯 字.下一 被称之“赋值“, “=“是赋值符号, 不是 学中的于号, 看起来一样.这是正的理

5、 ,你要理 于也没有什么不可. 赋值号的左边是一个变量, 右边是要赋 变量的值, 经赋值以 , msg这个变量在程 中同于“ 你的 字:“这个字符串,但当msg被再次 的时候, 原值就会消失. 不光字符串, 其他fi变量都这样被赋值, 例如: a=2, b=12.222.再往下,Inputbox Msgbox是VBS内的 , 一个 就相当于一个“黑箱“, 有 (参 ) (返 值), 你可以不 了 是怎么 的, 要了 这个 干什么就 了, 我 也可以定义 的 , 不那要 以 再讲. 现在我 要了 , 一个 可以有返 值也可以没有, 可以有参 也可以没有. 例如Inputbox就是有返 值的 ,

6、我 赋值号左边的变量来“接“住InputBox的返 值-就是你 的内容. 在inputbox右边的括号是参 列表, 每个参 “,“分隔, 每个参 有不同的效, 比如一个参 会 示在示, 我 msg这个变量 一个参 传 了Inputbox , msg=“ 你的 字:“, 所以我 在对话框的示栏就会看 “ 你的 字:“ 个参 是对话框的标题, 我 直接量(学 叫“常量“, 这是“字符串常量“)传递 , 当然你也可以传递变量. Inputbox有很多参 , 比如你在“ 称“ 面再一个“,“然 一串字符(字符串, 引号“包裹起来的一串字符叫做字符串)然 , 看看 果. 你会发现 于 的 本框有了默认的

7、值, 这就是三个参 的 .Msgbox 是 来 的 , 在VBS中没有门的 (BASIC中的print,C中的printf),所以我 对话框来 果, Msgbox的必要参 有一个, 就是要 的内容, 在这fl情况下,我 不 要理会msgbox的返 值. 于Msgbox Inputbox我 以 会在讨论, 今天是 , ”止.要 :1) (以REM或 ) 在程 中不起 , 但 让人 容易读懂你的程 .2) 变量好像一个盒子, 或一个 号, 可以 表你想 表的 . 变量赋值 “=“ 3) 以“包裹起来的字符称之“字符串三篇(共六篇):首 , 我来 决一下上次课程的几个疑问一, 那个 问题, 16 /

8、 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什么会不一样呢? 在 学上c=(a+b)*2 c=a*2+b*2是 的, 在VBS中也是如”. 问题 在“+“上, 在VBS中, +不 是号的 表示 个字符串 接起来, 例如“Hello“+“W

9、orld“=“HelloWorld“ have you understood? 你记得InoutBox 的返 值 ?是字符串! 这就看 问题了 , 在编程中“1“不于(a then msgbox(“B大于A“)我 看 一 , ab这个子(表)有一个返 值, 是bool的. 这个子有 fl可 :b大于a, b不大于a, 所以这个子也有 fl可 , 或. if fi这个表的返 值是是, 如果是(true)则 then 面的 , 如果是, 则不 , 你 a的值 14看看会不会 对话框?当我 要在fi之 多 怎么呢, 我 要 来 决, 在这可以叫 ifdim a,ba=12b=13if a)个, 这不

10、是必 的, 但是是一个好习惯, 以 看程 的 fl. 这样我 就 多于一个的 , if.then.end if 这三个部分不要了. OK, 我 一个题, 一个 ,如果小于100就 “ “, 如果大于100就 “正 “, 我这有 个程 版本:dim aa=inputbox(“ 一个大于100的 “)a=int(a) inputbox返 的是字符串, 我 他变 整 : )if a100 then msgbox(“正 “)if a100 then msgbox(“正 “)elsemsgbox(“ “)end if看 多了一个else了 , else的 就是当要fi的表false时 的. 这样程 就可

11、以处理 fl不同的情况了. 不要 了 end if , 我是变态, 现在我要你处理三fl情况, 100, 要写在一个if fl, 你怎么, 我 你currency1:dim aa=inputbox(“ 一个大于100的 “)a=int(a) inputbox返 的是字符串, 我 他变 整 if a100 then msgbox(“正 “)elseif a=100 thenmsgbox(“ 大, 你我?“)elsemsgbox(“ “)end if这次 100看看, 是什篇(共六篇):大家好, 天我息了一天, 所以今天写4: fl我 来看一题: 进 每 , 要 今天的 , 每次 一个 , 这题其

12、很简单, 但就我 现在学的识要 这题相当 , 我 来分析一下. 首 , 我 要 的次 , 这样“ currency1 的次 ,但是, 这fl 是 常 效的, 每天都要重新 程 . 定今天进 了5次易, 以下是 程 :dim sumsum=0 化变量sum=sum + int(inputbox(“ 易 “)sum=sum+x这fl是 本 的值 来, 进 一次 , 再 本 , 这fl 很有 处这 了 , inputbox的返 值直接传 int , 转化 整 , 下同sum=sum + int(inputbox(“ 易 “)sum=sum + int(inputbox(“ 易 “)sum=sum +

13、 int(inputbox(“ 易 “)sum=sum + int(inputbox(“ 易 “)msgbox(sum)看 了 , 我 程 了5“ 好了程 , 这fl程 在易所易次 的地 , 如果不是要 , 贴几 ? 我 今天讲的内容就可以 这fl , 首 , 我 来讲以下Do.Loop .do.loop的 fl看上去 常简单, 就是:do.loop, ” , 这个 fl不fi do loop之间的 (学 叫:”), 不止. 个例子来 :domsgbox(“这个信息会不fi重 现, 要止程 理(Ctrl+Alt+Del)中止wscript进程“)loop 这个程 , 当你 一个对话框上会 来

14、一个, 你 不 , 有下一个. 会 这样的程 ? 除 是 人 (我就干这fl事), 所以在doloop fl中有一个 :exit do, 这个 止, loop 面的 继续. 据个例子来 :dim a :常量不 要在dim面声明,否则会引发 const pass=“123456“ 这是一个字符串 “包裹起来. 定密 常量, 不可变 doa=inputbox(“ 密 “)if a=pass then msgbox(“密 校验 “)exit doend ifloop这个程 会一直不的问你密 , 你 了正 的密 止.(if可以 在 一个if当中, 也可以 在”当中, 所以一定要 缩进, 来分程 的各个

15、部分). 这个程 是很经典的, 早期的程 都是这么做的. 但是我 是Hacker, 所以我 了 系的安全, 这fl无限次认证程 很容易被穷 破 , 我 要来限定认证的次 . 程 如下dim a,ctrctr=0 置 const pass=“pas123_“ 上面的那个是弱密 , 这次 的强一 doif ctr=3 thenmsgbox(“经 认证上限, 认证程 闭“)exit doelsea=inputbox(“ 密 “)if a=pass thenmsgbox(“认证 “)msgbox(“(你可以在这一段 得 的信息)“)exit doelsectr=ctr+1 如果密 就增一次 认证 ms

16、gbox(“认证 , 检查密 “)end ifend ifloop 这个程 试试看, 当你 了3” 以 , 就会止再次询问密 , 闭程 . telnet认证 来限 次 的程 ”大同小异. 要 的是 的if , 仔细读一下这个程 , 可 比较难懂, 也 你试 一下似的程 .其, 要在do.loop上验证的 , 不一定要 if, 我 可以直接利 do. 我来一下while字, while可以 在do或是loop 面, 然 再接一个表, 当表的值true的时候(表 立),“ ”.我 来看一下 的程 “dim a,ctrctr=0const pass=“pas123_“do while ctra2 t

17、hen msgbox(a1)elseif a1b2 then msgbox(b1)elseif b1c2 then msgbox(c1)elseif c1t2 thenco=t1 “ =表“这fl 返 果elseif t2t1 thenco=t2end ifend function我 在这是 了一个新的字:funciton, 这个字表示一个新 , :funciton (参 1, 参 2.参 n) 列表可以是空的, 但括号不 省略, 参 之间 “,“分割.exit funciton 束 , 不是必 的.end function 是一个模 , 有你调 的时候“会 , 也就 , 当你编写了一个 ,

18、然 在程 中 不调 它, 那么这个 不会 . 一般来 , 我 编写程 是按照:主程 12 细 一下: 中重要的是参 返 值. 参 是在 面的()定义的, “,“分割, 参 的时候我 也“,“分割. 这我想起一件事, 天有个朋友 我发消息问我:msgbox(name1,name2,name3)这个 在? 什么不 同时 示 三个变量? 这就是你 了“,“, 这个符号表示你 的三个量 三个不同参 传递 msgbox() , msgbox() 会 示 一个参 , 个参 的 是 现在标题栏. 所以你 “&“或“+“ 三个字符串变量 接起来, 一个参 传递 msgbox() . 程 员 参 的时候经常 “

19、参“,“参“这样的“黑话“, 我来 一下. “参“是“参 “的简称, “参“是“ 参 “的简称, 参是 你调 的时候传递 的量, 可以变量或常量(直接量), 例如:co(12,24)中的12,24就是参. 参是你在 定义时定义的变量, 这些变量 来“接住“传递来的量, 例如function co(t1,t2)t1,t2就是参.在VBScript中, 参 传递是一fl传值, 不是传 ( 不明白不要 , 学了C 的 你就明白了), 所以我 进 的参传递 上是进 了一次变量赋值, 例如我 调 co(a1,a2), 上程 会 一步:t1=a1,t2=a2这样的操 . 同样传值传 的原, VBScrip

20、t 返 一个值, 我 来看看什么叫“返 “. 当一个程调 了 一个程的时候(比如主程 调 了 ), currency1 权就 了被调 程那, 当这个程 以 , 会 调 它的地继续 , 这个就叫做“返 “, 返 的时候可以一个值叫做“返 值“(这是“ “的理 ). 在vbs继 了basic的传, 返 的时候 “ =返 值“的 , 这个“返 值“是 一个表(在编程中, fi 都是表, 比如变量a, 常 0, “Hello“,c=1+2这都是表). 比如有一个 是ht, 则返 的 是:ht=你要返 的值. :返 以 , 面的 不再 .调 一个 我就不 讲了 :变量= (参 )有时候我 不 要返 什么值, 这个时候我 可以 一fl称之“子程 “的 fl. 子程 或称之程 的 就在于:1) 没有返 值, 2) sub字定义, 3) Call调 . 个例子:dim ynamename=inputbox(“ 你的 字:“)call who(yname)sub who(cname)msgbox(“你好“ & cname)msgbox(“ 你阅读我的课程“)msgbox(“这是基础部分的 一课“)end sub你一定看明白了, 很简单的. 退 一个程 退 一个

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 实用文档 > 解决方案

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报