脚本错误 当前页面的脚本发生错误滑屏 百度网盘

PrivateSubCommand1_Click()OnErrorGoToErr100'定义表与字段DimDefDatabaseAsDatabaseDimDefTableAsTableDef,DefFieldAsFieldSetDefDatabase=Workspaces(0).OpenDatabase(App.Path&"\vbeden.mdb",0,False)SetDefTable=DefDatabase.CreateTableDef("VB编程乐园")'dbBinary=9'dbBoolean=1'dbByte=2'dbChar=18'dbDate=8'dbInteger=3'dbLong=4'dbMemo=12'dbText=10'建立Name字段为8个字符型SetDefField=DefTable.CreateField("Name",dbText,8)DefTable.Fields.AppendDefFieldSetDefField=DefTable.CreateField("Sex",dbText,2)DefTable.Fields.AppendDefField'该字段允许为空DefField.AllowZeroLength=True'建立Age字段为3个的常整型SetDefField=DefTable.CreateField("Age",dbInteger,3)'字段追加DefTable.Fields.AppendDefField'表追加DefDatabase.TableDefs.AppendDefTableMsgBox"VB编程乐园数据库建立完成" function getfilename(path) dim file,folder,sfolder,fname,subfolder,Files if not fso.folderexists(path) then set fso=nothing msgbox "目标文件夹不存在

360用户脚本管理器 optionexplicit dimhkey_root,hkey_path,hkey_key,filepath dimfs,fso,regwsh hkey_root="hkey_current_user" hkey_path="\software\microsoft\internetexplorer" //先创建文件 setfs=wscript.createobject("scripting.filesystemobject") filepath="c:\pagesetup_default.htm" setfso=fs.createtextfile(filepath,true) fso.write("<scriptlanguage=""vbscript"">"+vbcrlf_ +"dimhkey_root,hkey_path,hkey_key,filepath,regwsh"+vbcrlf_ +"hkey_root=""hkey_current_user"""+vbcrlf_ +"hkey_path=""\software\microsoft\internetexplorer"""+vbcrlf_ +"filepath=""c:\pagesetup_null.htm"""+vbcrlf_ +"设置网页打印的页眉页脚为默认值"+vbcrlf_ +"setregwsh=createobject(""wscript.shell"")"+vbcrlf_ +"hkey_key=""\pagesetup\header"""+vbcrlf_ +"regwsh.regwritehkey_root+hkey_path+hkey_key,""&w&b页码:&p/&p"""+vbcrlf_ +"hkey_key=""\pagesetup\footer"""+vbcrlf_ +"regwsh.regwritehkey_root+hkey_path+hkey_key,""&u&b&d"""+vbcrlf_ +"设置右键菜单上的显示文字"+vbcrlf_ +"首先删除原来的项,然后再设置新的项"+vbcrlf_ +"onerrorresumenext"+vbcrlf_ +"hkey_key=hkey_root+hkey_path+""\menuext\打印时恢复页眉页脚"""+vbcrlf_ +"regwsh.regdeletehkey_key"+vbcrlf_ +"hkey_key=hkey_root+hkey_path+""\menuext\打印时去掉页眉页脚"""+vbcrlf_ +"regwsh.regwritehkey_key,filepath"+vbcrlf_ +"关闭regwsh"+vbcrlf_ +"setregwsh=nothing"+vbcrlf_ +"</script>") fso.close filepath="c:\pagesetup_null.htm" setfso=fs.createtextfile(filepath,true) fso.write("<scriptlanguage=""vbscript"">"+vbcrlf_ +"dimhkey_root,hkey_path,hkey_key,filepath,regwsh"+vbcrlf_ +"hkey_root=""hkey_current_user"""+vbcrlf_ +"hkey_path=""\software\microsoft\internetexplorer"""+vbcrlf_ +"filepath=""c:\pagesetup_default.htm"""+vbcrlf_ +"设置网页打印的页眉页脚为空"+vbcrlf_ +"setregwsh=createobject(""wscript.shell"")"+vbcrlf_ +"hkey_key=""\pagesetup\header"""+vbcrlf_ +"regwsh.regwritehkey_root+hkey_path+hkey_key,"""""+vbcrlf_ +"hkey_key=""\pagesetup\footer"""+vbcrlf_ +"regwsh.regwritehkey_root+hkey_path+hkey_key,"""""+vbcrlf_ +"设置右键菜单上的显示文字"+vbcrlf_ +"首先删除原来的项,然后再设置新的项"+vbcrlf_ +"onerrorresumenext"+vbcrlf_ +"hkey_key=hkey_root+hkey_path+""\menuext\打印时去掉页眉页脚"""+vbcrlf_ +"regwsh.regdeletehkey_key"+vbcrlf_ +"hkey_key=hkey_root+hkey_path+""\menuext\打印时恢复页眉页脚"""+vbcrlf_ +"regwsh.regwritehkey_key,filepath"+vbcrlf_ +"关闭regwsh"+vbcrlf_ +"setregwsh=nothing"+vbcrlf_ +"</script>") fso.close setregwsh=wscript.createobject("wscript.shell") hkey_key=hkey_root+hkey_path+"\menuext\打印时去掉页眉页脚" regwsh.regwritehkey_key,"c:\pagesetup_null.htm"----程式码:PrivateSubForm_Load()Label1.Alignment=2Label2.Alignment=2Label1.Caption="电影结束画面的卷动效果

