Delphi 中自做动态显示的控件

  • 来源: 互联网 作者: 若水   2008-03-20/14:42
  • Delphi 3.0是一个非常优秀的软件,利用它可很快地制作出一个简单的MP3音乐点歌台。
    原理:制作一个MP3播放程序(本文以Winplay3为例)的外壳,建立中文歌曲名与MP3文件的关联,从而实现中文歌名的“点歌”。
    步骤
    一、新建一个文件
    创建一个新的工程(New Project)和空白窗体(Form1),将Form1的Caption属性改为“我的点歌台”,在Form1中加入两个Comobobox构件,一个用来显示歌曲所在的专辑,将其Name属性改为zj,一个用来显示中文歌曲名称,将其Name属性改为Gq,在各自的上方分别加入一个Label构件,将其Caption属性改为“专辑选择”和“歌曲选择”,再加入两个Bitbotton构件,将其Caption属性分别设定为“播放”和“退出”。
    二、观察装有MP3文件的光盘的目录特点
    一般的目录都很有规律,如以笔者的一张光盘为例,全盘共分12张专辑,其子目录分别为:c01、c02……c12,分别建立名为c01?txt、c02?txt……c12?txt的文本文件,按顺序输入相应专辑下的中文歌曲名称,注意一个歌曲名占一行,并将其放入当前目录。在Object inspector中,选择zj,双击其Lines属性,然后依次输入专辑的名称,注意一个专辑名称占据一行;选择Gq,双击其Lines属性,删除其默认内容。
    三、编写程序
    在unit1?pas的Use语句加入Fmxutils,在Var部分加入一行:
    var filename:string,path;{filename为MP3文件的文件名,path为其路径}
    然后在Form1窗体中,双击zj,加入以下程序:
    procedure TForm1?zjChange(Sender:TObject);
    begin
    case zj?itemindex of
    0??8,10??20:path:=′e:\c0′+inttostr(zj?itemindex+1);
    9:path:=′e:\c′+inttostr(zj?itemindex+1);
    {e为光驱的盘符,据实际情况而定}
    end;
    filename:=inttostr(zj?itemindex)+ ′?txt′;
    gq?items?loadfromfile (filename);
    gq?text:=gq?Items?strings [0];
    end;
    {双击Caption属性为“播放”的按钮,加入以下内容}
    procedure TForm1?Button1Click(Sender:TObject);
    begin
    case gq?itemindex of
    0??8,10??20:filename:=path+′\′+′0′+inttostr(gq?itemindex+1)+ ′?mp3′;
    9:filename:=path+′\10?mp3′;
    else
    filename:=path+′\01?mp3′;
    end;
    executefile(‘winplay3?exe’,mpname,′c:\winplay3′,sw_hide);
    {winplay3?exe为mp3播放程序的文件名,c:\winplay为其路径,sw_hide表示为后台播放,需根据实际情况灵活确定。}
    end;
    {双击Caption属性为“关闭”的按钮,输入以下内容}
    procedure TForm1?Button1Click(Sender:TObject);
    begin
    form1?close;
    end;
    四、编译运行
    单击Run图标,程序被编译并运行。此时,单击“专辑选择”下拉框,即会出现各个专辑名称供你选择。同时,在“歌曲选择”中也会出现专辑中所有歌曲的中文名称,选择其一后,单击“播放”按钮,所点歌曲便被播放。这样,一个简单的“点歌台”就制作成功了。 

    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多