⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 小小点歌台.txt

📁 Vfp 文档 一些经典编程文章 可供初学者学习编程时使用
💻 TXT
字号:
小小点歌台 

(重庆 张毅) 



  MP3作为一种高压缩比的音频文件,能够让你仅在一张光盘中就拥有多达
上百首的歌曲。面对如此众多的曲目,你是否希望能够快速地选择自己喜爱的
歌曲播放。现在利用Visual FoxPro 5.0强大的程序设计功能,这一设想很容
易就成为了现实。 
  首先进入VF5.0,为你的曲目创建自由表格(假设文件名为wf1.dbf),字
段必须包括歌名、顺序、专辑,你也可以增添歌词、作词、作曲等。现在开始
输入记录,也许你会觉得这是件苦差事,幸好VF向我们提供了添加数据的简单
途径。一般来说,MP3光盘的每个专辑各为一子目录,其下的*.txt文件即包
括了各曲目的名称、顺序。打开任一文本编辑器,将各个txt文件合并为wf.txt,
去掉多余部分,给每一项加上专辑名,形成如下格式: 
       顺序 歌名 专辑目录名 
          . 
          . 
        . 
  在FoxPro菜单中,选择Table->Append Record, 在type框中选择源文件
格式为Delimited,间隔符为{space},在From框输入源文件名(wf.txt),完成
选择OK。 
  打开菜单File->New->Project,选择code->program,单击Modify,输
入下面程序: 
  dimension gaMylistarray(10) 
  for gncount = 1 to 10 
  store replicate(' ',10) to gaMylistarray(gncount) 
  endfor 
  frm = createobject('frmmyform') 
  frm.visible=.t. 
  frm.cmd1.Visible =.t. 
  frm.cmd2.Visible=.t. 
  frm.cmdcmndBtn1.Visible =.t. 
  frm.cmdcmndBtn2.Visible =.t. 
  frm.cmdcmndBtn3.Visible =.t. 
  frm.caption=″点歌台″ 
  _screen.visible=.f. 
  public st6,st7 
  use wf1.dbf shared&&打开歌曲数据表格 
  frm.show 
  read events 
  define class frmmyform as form 
  width=350 
  height=190 
  maxheight=200 
  maxwidth=350 
  minheight=200 
  minwidth=350 
  maxbutton=.f. 
  autocenter=.t. 
   desktop=.t. 
  showwindow=2 
  add object cmd1 as cmd1 
  add object cmd2 as cmd2 
  add object cmdcmndBtn1 as cmdMycmndBtn1 
  add object cmdcmndBtn3 as cmdMycmndBtn3 
  add object cmdcmndBtn2 as cmdMycmndBtn2 
  add object lbl as label with; 
   backstyle=0,; 
   caption="请输入歌名:",; 
   left=25,; 
   top=115 
  procedure unload 
  close all 
  clear events 
  endpro 
  procedure find 
   parameter st1 
   do while not eof() 
   skip+1 
   st2=歌名 
   true=this.compare(st1,st2) 
   if(true=.t.) 
   st6=专辑 
   st7=顺序 
   st3='专辑名:'+专辑名 
   st8='('+st7+' '+st6+')' 
   st4='歌名:'+歌名 
   frm.cmdcmndBtn1.enabled =.t. 
   this.cmd2.value=st3+chr(13)+st4+chr(13)+st8 
   return 
   endif 
   enddo 
   go top 
   this.cmd2.value=chr(13)+' 对不起,没有这首歌' 
   frm.cmdcmndBtn1.enabled =.F. 
  endpro 
  procedure compare 
  parameter source,tar 
  long1=len(source) 
  len1=long1/2 
  real=.f. 
  ka=0 
  for i=1 to long1 step 2 
   sub=substr(source,i,2) 
   if(sub$tar) 
   ka=ka+1 
   endif 
   if(ka>0.6*len1) 
   real=.t. 
   exit 
   endif 
  next 
  return real 
  endpro 
  enddefine 
  define class cmd1 as combobox 
   left=90 
   top=110 
   width=150 
   height=20 
   MultiSelect = .t. 
   autosize=.t. 
   RowSourcetype = 5 
   RowSource = 'gaMylistarray' 
   proce click 
   activate screen 
   clear 
   for ncnt = 1 to thisform.cmd1.listcount 
   if thisform.cmd1.Selected(ncnt) 
   text=thisform.cmd1.list(ncnt) 
   endif 
   endfor 
   endpro 
   procedure interactivechange 
   go top 
   frm.find(trim(frm.cmd1.text)) 
   endpro 
  enddefine 
  define class cmd2 as textbox 
   left=55 
   top=30 
   width=210 
   height=65 
   enabled=.F. 
   fontsize=12 
   disabledforecolor=0 
  enddefine 
  define class cmdMycmndBtn1 as commandButton 
   caption = '播放\   left = 20 
   top = 150 
   height = 25 
   enabled=.F. 
   num1=1 
   procedure click 
   if(this.num1=11) 
   this.num1=1 
   endif 
   gaMylistarray(this.num1)=歌名 
   this.num1=this.num1+1 
   *运行你的MP3播放器,包括盘符、路径。(这里采用mp2win5)。 
   *假设i盘为光驱,(track)是文件名公用部分。 
  run/n d:\maplay\mp2win5 i:\list7\track&st6..mp3 
  endpro 
  enddefine 
  define class cmdMycmndBtn2 as commandButton 
   caption = '查找\   left = 230 
   top=150 
   height = 25 
   procedure click 
   frm.find(trim(frm.cmd1.text)) 
   endpro 
  enddefine 
  define class cmdMycmndBtn3 as commandButton 
   caption='结束(《Q)' 
   cancel = .t. 
   left = 125 
   top = 150 
   height = 25 
   procedure click 
   close all 
   clear events 
   endpro 
  enddefine 
  选择program->compile,编译成功的一个‘小小点歌台’就做成了。程序
运行后,输入你所需的歌曲,计算机会进行动态查找。如果没有找到,单击查
找,继续搜索。一旦找到,单击播放按钮,所点歌曲即被播放。并且每次播放
的歌曲都会被收入列表菜单中(可多达10首),以便下次重放。怎么样,赶快
去试试吧! 

 

--------------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -