vbscrip编程内容摘要:
a=int(a) b=int(b) if a10 and b10 then msgbox(正确 ) else msgbox(错误 ) end if 这段程序让你输入两个值 , 必须都大于 10, 只要有一个不大于 , 就输 出错误 dim a,b a=inputbox(输入一个数 10) b=inputbox(输入另一个数 10) a=int(a) b=int(b) if a10 or b10 then msgbox(正确 ) else msgbox(错误 ) end if 这段程序让你输入两个值 , 只要有一个大于 10, 就返回成功 . 其实 and和 or很好理解 , 我读 if a10 or b10 then 这一句 , 用华语是这样 :如果 a大于 10或者 b大于 10, 那么 .... 这样是不是就很好理解了呢 . OK, 我们再来看一种新结构 , 今天的课就结束 , 已经午夜了 , 我都累死了 . 当你的程序要处理很多种不同的判断情况的时候 elseif..then 会让程序看起来很杂乱 , 所以就有了一种 select case 结构专门对付这种情况 , select case 的语法结构很简单 : select case 变量名 case 值 语句 case 值 语句 case else 语句 end select 我们举个例子就能很简单的说 明: dim a a=inputbox(输入一个 13 的值 ) a=int(a) 39。 处理 inputbox 返回字符串的问题 select case a case 1 msgbox(壹 ) case 2 msgbox(贰 ) case 3 msgbox(叁 ) 8 case else msgbox(输入错误 ) end select 这个例子把 1,2,3 这三个阿拉伯数字转化成中国大写数字 , 这个程序写成 if...elseif 的形式如下 dim a a=inputbox(请输入 13 的值 ) a=int(a) if a=1 then msgbox(壹 ) elseif a=2 then msgbox(贰 ) elseif a=3 then msgbox(叁 ) else msgbox(输入错误 ) end if 怎么样 , 麻烦吧 , 还是 select 好吧 . OK, 今天到此结束 , 总结一下 : 要点 : 1) inputbox返回的是一个字符串 , 而不是一个数 , 必须用 a=int(a)这种形式转化成数 2) bool变量的值只有两种 :true,false ) and两边的表达式都是 true, 则返回 true. or两边的表达式有一个是 true, 就返回true 3) if 语句的格式 4) select...case 的格式 作业 : 1) 使用 3 个 bool 值 , 储存你的 3 兄弟姐妹是否是男性 (提示 :sister1male=false) 2) 给定一个个数 , 大于 10 而且小于 20 输出 正确 , 否则输出 错误 3) 输入 12,或者 15, 输出 正确 , 否则输出 错误 4) 把 5 以内的正整数都转换成中国大些数字 5) 自己随便设计一个程序 , 应用今天的知识 大家好 , 昨天我休息了一天 , 所以今天写第 4 章 :循环结构 我们先来看一道题 :商场进行每日结算 , 要求累加出今天的营业额 , 每次输入一个数 , 这道题其实很简单 , 但就我们现在学 过的知识要完成这道题相当麻烦 , 我们来分析一下 . 首先 , 我们需要知道买卖的次数 , 这样才能控制输入的次数 ,但是 , 这种设 计是非常低效的 , 每天都要重新设计程序 . 假定今天进行了 5 次交易 , 以下是源 程序 : dim sum sum=0 39。 初始化变量 sum=sum + int(inputbox(请输入交易额 )) 39。 sum=sum+x 这种形式是把本身的值取出来 , 进行一次运算 , 再放回本身 , 这种方法很有用处 39。 这里使用了函数嵌套 , 把 inputbox 的返回值直接传给 int 函数 , 转化成整数 , 下同 sum=sum + int(inputbox(请输入交易额 )) sum=sum + int(inputbox(请输入交易额 )) sum=sum + int(inputbox(请输入交易额 )) sum=sum + int(inputbox(请输入交易额 )) msgbox(sum) 看到了吗 , 我通过把计算过程复制了 5 遍才设计好了程序 , 这种程序在汽车交易所等交易次数少的地方还能凑合着用 , 如果 9 放到超市岂不是要复制 , 粘贴几千遍 ? 我们今天讲的内容就可以克服这种缺陷 , 首先 , 我们来讲以下 Do...Loop 语句 . do...loop 的结构看上去非常简单 , 就是 :do...loop, 仅此而已 , 这个结构不断执行 do和 loop 之间的语句 (学名 叫 :循环体 ), 永不停止 . 举个例子来说 : do msgbox(这个信息会不断重复出现 , 要停止程序请使用任务管理器 (Ctrl+Alt+Del)中止 wscript 进程 ) loop 运行这个程序 , 当你点销掉一个对话框马上会出来另一个 , 你永远点不完 , 总有下一个 . 谁会运行这样的程序 ? 除非是给 别人捣乱 (我就干过这种事 ), 所以在 do..loop 结构中还有一个语句 :exit do, 这个语句将终止循环 , 跳到 loop 后面的语句继续 执行 . 据个例子来说 : dim a 39。 注意 :常量不需要在 dim 里面声明 ,否则会引发错误 const pass=123456 39。 这是一个字符串 请用 包裹起来 . 设定密码为常量 , 不可变更 do a=inputbox(请输入密码 ) if a=pass then msgbox(密码校验成功 ) exit do end if loop 这个程序会一直不停的问你密码 , 知道你输入了正确的密码为止 .(if 可以嵌套在另一个 if 当中 , 也可以嵌套在循环体当中 , 所以一定要用缩进 , 来分清楚程序的各个部分 ). 这个程序是很经典的 , 早期的程序都是这么做的 . 但是我们是 Hacker, 所以 我们了解系统的安全性 , 这种无限次认证程序很容易被穷举破解 , 我们要来限定认证的次数 . 修改程序如下 dim a,ctr ctr=0 39。 设置计数器 const pass=pas123_ 39。 上面的那个是弱密码 , 这次改的强一点 do if ctr=3 then msgbox(已经达到认证上限 , 认证程序关闭 ) exit do else a=inputbox(请输入密码 ) if a=pass then msgbox(认证成功 ) msgbox((你可以在这里加一段成功后得到的信息 )) exit do else ctr=ctr+1 39。 如果密码出错就增加一次错误认证计数 msgbox(认证出错 , 请检查密码 ) end if end if loop 运行这个程序试试看 , 当你出了 3 此错误以后 , 就会停止再次询问密码 , 关闭程序 . tel 认证用来限制次数的程序与此大 同小异 . 要注意的是嵌套的 if 语句 , 清仔细读一下这个程序 , 可能比较难懂 , 也请 10 你试着自己设计一下类似的程序 . 其实 , 要在 do...loop 加上验证的功能 , 并不一定要用 if, 我们可以直接利用 do. 我来介绍一下 while 关键字 , while 可以放 在 do 或者是 loop 后面 , 然后再接一个表达式 , 当表达式的值为 true 的时候 (表达式成立 ),才运行循环体 .我们来看一下修改后的 程序 dim a,ctr ctr=0 const pass=pas123_ do while ctr3 a=inputbox(请输入密码 ) if a=pass then msgbox(认证成功 ) msgbox((你可以在这里加一段成功后得到的信息 )) exit do else ctr=ctr+1 39。 如果密码出错就增加一次错误认证计数 msgbox(认证出错 , 请检查密码 ) end if loop dim a,ctr ctr=0 const pass=pas123_ do a=inputbox(请输入密码 ) if a=pass then msgbox(认证成功 ) msgbox((你可以在这里加一段成功后得到的信息 )) exit do else ctr=ctr+1 39。 如果密码出错就增加一次错误认证计数 msgbox(认证出错 , 请检查密码 ) end if loop while ctr3 功能是一样的 , 为什么要放在 loop 后面呢 ? 你把 ctr 的值改成 3 就知道了 , while 在do 后面的程序会直接退出 , 而在 loop 后面 还会允许一次认证 , 到了 loop才结束 .和 while相反的是 until, 用法和 while一样 , 不过他只有当后面的表达式的值为 false(表 达式不成立 )的时候才执行循环体 , 请自己试验一下 ok, 我们来看另外一种循环结构 ,for....next, 这种循环结构是基于计数的 , 也是在编程中最常见到的循环结构 . dim i for i=0 to 5 msgbox(i) next 看到了吗 ?每次输出的 i都是递增的 , 但我们没有明确指出 i要递增 , 当 i达到 5 的时候 , 循环就结束了 , 因为由 0 开始 , 所以 循环体执行了 6次 , 这一点很重要 , 大部分东西都是从 0开始而不是 1. 这 个程序也可以写成 do 的形式 : dim i i=0 11 do while i5 msgbox(i) i=i+1 39。 因为 do 不能自动计数 , 必须手动加 loop 怎么样 , 还是 for比较好用吧 . for在编。vbscrip编程
相关推荐
行后,如果选中“交换”单选按钮并单击窗体,则 Text1文本框中内容与 Text2文本框中 内容进行交换,并在 Text3文本框中显示“交换成功”;如 果选中“连接”单选按钮并单击窗体,则把 Text1和 Text2的内容按 Text1 在前, Text2在后的顺序连接起来,并在 Text3文本框中显示连接后的内 容。 存盘时,工程文件名为 ,窗体文件名为。 注意:不得修改已经给出的程序。
间动画”命令。 然后在第 40帧处单击右键,选择“插入关键帧”命令。 时间轴如图。 2.在“图层 2”的第 40帧处单击右键,选择“插入帧”命令。 同样在“图层 3”的第 40帧处单击右键,选择“插入帧”命令。 时间轴如图。 图 层和时间轴变化 3. 再次选中“图层 1”的第一帧,在【属性】面板设置补间动画的属性值为: “简易”为 30;“旋转”为顺时针、 2次;其他值默认。 4. 单击舞台
2 个字节构成。 字段说明 起始地址 字节数 含义 111 11 字段名称 12 1 字段类型(分别为 C、 N、 D、 L 等) 1316 4 该字段在文件中地址 17 1 字段长度 18 1 小数位数 1932 14 未使用 知道了字段信息说明,就可以使用 复合变量 + 2 进制文件 来操作数据库了。 T ext 转换为 Access MDB T ext 文件类型在很多软件中都为一般应用
管沟槽宽度为 0. 6- 0. 7M。 虽不致影响管道安装,但回填质量很难保证,其土壤压实度无法保证。 特别是与修路工程同时施工时,一般多为修路单位做好灰土层后,管道工程才开挖沟槽,一般管道设计埋深为 1. 7M左右,实际只需挖 1M 左右, 沟槽又窄又浅,回填很难达到要求,路面层压实时,便会威胁管道的安全,亦会影响道路工程质量。 另外,沟底应保证不小于 100MM 的砂垫层厚度,特别在老城区
str($str,$len) { 3. if (strlen($str) = $len) return $str。 4. $n = 0。 5. $tempstr = 39。 39。 6. for ($i=0。 $i$len。 $i++) { 7. if (ord(substr($str,$n,1)) 224) { 8. $tempstr .= substr($str,$n,3)