仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 510|回复: 8
打印 上一主题 下一主题

[学习教程] ASP编程:一个能够读取ID3信息的类[能够很便利添...

[复制链接]
蒙在股里 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:37:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
国内有些大的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


[ID3V2信息读取]
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)[Flag]
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邮箱设置等等,就像管理本地机一样方便。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-20 10:46:06 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
若天明 该用户已被删除
板凳
发表于 2015-1-29 06:47:50 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
小魔女 该用户已被删除
地板
发表于 2015-1-31 06:06:34 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
谁可相欹 该用户已被删除
5#
发表于 2015-1-31 13:30:23 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
山那边是海 该用户已被删除
6#
发表于 2015-2-6 19:31:31 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
admin 该用户已被删除
7#
发表于 2015-3-6 03:37:09 | 只看该作者
没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。
再现理想 该用户已被删除
8#
发表于 2015-3-12 19:31:51 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
金色的骷髅 该用户已被删除
9#
发表于 2015-3-20 02:05:58 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-9 02:10

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表