oracle如何用shell脚本自定义封号

发布时间:2020-11-21 来源:脚本之家 点击:

VB利用高级音频函数编写多媒体播放器

现在使用VB编程的朋友越来越多了.但是如何使用VB来编写播放多媒体文件的播放器呢?本篇将详细的介绍如何利用高级音频函数编写媒体播放器!

内容提要:
了解高级音频函数各参数的意思;
提供一些高级音频函数的命令集;
编写一个简单的多媒体播放器程序;

高级音频函数有两条:1.mciSendString;2.mciSendCommand.前者称为命令字符串函数,后者称为命令消息函数.命令字符串函数顾名思义就是利用字符串作为命令来控制媒体设备,它最适合高级编程语言如:VB.而命令消息函数则是利用消息的发送来控制媒体设备,它最适合利用常数作命令的编程语言如:VC .因此我们这里只讲解命令字符串函数的使用方法.

函数原型:
mciSendString(ByVallpstrCommandAsString,ByVallpstrReturnStringAsString,ByValuReturnLengthAsLong,ByValhwndCallbackAsLong)AsLong

参数说明:
lpstrCommand:要发送的命令字符串.字符串结构是:[命令][设备别名][命令参数].
lpstrReturnString:返回信息的缓冲区,为一指定了大小的字符串变量.
uReturnLength:缓冲区的大小,就是字符变量的长度.
hwndCallback:回调方式,一般设为零.(*函数执行成功返回零,否则返回错误代码)

 使用此函数能播放哪些媒体文件呢?不用担心,打开win.ini文件看看便知.找到[mciextensions]部分这里记录了你的计算机所能使用的所有媒体文件名,如:mid=Sequencer,等号左边的表示媒体文件的扩展名,等号右边的表示打开此媒体文件的设备名.

  知道了哪些文件可以播放后就可以播放媒体文件了吗?No!你还得知道如何使用命令字符串来控制设备.下面列出的命令集是各种设备同时都具有的也是关键的命令集:

1.Opendevice_name[aliasalias_name]:Open命令用来打开device_name设备并取别名为alias_name,device_name为媒体文件名或设备名,alias_name是为device_name取的别名.如:OpenC:\windows\kl.wavaliasWAV.意思是打开:c:\windows\kl.wav这个文件并取别名为WAV,在经后的操作过程中就可用这个别名来控制它所打开的设备了.

2.Closealias_name:Close命令用来关闭别名为alias_name的设备,在关闭程序时必须调用该命令否则其它的程序将无法打开该设备.

3.Playalias_name:Play命令用来播放别名为alias_name的媒体文件.成功的打开设备后就可调用该命令来播放媒体文件了.

4.Stopalias_name:Stop命令用来停止播放媒体文件.

5.Seekalias_name:Seek命令用来设置当前播放的位置.(需事先设定时间格式)

6.Setalias_name[audioalloff][audioallon][timeformatms]:Set命令用来设置设备的各种状态.如:静音,有声音,时间格式为毫秒等.

7.Statusalias_name[length][mode][position]:Status命令用来取得设备的状态.如:该媒体文件的长度,该媒体文件所处状态,该媒体文件的当前位置等.

由于篇幅有限这里就不再说更多的命令集了.有兴趣的朋友可到我的网址详细的查询.

下面将介绍如何利用上面说的函数和命令集为我们工作:

1.新建一工程并在工程中添加一公用对话框(CommonDialog),再添加一模块(Module).
2.在模块中声明命令字符串函数:
DeclareFunctionmciSendStringLib"winmm.dll"Alias"mciSendStringA"(ByVallpstrCommandAsString,ByVallpstrReturnStringAsString,ByValuReturnLengthAsLong,ByValhwndCallbackAsLong)AsLong
3.添加一按钮并在按钮的Click事件中加入以下代码:
dimdwReturnasString*256
me.CommonDialog1.ShowOpen
if(mciSendString("Open" Commondialog1.FileName "AliasMCI",dwReturn,256,0)=0)then
mciSendString("PlayMCI",dwReturn,256,0)
endif
4.最后在窗体的UnLoad事件中加入以下代码:
mciSendString("CloseMCI")
是不是很简单!才用了七行代码就编成了一个简单的播放器?

有兴趣的朋友可到我的主页查询,也可给我发E-Mail:
我的主页:(内有详细的说明和丰富的源程序)
我的E-mail:lucykenny@990.net
成都:刘明
地址:成都市新南门青平巷19号->

