| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 741 人关注过本帖
标题:请老师帮我实现一个功能!
只看楼主 加入收藏
事业男儿
Rank: 2
等 级:论坛游民
帖 子:317
专家分:14
注 册:2007-4-25
结帖率:82.19%
收藏
已结贴  问题点数:20 回复次数:4 
请老师帮我实现一个功能!
我想做个收音机,由于连接的网址比较多,而窗体的菜单编辑器最多只能添加250个项目,多了就不行,我想用列表框来读取ini文件,然后点击列表框里的项目就可以在WindowsMediaPlayer1里播出,请各位老师帮我改改,首先我在这里祝福大家五一节快乐!谢谢大家了
收音机.rar (1.98 KB)
搜索更多相关主题的帖子: 老师 
2010-05-01 16:18
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4941
专家分:30047
注 册:2008-10-15
收藏
得分:10 

程序代码:
Private Type 数据结构类型
    名字 As String
    URL As String
End Type

Dim dat() As 数据结构类型

Private Sub Form_Load()

Dim file As String
Dim fj() As String
Dim i As String
Dim fr As Long
Dim k As Boolean

Dim j As Long

fr = FreeFile

file = "1.ini"

Open file For Input As fr
Do While Not EOF(fr)
    Line Input #fr, i
    If i = "[网络广播电台]" Then        '只有读到头,才算结束
        k = True
    End If
   
    If UCase(i) = "END" Then                   '读到 end ,算文件结束
        Exit Do
    End If
   
    If k Then           '只有读到头后,才开始分析网址
        If InStr(1, i, "=") > 0 Then
            j = j + 1           '首次要计数
        End If
    End If
Loop

Close #fr

ReDim dat(j)
j = 0

Open file For Input As fr
Do While Not EOF(fr)
    Line Input #fr, i
    If i = "[网络广播电台]" Then        '只有读到头,才算结束
        k = True
    End If
   
    If UCase(i) = "END" Then                   '读到 end ,算文件结束
        Exit Do
    End If
   
    If k Then           '只有读到头后,才开始分析网址
        If InStr(1, i, "=") > 0 Then
            fj = Split(i, "=")
           
            dat(j).名字 = fj(0)
            dat(j).URL = fj(1)
            List1.AddItem dat(j).名字
           
            j = j + 1           '首次要计数
        End If
    End If
Loop
Close #fr

Me.Caption = "网络收音机"
List1.ToolTipText = "双击换台"

End Sub

Private Sub List1_DblClick()
    WindowsMediaPlayer1.URL = dat(List1.ListIndex).URL
    Me.Caption = "网络收音机--" & dat(List1.ListIndex).名字
End Sub

授人于鱼,不如授人于渔
早已停用QQ了
2010-05-01 20:24
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:10 
记得我回过一个楼主问过的类似的问题

程序代码:
Dim sAdress() As String
Private Sub Form_Load()
Dim sTmpStr As String
sTmpStr = TextGetByFile(App.Path + "\1.ini")
Dim sNewStr() As String
Dim sLanMu() As String
sNewStr = Split(sTmpStr, vbCrLf)

For i = 0 To UBound(sNewStr) - 1
    sLanMu = Split(sNewStr(i), "=")
    If UBound(sLanMu) = 1 Then
       List1.AddItem sLanMu(0)
       ReDim Preserve sAdress(List1.ListCount - 1)
       sAdress(List1.ListCount - 1) = sLanMu(1)
    End If
Next

End Sub
Public Function TextGetByFile(ByVal pFileName As String) As String
      Dim tOutText     As String
      Dim tFileNumber     As Integer
      Dim tBytes()     As Byte
      tFileNumber = FreeFile
      Open pFileName For Binary As #tFileNumber
          If CBool(LOF(tFileNumber)) Then
                  ReDim tBytes(LOF(tFileNumber) - 1)
                  Get tFileNumber, 1, tBytes()
                  tOutText = StrConv(tBytes, vbUnicode)
              Else
                  MsgBox "警告:文件" & pFileName & "是空的!", vbOKOnly, "文件无内容"
          End If
      Close #tFileNumber
      TextGetByFile = tOutText
  End Function


Private Sub List1_DblClick() '双击列表框换台
WindowsMediaPlayer1.URL = sAdress(List1.ListIndex)
End Sub


===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2010-05-01 20:52
事业男儿
Rank: 2
等 级:论坛游民
帖 子:317
专家分:14
注 册:2007-4-25
收藏
得分:0 
谢谢!风吹过b(版主)与 不说也罢 我很感激你们,相信这帖子,在论坛里点击率很高,因为这样的代码不好找!再一次谢谢你们!!
2010-05-02 00:01
事业男儿
Rank: 2
等 级:论坛游民
帖 子:317
专家分:14
注 册:2007-4-25
收藏
得分:0 
再一次提问,首先祝大家端午节快乐!请问上面的代码,我想读取本地的网页,如/360/360.html要改什么地方啊?谢谢!!
2010-06-15 20:56
快速回复:请老师帮我实现一个功能!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025513 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved