中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
小程序:LRC歌词展开
作者:未知 时间:2005-07-27 21:52 出处:CSDN 责编:chinaitpower
              摘要:小程序:LRC歌词展开

  LRC大家都知道吧(不知道?就是那个带时间标签的文本歌词格式嘛~),很好用的东东~所以最近很多MP3Player也开始支持它了。笔者手上就有一个联想F520的MP3支持,不过有点小麻烦,这个MP3只支持一行一个时间标签,但是笔者手头上的LRC一行都有好些时间标签,像这样,MP3就会把后面的时间标签全部显示出来(晕~)
  看来只能修改修改了~既然我们没办法修改MP3的固件,那就在LRC上动手脚吧~把他展开为每行一个时间标签不就得了~说干就干!
  不过我懒得再作界面,所以直接从命令行参数中获取,此外这个纠错机制不是很完善(毕竟才一个过程),大家也可以帮忙修改~
  代码如下:
Sub Main()
    Dim sCommand() As String
    Dim bTmp       As Byte
    Dim sTmp       As String
    Dim cFile      As Collection
    Dim iNum       As Integer
    Dim sTmp2      As String
    Dim i          As Integer
    Dim j          As Integer
    Dim sTmp3      As String
    Dim bIsAdd     As Boolean
    Set cFile = New Collection
    sCommand = Split(Command, "*") '用*作分隔符,很简单,文件名不能带*,用?也可以
    Open sCommand(0) For Input As #1
    Do Until EOF(1)
        Input #1, sTmp
        iNum = 0
        Do While ((Mid(sTmp, iNum * 9 + 1, 1) = "[") And (Mid(sTmp, (iNum + 1) * 9, 1) = "]"))
            iNum = iNum + 1
        Loop
        sTmp2 = Right(sTmp, Len(sTmp) - 9 * iNum)
        For i = 0 To iNum - 1
            sTmp3 = Mid(sTmp, i * 9 + 2, 7)
            If cFile.Count = 0 Then
                cFile.Add "[" & sTmp3 & "]" & sTmp2
            Else
                bIsAdd = False
                For j = 1 To cFile.Count
                    If Mid(cFile(j), 2, 7) > Mid(sTmp, i * 9 + 2, 7) Then
                        cFile.Add "[" & sTmp3 & "]" & sTmp2, , j
                        bIsAdd = True
                        Exit For
                    End If
                Next j
                If Not bIsAdd Then cFile.Add "[" & sTmp3 & "]" & sTmp2
            End If
        Next
i
    Loop
    Close #1
    Open sCommand(1) For Output As #1
    For i = 1 To cFile.Count
        Print #1, cFile(i)
    Next i
    Close #1
End Sub

  大家应该还能看的懂吧~这个经过试验还是不错的~

最终通过环境:VB6+Win2000


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有