ASP编程:一个能够读取ID3信息的类[能够很便利添...
国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了<!--METADATATYPE="typelib"UUID="00000205-0000-0010-8000-00AA006D2EA4"
NAME="ADODBTypeLibrary"
-->
<%
Author:小龙zyvslxl,zyvslxl@163.com请保存
需指定的属性
Path文件的路径
类头部分界说的属性为能够失掉信息,固然不止这个,实际上能够前往任何标签值
在Id3v2()中的SelectcaseFrameId(i)部分到场已知的标签,能够前往响应的内容
由于团体常识无限,会的话请指教
可用办法
CreateStream翻开文件流
pre实行
CloseStream封闭文件流
Classmp3
PublicPath
PublicFlag
PublicTitle题目
PublicArtist作者
PublicAlbum专集
PublicIssueYear出品年月
PublicComment备注
PublicGenre范例
PublicTcon派别
PublicMpTime工夫
PublicUSLT歌词
PrivateobjStream
[待扩大]
privateFunctionExitext()
Dimext
ext=lcase(right(path,len(path)-inStrRev(".")))
Exitext=ext
EndFunction
[转换函数,有些范例仍是判别不了]
privateFunctionbin2str(binstr,num)
onerrorresumenext
Dimvarlen,clow,ccc,skipflag,i,biy
skipflag=0
ccc=""
Fori=1Tonum
clow=MidB(binstr,i,1)
Ifascb(clow)=0then
skipflag=0
ccc=null
Else
Ifskipflag=0Then
IfAscB(clow)>127Then
ccc=ccc&Chr(AscW(MidB(binstr,i+1,1)&clow))
skipflag=1
Else
ccc=ccc&Chr(AscB(clow))
EndIf
Else
skipflag=0
EndIf
EndIf
Next
bin2str=ccc
EndFunction
[载进文件]
PublicFunctionCreateStream()
onerrorresumenext
SetobjStream=Server.CreateObject("ADODB.Stream")
objStream.Type=adTypeBinary
objStream.Open
Err.clear
objStream.LoadFromFilePath
Iferr0Then
objStream.LoadFromFileserver.mappath(Path)
EndIf
Err.clear
EndFunction
[封闭文件流]
PublicFunctionCloseStream()
objStream.close
SetobjStream=nothing
EndFunction
[标记信息]
PublicFunctionid()
DimComm
objStream.position=0
Comm=objStream.Read(3)
id=bin2str(Comm)
EndFunction
PrivateFunctionId3v2()
DimFrameID()
DimFrameSize()
DimFrameSize1()
DimFlags()
DimFrame()
DimMaxSize
Dimi
i=0
objStream.position=6
MaxSize=TopSize(objStream.Read(4))
response.write"<fontcolor=red>"&MaxSize&"</font><br>"
DoWhileObjStream.Position<MaxSize
ReDimPreserveFrameID(i),FrameSize(i),FrameSize1(i),Flags(i),Frame(i)
FrameID(i)=bin2str(objStream.Read(4),4)
IfIsnull(FrameId(i))orFrameId(i)=""ThenExitDo
FrameSize(i)=Size(objStream.Read(4))
IfIsnull(FrameSize(i))orFrameSize(i)=0ThenExitDo
objStream.Read(2)
objStream.Read(1)
Frame(i)=bin2str(objStream.Read(FrameSize(i)),FrameSize(i))
i=i+1
Loop
[顺次赋值给属性]
Dimj
j=i-1
Fori=0toj
response.writei
SelectcaseUcase(FrameId(i))
Case"TIT2":Title=cstr(Frame(i))
Case"COMM":Comment=cstr(Frame(i))
Case"TPE1":Artist=cstr(Frame(i))
Case"TALB":Album=cstr(Frame(i))
Case"TYER":IssueYear=cstr(Frame(i))
Case"TCON":TCON=cstr(Frame(i))
Case"TIME":MPTIME=cstr(Frame(i))
Case"USLT":USLT=cstr(Frame(i))
EndSelect
Next
EndFunction
[猎取标签帧长度/某个详细标签内容长度]
PrivateFunctionSize(num)
Size=Null
Dima,b,c,d
a=midb</p>使用cdonts,可以发送、查看邮件,实现webmail的功能。结合wsh,可以实现对nt主机的管理,如nt用户管理、iis虚拟主机设置、exchange邮箱设置等等,就像管理本地机一样方便。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
页:
[1]