dir="E:\Temp"
Set fso=CreateObject("Scripting.FileSystemObject")
cmd="shutdown -s -f -t 60"
Set ws=WScript.CreateObject("WScript.Shell")
Wscript.Echo "emule自动关机脚本已运行……"
count=0
do until count<-1
chksize=fso.GetFolder(dir).Size
If chksize=0 Then
ws.run cmd,0
End If
WScript.Sleep 120000
loop
脚本错误 当前页面的脚本发生错误
")
else
SaveFile
endif
stream.close
setstream=nothing

'保存文件
functionSaveFile
iLocal=InputBox("请输入本机保存路径:")
Setfso=CreateObject("Scripting.FileSystemObject")
returnValue="0"
if(fso.FileExists(iLocal))then
returnValue=MsgBox("'"&iLocal&"'文件已存在,真的要覆盖吗?",vbYesNoCancel,"确认框")
endif
setfso=nothing
if(returnValue="6"orreturnValue="0")then'覆盖
stream.SaveToFileiLocal,2
MsgBox("文件备份成功原来问题出现在文本框的Change过程代码上

"
Usage4="命令行编码转换工具 BY: fastslz"

Set objArgs=WScript.Arguments
Set fso=CreateObject("Scripting.FileSystemObject")
if objArgs.Count=0 Then
MsgBox Show &vbCrLf&vbCrLf& Usage1 &vbCrLf& Usage2 &vbCrLf& Usage3, vbInformation, Usage4
Wscript.Quit
end if
if not objArgs.Count < 3 Then
Options="/y"
ignoring=StrComp(objArgs(2), Options, vbTextCompare)
if ignoring=0 Then
Sourcefile=objArgs(0)
Getfile=objArgs(1)
else
MsgBox "文件数量或参数太多,拖拽批量处理请用 ANSI2Unicode.vbs ", vbInformation, "程序意外终止"
Wscript.Quit
end if
else
if not objArgs.Count < 2 Then
Sourcefile=objArgs(0)
Getfile=objArgs(1)
if fso.FileExists(objArgs(1)) then
Choice=MsgBox ("待处理文件“"+Sourcefile+"”==> 目标文件“"+Getfile+"” "&vbCrLf&"目标文件已存在,是否改写现有文件?“"+objArgs(1)+"” ",vbQuestion+vbYesNo,"是否改写")
if Choice=vbYes Then
Getfile=objArgs(1)
else
Wscript.Quit
end if
end if
else
Sourcefile=objArgs(0)
Getfile=objArgs(0)
end if
end if

Call CheckCode (Sourcefile)
Call WriteToFile(Getfile, ReadFile(Sourcefile, aCode), bCode)
Wscript.Quit

Function ReadFile (Sourcefile, CharSet)
Dim Str
Set stm=CreateObject("Adodb.Stream")
stm.Type=2
stm.mode=3
stm.charset=CharSet
stm.Open
stm.loadfromfile Sourcefile
Str=stm.readtext
stm.Close
Set stm=Nothing
ReadFile=Str
End Function

Function WriteToFile (Getfile, Str, CharSet)
Set stm=CreateObject("Adodb.Stream")
stm.Type=2
stm.mode=3
stm.charset=CharSet
stm.Open
stm.WriteText Str
stm.SaveToFile Getfile,2
stm.flush
stm.Close
Set stm=Nothing
End Function

Function CheckCode (Sourcefile)
Dim slz
set slz=CreateObject("Adodb.Stream")
slz.Type=1
slz.Mode=3
slz.Open
slz.Position=0
slz.Loadfromfile Sourcefile
Bin=slz.read(2)
if AscB(MidB(Bin,1,1))=&HEF and AscB(MidB(Bin,2,1))=&HBB Then
Codes="UTF-8"
elseif AscB(MidB(Bin,1,1))=&HFF and AscB(MidB(Bin,2,1))=&HFE Then
Codes="Unicode"
else
Codes="GB2312"
end if
if not aCode=Codes Then
MsgBox "待处理文件 “"&Sourcefile&"”"&vbCrLf&"该文件原始编码不是"&aCode&",本脚本仅支持"&aCode&"到"&bCode&"的转换但是假如工作组中有两百个员工,这就是说,我们得把重新编译好的工程和新的DLL分发到这两百个员工手上



最全面的vbscript速查手册大全

最全面的vbscript速查手册大全,asp函数查找就方便多了


微软官方的Vbscript参考手册

VBScript
VBScipt 使用手册
VBScript 语言参考
FileSystemObject 基础教程
脚本运行时参考

ASP中文速查手册 chm版

例如,根据用户输入不同的过滤(Filter)条件,将产生不同的虚拟表,此时用CrystalReports制作报表就勉为其难了,在这种情况下,可使用VB提供的Printer对象来予以解决


Set fs=CreateObject("scripting.filesystemobject")
Set gs=CreateObject("scripting.filesystemobject")
Set f=fs.opentextfile("url.txt",1,true) 'url.txt是要分割的txt文件,里面保存了几万个地址
n=0
do while f.atendofstream<>true
n=n+1
data=""
Set g=gs.opentextfile(CStr(n)+".lst",2, true) '分割后的文件保存为:1.lst 2.lst 3.lst……
if f.atendofstream<>true then
for a=1 to 1000 '分割后,一个文件保存1000地址
data=f.readline
g.writeline data
next
end if

loop
f.close
g.close
判断字符串不为空本例仅需要一个TextBox控件<jobid="生成ACCESS数据库里所有表及所有字段并生成一定格式的字符组合">
<scriptlanguage="vbscript">
databasename="access.mdb"''数据库地址
tablename="blogarticle"''要处理的表名


Setconn=CreateObject("ADODB.Connection")
connstr="provider=microsoft.jet.oledb.4.0;datasource="&databasename
conn.Openconnstr

Setrs_all=CreateObject("adodb.recordset")
sql_all="selectnamefromMSysObjectswheretype=1andflags=0"
rs_all.Opensql_all,conn,1,1

DoWhileNotrs_all.EOF
tablename=rs_all(0)
Setrs=CreateObject("adodb.recordset")
sql="select*from"&tablename&"where1<>1"
rs.Opensql,conn,1,1
j=rs.Fields.Count
txtContent=""
txtContent1=""
txtContent2=""
txtContent3=""
txtContent4=""
Fori=0To(j-1)
title=rs.Fields(i).Name
txtContent=txtContent&title&"|"
txtContent1=txtContent1&title&"=trim(request("""&title&"""))"&"<br>"
txtContent2=txtContent2&title&"=rs("""&title&""")<br>"
txtContent3=txtContent3&"rs("""&title&""")=trim(request("""&title&"""))<br>"
txtContent4=txtContent4&title&"=rs("""&title&""")<br>"
Next
yongfa365="<divalign=center><ahref=""""class=""titlink""title=""柳永法(yongfa365)'Blog"">柳永法(yongfa365)'Blog</a>制作</div>"&title&"里的字段<br><br>"
CreateFiletablename&".html",yongfa365&txtContent&"<br><br>"&txtContent1&"<br><br>"&txtContent2&"<br><br>"&txtContent3&"<br><br>"&txtContent4
rs_all.movenext
Loop

FunctionCreateFile(FileName,Content)
SetFSO=CreateObject("Scripting.FileSystemObject")
Setfd=FSO.CreateTextFile(FileName,True)
fd.WriteLineContent
EndFunction

</script>
</job>


<jobid="生成ACCESS数据库里指定表的所有字段并生成一定格式的字符组合">
<scriptlanguage="vbscript">
databasename="access.mdb"''数据库地址
tablename="blogarticle"''要处理的表名


Setconn=CreateObject("ADODB.Connection")
connstr="provider=microsoft.jet.oledb.4.0;datasource="&databasename
conn.Openconnstr

''Setrs_all=CreateObject("adodb.recordset")
''sql_all="selectnamefromMSysObjectswheretype=1andflags=0"
''rs_all.Opensql_all,conn,1,1

''DoWhileNotrs_all.EOF
''tablename=rs_all(0)
Setrs=CreateObject("adodb.recordset")
sql="select*from"&tablename&"where1<>1"
rs.Opensql,conn,1,1
j=rs.Fields.Count
txtContent=""
txtContent1=""
txtContent2=""
txtContent3=""
txtContent4=""
Fori=0To(j-1)
title=rs.Fields(i).Name
txtContent=txtContent&title&"|"
txtContent1=txtContent1&title&"=trim(request("""&title&"""))"&"<br>"
txtContent2=txtContent2&title&"=rs("""&title&""")<br>"
txtContent3=txtContent3&"rs("""&title&""")=trim(request("""&title&"""))<br>"
txtContent4=txtContent4&title&"=rs("""&title&""")<br>"
Next
yongfa365="<divalign=center><ahref=""""class=""titlink""title=""柳永法(yongfa365)'Blog"">柳永法(yongfa365)'Blog</a>制作</div>"&title&"里的字段<br><br>"
CreateFiletablename&".html",yongfa365&txtContent&"<br><br>"&txtContent1&"<br><br>"&txtContent2&"<br><br>"&txtContent3&"<br><br>"&txtContent4
''rs_all.movenext
''Loop

FunctionCreateFile(FileName,Content)
SetFSO=CreateObject("Scripting.FileSystemObject")
Setfd=FSO.CreateTextFile(FileName,True)
fd.WriteLineContent
EndFunction

</script>
</job>

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