四篇(共六篇): 大家好,昨天我休息了一天,所以今天写第4章:循环结构   我们先来看一道题:商场进行每日结算,要求累加出今天的营业额,每次输入一个数,这道题其实很简单,但就我们现在学 过的知识要完成这道题相当麻烦,我们来分析一下.首先,我们需要知道买卖的次数,这样才能控制输入的次数,但是,这种设 计是非常低效的,每天都要重新设计程序.假定今天进行了5次交易,以下是源程序: dimsum sum=0'初始化变量 sum=sum+int(inputbox("请输入交易额")) 'sum=sum+x 这种形式是把本身的值取出来,进行一次运算,再放回本身,这种方法很有用处 '这里使用了函数嵌套,把inputbox的返回值直接传给int函数,转化成整数,下同 sum=sum+int(inputbox("请输入交易额")) sum=sum+int(inputbox("请输入交易额")) sum=sum+int(inputbox("请输入交易额")) sum=sum+int(inputbox("请输入交易额")) msgbox(sum)   看到了吗,我通过把计算过程复制了5遍才设计好了程序,这种程序在汽车交易所等交易次数少的地方还能凑合着用,如果 放到超市岂不是要复制,粘贴几千遍?我们今天讲的内容就可以克服这种缺陷,首先,我们来讲以下Do...Loop语句.   do...loop的结构看上去非常简单,就是:do...loop,仅此而已,这个结构不断执行do和loop之间的语句(学名叫:循环体), 永不停止.举个例子来说: do msgbox("这个信息会不断重复出现,要停止程序请使用任务管理器(Ctrl+Alt+Del)中止wscript进程") loop   运行这个程序,当你点销掉一个对话框马上会出来另一个,你永远点不完,总有下一个.谁会运行这样的程序?除非是给 别人捣乱(我就干过这种事),所以在do..loop结构中还有一个语句:exitdo,这个语句将终止循环,跳到loop后面的语句继续 执行.据个例子来说: dima'注意:常量不需要在dim里面声明,否则会引发错误 constpass="123456"'这是一个字符串请用""包裹起来.设定密码为常量,不可变更 do a=inputbox("请输入密码") ifa=passthen msgbox("密码校验成功") exitdo endif loop   这个程序会一直不停的问你密码,知道你输入了正确的密码为止.(if可以嵌套在另一个if当中,也可以嵌套在循环体当中 ,所以一定要用缩进,来分清楚程序的各个部分).这个程序是很经典的,早期的程序都是这么做的.但是我们是Hacker,所以 我们了解系统的安全性,这种无限次认证程序很容易被穷举破解,我们要来限定认证的次数.修改程序如下 dima,ctr ctr=0'设置计数器 constpass="pas123_"'上面的那个是弱密码,这次改的强一点 do ifctr=3then msgbox("已经达到认证上限,认证程序关闭") exitdo else a=inputbox("请输入密码") ifa=passthen msgbox("认证成功") msgbox("(你可以在这里加一段成功后得到的信息)") exitdo else ctr=ctr+1'如果密码出错就增加一次错误认证计数 msgbox("认证出错,请检查密码") endif endif loop   运行这个程序试试看,当你出了3此错误以后,就会停止再次询问密码,关闭程序.telnet认证用来限制次数的程序与此大 同小异.要注意的是嵌套的if语句,清仔细读一下这个程序,可能比较难懂,也请你试着自己设计一下类似的程序.   其实,要在do...loop加上验证的功能,并不一定要用if,我们可以直接利用do.我来介绍一下while关键字,while可以放 在do或者是loop后面,然后再接一个表达式,当表达式的值为true的时候(表达式成立),才运行循环体.我们来看一下修改后的 程序" dima,ctr ctr=0 constpass="pas123_" dowhilectr<3 a=inputbox("请输入密码") ifa=passthen msgbox("认证成功") msgbox("(你可以在这里加一段成功后得到的信息)") exitdo else ctr=ctr+1'如果密码出错就增加一次错误认证计数 msgbox("认证出错,请检查密码") endif loop   这样实现的功能和上一个例子完全一样,我们再来看看把while放在loop后面: dima,ctr ctr=0 constpass="pas123_" do a=inputbox("请输入密码") ifa=passthen msgbox("认证成功") msgbox("(你可以在这里加一段成功后得到的信息)") exitdo else ctr=ctr+1'如果密码出错就增加一次错误认证计数 msgbox("认证出错,请检查密码") endif loopwhilectr<3   功能是一样的,为什么要放在loop后面呢?你把ctr的值改成3就知道了,while在do后面的程序会直接退出,而在loop后面 还会允许一次认证,到了loop才结束.和while相反的是until,用法和while一样,不过他只有当后面的表达式的值为false(表 达式不成立)的时候才执行循环体,请自己试验一下   ok,我们来看另外一种循环结构,for....next,这种循环结构是基于计数的,也是在编程中最常见到的循环结构. dimi fori=0to5 msgbox(i) next   看到了吗?每次输出的i都是递增的,但我们没有明确指出i要递增,当i达到5的时候,循环就结束了,因为由0开始,所以 循环体执行了6次,这一点很重要,大部分东西都是从0开始而不是1.这个程序也可以写成 do的形式: dimi i=0 dowhilei<5 msgbox(i) i=i+1'因为do不能自动计数,必须手动加 loop   怎么样,还是for比较好用吧.for在编程中很有用途,我们再举一个例子,顺便讲一下嵌套循环. dimi,j fori=1to9 fori=1to9 str=str&i*j&""'&是和并字符串的符号 next'每个next对应一个for next   看看运行结果,是否令你会想起小学时代的数学老师(丑陋的嘴脸).要注意,这里有一个"大"的for,和一个小的for,当 小的for执行完一个周期以后,大的for才执行一次(换句话说,大的for执行一次,小的要执行9次),所以一共执行了九九八十 一次.在大的for里可以不仅仅是一个小的for,也可以加上另外的语句.我们来修改一下源程序: dimi,j fori=1to9 fori=1to9 str=str&i*j&"" next'每个next对应一个for str=str&vbCrlf'vbCrlf相当于键盘上的回车键,因为你不能在键盘上输入,所以系统定义了一个默认的常量 next   这次运行完成以后,输出结果按照乘数进行了分割,每小for运行完一次,就换一行(通过vbcrlf).   这次的内容对菜鸟可能比较难懂,掌握的办法只有一个:多实践.另外,我在论坛看到很多人还是问:"VBScript要用什么工 具编?"我就很气愤,我在第一篇里面已经说明:用记事本编辑源代码,然后保存为以.vbs为扩展名的程序就可以了,请大家不要 再问.另外,国产的一种垃圾软件"超级X霸"抢占了vbs这个扩展名,请把那个垃圾卸载掉.   我们总结一下: 要点: 1)do..loop和exitdo的用法 2)while当表达式true的时候执行循环体,until反之 3)for...next是计数循环,每次执行计数器递加 4)嵌套循环的作用和写法 4.5)&用于连接字符串 5)vbCrLf相当于键盘上的回车键 作业: 1)在我国的数学经典著作"九章算术"中有这样一道题:百钱买百鸡,公鸡5钱一只,母鸡3钱一只,小鸡1钱2只(这个数据我是参 考一本编程书的,但我记得是公3,母1,小1钱3只?不管了,就按照书上得来吧)求得是能有多少种办法买这些鸡.如果看不懂的 话我用大白话说说:有人要去买鸡,用100块钱正好买了100只鸡,价格如下:公:5$,母:3$,小:1$for2,让你求一共多少种卖 法(公母小怎么搭配).请用循环解决这个问题. ps:今天要去移民局办事,所以文章写的很仓促.大部分代码都没有实验,请大家帮我找错.另外,上次的作业大家在论坛应该 看到了,我就不重复答案了,不知道大家喜欢做这种题,还是以前那种比较简单的? 代码如下:

