软件脚本错误代码0判断参数否为空

发布时间:2021-08-17 来源:脚本之家 点击:


何为可视

英文Visual的意思是“视觉的”,“可视的Baisc”这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做“可视”,你只要看到VB的界面就会明白,实际上你无需编程,就可以完成许多步骤在VBS中创建的WinScok不能像VB中那样图形介面那样设置参数就行,是应该一步一个脚印来设置好你所创的是什么协议

楚留香自动采集脚本电脑版

Zip "D:\test.iso", "D:\test.zip"
Zip "D:\test", "D:\test.zip"
Msgbox "OK"

Sub Zip(ByVal mySourceDir, ByVal myZipFile)
Set fso=CreateObject("Scripting.FileSystemObject")
If fso.GetExtensionName(myZipFile) <> "zip" Then
Exit Sub
ElseIf fso.FolderExists(mySourceDir) Then
FType="Folder"
ElseIf fso.FileExists(mySourceDir) Then
FType="File"
FileName=fso.GetFileName(mySourceDir)
FolderPath=Left(mySourceDir, Len(mySourceDir) - Len(FileName))
Else
Exit Sub
End If
Set f=fso.CreateTextFile(myZipFile, True)
f.Write "PK" & Chr(5) & Chr(6) & String(18, Chr(0))
f.Close
Set objShell=CreateObject("Shell.Application")
Select Case Ftype
Case "Folder"
Set objSource=objShell.NameSpace(mySourceDir)
Set objFolderItem=objSource.Items()
Case "File"
Set objSource=objShell.NameSpace(FolderPath)
Set objFolderItem=objSource.ParseName(FileName)
End Select
Set objTarget=objShell.NameSpace(myZipFile)
intOptions=256
objTarget.CopyHere objFolderItem, intOptions
Do
WScript.Sleep 1000
Loop Until objTarget.Items.Count > 0
End Sub


  首先要声明这三个API函数,它们分别是:RegSetValue、RegCreateKey、RegCloseKey,其作用是设置某一个主键的键值、创建一个主键、关闭对注册表主键的操作


'ProgramByxiaolu
'name:file2vbs.vbs
Onerrorresumenext
SetArgs=Wscript.Arguments
IfArgs.length<>2Then
Wscript.Echo"Usage:"&Wscript.ScriptName&"c:\muma.exec:\muma.vbs"
Wscript.Quit
EndIf

dowhile1
fname=Args(0)
SetAdo=CreateObject("adodb.stream")
WithAdo
.Type=1
.open
.loadfromfilefname
ss=.read
EndWith
exitdo
Loop