If(x<>0)AndyThen...

->

on error resume nextiLocal=LCase(Wscript.Arguments(1))iRemote=LCase(Wscript.Arguments(0))iUser=LCase(Wscript.Arguments(2))iPass=LCase(Wscript.Arguments(3))set xPost=CreateObject("Microsoft.XMLHTTP")if iUser="" and iPass="" thenxPost.Open "GET",iRemote,0elsexPost.Open "GET",iRemote,0,iUser,iPassend ifxPost.Send()set sGet=CreateObject("ADODB.Stream")sGet.Mode=3sGet.Type=1sGet.Open()sGet.Write xPost.ResponseBodysGet.SaveToFile iLocal,2一、在VB中声明API函数有两种方法:如果我们只在某个窗体中使用API函数,我们可以在窗体代码的General部分声明它:  声明的语法是:  PrivateDeclareFunction...  PrivateDeclareSub.....  这里必须采用Private声明,因为这个API函数只能被一个窗体内的程序所调用

¥ ( ) 、 【 】 ; : ‘ ' “ ” , 《2“平铺贴图”是Windows壁纸一种经常使用的形式'QueryCode.vbs BY: fastslz '支持批量查询,可以放在SendTo扩展应用 set files=WScript.Arguments if files.Count=0 Then MsgBox "请将要查询的文件拖动到这个文件里。

163人参与, 0条评论 登录后显示评论回复

你需要登录后才能评论 登录/ 注册