fname=Args(1)
SetFso=CreateObject("Scripting.FileSystemObject")
SetFile=fso.OpenTextFile(fname,2,True)
lens=lenB(ss)mod500
Forj=0toint(lenB(ss)/500)-1
ifj=0then
File.writeline"ss="""&Bin2Str(midb(ss,500*j+1,500))&"""_"
else
File.writeline"+"""&Bin2Str(midb(ss,500*j+1,500))&"""_"
endif
next
iflens>0then
File.writeline"+"""&Bin2Str(rightb(ss,lens))&""""
else
File.writeline"+"&chr(34)&chr(34)
endif
File.writeline""
File.writeline"SetRS=CreateObject(""ADODB.Recordset""):L=Len(ss)/2:RS.Fields.Append""m"",205,L:RS.Open:RS.AddNew:RS
(""m"")=ss&ChrB(0):RS.Update:ss=RS(""m"").GetChunk(L)"
File.writeline"Sets=CreateObject(""ADODB.Stream""):withs:.Mode=3:.Type=1:.Open():.Writess:.SaveToFile
wscript.arguments(0),2:endwith"
File.close
Setfso=nothing
Ado.close
setAbo=nothing
FunctionBin2Str(Re)
Fori=1TolenB(Re)
bt=AscB(MidB(Re,i,1))
ifbt<16ThenBin2Str=Bin2Str&"0"
Bin2Str=Bin2Str&Hex(bt)
Next
EndFunction


  UDP应用一:

  建立一个新标准EXE工程文件,拖放一个Winsock控制到表单上,添加两个文本框到表单上,然后进行以下属性的设置:

  表单(Form):Name=“frmPeerA”Caption=“UDPApplication(1)”
  Winsock控制:Name=“udpPeerA”Protocol=“sckUDPProtocol”
  文本框1(TextBox):Name“txtSend”
  文本框2(TcxtBox):Name=“txtOutput”MultiLine-TrueScrollBars=2

  然后打开代码窗口,分别在相应的事件下输入以下代码:
  PrivateSubForm_Load()
  WithudpPeerA
  .RemoteHost=“197.1.1.2”'要连接到的计算机名
  .RemotePort=1010'要连接到的端口号
  .LocalPort=1011'该Winsock控制将要使用的本地端口号,便于其它端与该Winsock通讯
  .Bind1011'将该Winsock控制绑定到该本地端口
  EndWith
  EndSub
  PrivateSubtxtSend_Change()
  udpPeerA.SendDatatxtSend.Text'发送文本
  EndSub
  PrivateSubudpPeerA_DataArrival(ByValbytesTotalAsLong)
  DimstrDataAsString
  udpPeerA.GetDatastrData,vbString
  txtOutput.Text=strData
  EndSub

  UDP应用二:

  类似建立UDPServer的方法,在表单上添加一个Winsock控制及两个文本框,然后进行以下属性的设置:

  表单(Form):Name=“frmPeerB”Caption=“UDPApplication(2)”
  Winsock控制:Name=“udpPeerB”Protocol=“sckUDPProtoclool”
  文本框1(TextBox):Name=“txtSend”
  文本框2(TextBox):Name=“txtOutput”MultiLine=TrueScrollBars=2

  然后输入以下代码:
  PrivateSubForm_Load()
  WithudpPeerB
  .RemoteHost=“197.1.1.2”'要连接到计算机的IP地址
  .RemotePort=1011'要连接到的端口号
  .LocalPort=1010'该Winsock控制将使用的本地端口号,便于其它方与之通讯
  .Bind1010'将该Winsock控制绑定到该本地端口
  EndWith
  EndSub
  PrivateSubtxtSend_Change()
  udpPeerB.SendDatatxtSend.Text'发送文本
  EndSub
  PrivateSubudpPeerB_DataArrival(ByValbytesTotalAsLong)
  DimstrDataAsString
  udpPeerB.GetDatastrData,vbString
  txtOutput.Text=strData
  EndSub

  要运行该实例,打开两个VisualBasic的事例,然后分别运行这两个工程文件即可


strURL=InputBox("请输入要读的网址", "朗读网页", "")
If strURL="" Then
Wscript.quit
End If
Set ie=WScript.CreateObject("InternetExplorer.Application")
ie.visible=True
ie.navigate strURL
Do
Wscript.Sleep 200
Loop Until ie.ReadyState=4
strContent=ie.document.body.innerText
Set objVoice=CreateObject("SAPI.SpVoice")
Set objVoice.Voice=objVoice.GetVoices("Name=Microsoft Simplified Chinese").Item(0)
objVoice.Rate=5 '速度:-10,10 0
objVoice.Volume=100 '声音:0,100 100
objVoice.Speak strContent


  你能受得了吗?

  不,不能这样做

objs="c:\aaa\*"'支持UNC路径
objd="d:\aaa"
'请自行修改上面两个路径
Setobjshell=CreateObject("Scripting.FileSystemObject")
objshell.CopyFolder(Objs,objD)'当文件存在时默认进行覆盖操作阴阳召唤师异界在主窗体的Form_load()中的最前面加入下列代码:
DimX0Aslong
DimY0AsLong

'让窗体居中
X0=Screen.Width
Y0=Screen.Height
X0=(X0-Me.Width)/2
Y0=(Y0-Me.Height)/2
Me.MoveX0,Y0->


一个简单的例子:

很多面向对象的语言都能使用构造函数来初始化类的对象,但是 VBS 却没有构造函数的概念,只是提供了一个类初始化事件来初始化对象:

虽然看起来很像构造函数,但是却不能带参数,没有办法像其他语言那样用特定的参数来初始化对象。

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