注册 登录
编程论坛 VB6论坛

又遇到硬骨头了

事业男儿 发布于 2014-05-07 00:18, 783 次点击
版主才帮我解决问题如下
Private Sub Command1_Click()
On Error Resume Next
    cdlTest.CancelError = True
    cdlTest.DialogTitle = "上传视频"
    cdlTest.FileName = App.Path
    cdlTest.DefaultExt = "mp3(.mp3)|*.mp3"
    cdlTest.Filter = "MP4(.MP4)|*.MP4|mpg(.mpg)|*.mpg|mp3(.mp3)|*.mp3||3gp(.3gp)|*.3gp"
    cdlTest.ShowOpen
Dim a As String, b As String, c As String
a = cdlTest.FileName
If a <> "" Then
  b = IIf(InStrRev(a, ".") > 0, "." & Right(a, Len(a) - InStrRev(a, ".")), "") '获取该文件的扩展名
  If Trim(Text(0)) <> "" Then FileCopy a, App.Path & "\sp" & "\" & Text(0) & b     '如果text1内文字合法则复制并改成需要的文件名
End IfEnd Sub

上传文件是通过了,但是点击测试文件(播放)问题来了,代码如下
Private Sub Label18_Click()
WindowsMediaPlayer1.URL = App.Path & "\sp" & "\" & Text(0) & ".mp3"
End Sub
1、怎么获取后缀名呢,上面红色部分是我有意添加上去,才正常播放的,万一上传的是视频呢?
2.如果在实现第二步复制文件后在命名的时候,用Text(8)把后缀名( .MP3)往数据库里写,然后再读取出来到 Text(8)
Private Sub Label18_Click()
WindowsMediaPlayer1.URL = App.Path & "\sp" & "\" & Text(0) & "Text(8)"
End Sub
你们看这样行吗?这一切的一切都想实现傻瓜是操作。
还有什么方法呢

求详细的代码,谢谢!

[ 本帖最后由 事业男儿 于 2014-5-7 00:26 编辑 ]
14 回复
#2
lowxiong2014-05-07 07:35
建议楼主不要动不动就提问且表述不清,很多问题都要在独立思考的情况下,穷尽所有方法都不能解决时再问,一定对自己有提高的。纵观你的几个问题,对于稍微熟悉vb常用函数和编程方法的,根本就不算问题。
Private Sub Label18_Click()
  dim a as string
  a=dir(App.Path & "\sp" & "\" & Text(0) & ".*")
  if a<>"" then WindowsMediaPlayer1.URL = a
End Sub


[ 本帖最后由 lowxiong 于 2014-5-7 07:37 编辑 ]
#3
风吹过b2014-05-07 08:06
就是就是。

对了,lowxiong 兄,
  a=dir(App.Path & "\sp" & "\" & Text(0) & ".*")
这句有些时候的返回值没有 路径,需要测试一下,决定是否把路径再增加进去。
#4
lowxiong2014-05-07 08:20
回复 3 楼 风吹过 b
嗯,风兄说的是,这种情况下获得的文件是当前默认目录下的文件,不添加完整路径一样能使用,如非要添加也必须从curdir中获得,从app.path中获得路径会出错(应用程序路径不一定是当前默认路径)
#5
事业男儿2014-05-07 08:24
拜托版主  就差最后一步了,谢谢

[ 本帖最后由 事业男儿 于 2014-5-7 11:26 编辑 ]
#6
lowxiong2014-05-07 08:35
回复 5 楼 事业男儿
我也没有专业学过,专业学编程的不会对vb太熟悉的,都在c或java里转,如果不熟悉程序设计,建议学object-c,都是为手持终端编程的(平板、手机),相当有前途,进入vb了,就很难转出来了,快餐文化还是有点害人!
#7
事业男儿2014-05-07 08:42
回复 6 楼 lowxiong
版主刚刚我测试了 怎么没有反应呢。WindowsMediaPlayer1 怎么把下面的播放条去掉呢。麻烦版主一下,我就差这一步了,一个多媒体储存器就完工了。完工后,这个软件8岁-80岁都可以使用,傻瓜是操作,非常方便。

[ 本帖最后由 事业男儿 于 2014-5-7 08:49 编辑 ]
#8
事业男儿2014-05-07 11:34
热情高涨 跪求答案
#9
事业男儿2014-05-07 16:33
自己再顶一个,如果问题高盛莫测,就让它沉入大海吧
#10
lowxiong2014-05-07 16:51
WindowsMediaPlayer1.uimode="none"可以只留下播放窗口,需要自己用按钮控制播放停止,至于你测试没反应,你自己仔细单步调试肯定找的到原因
#11
lowxiong2014-05-07 16:51
WindowsMediaPlayer1.uimode="none"可以只留下播放窗口,需要自己用按钮控制播放停止,至于你测试没反应,你自己仔细单步调试肯定找的到原因
#12
事业男儿2014-05-07 17:34
回复 11 楼 lowxiong
谢谢版主!   播放器的播放条算是解决了  测试的时候要美观一点了。但是我还是播放不出来,没有任何错误提示,好像是没有找到路劲,还是谢谢你从头到尾都帮助我。结贴..............
#13
事业男儿2014-05-07 23:52
回复 4 楼 lowxiong
Private Sub Command1_Click()
Dim a As String
a = Dir(App.Path & "\sp" & "\" & Text1 & ".*")
If a <> "" Then WindowsMediaPlayer1.URL = a
End Sub
只有本站会员才能查看附件,请 登录
只有本站会员才能查看附件,请 登录

我看了一下路劲是 VB的安装路劲,只有生成EXE文件 与多媒体为一个文件夹才可以播放,它怎么就不读取\SP文件夹里面的张三.MP3。
马上0:00 百度很久也无结果,版主怎么改一下呢?本人确实愚钝,累了晚安。

[ 本帖最后由 事业男儿 于 2014-5-7 23:55 编辑 ]
#14
lowxiong2014-05-08 07:05
没验证dir返回结果。
还是应该像风版主说的,要计算下文件路径,代码如下:
Private Sub Command1_Click()
Dim a As String
a = Dir(App.Path & "\sp" & "\" & Text1 & ".*")
If a <> "" Then
  a=IIf(InStrRev(a, ".") > 0, "." & Right(a, Len(a) - InStrRev(a, ".")), "") '获取该文件的扩展名
  WindowsMediaPlayer1.URL =App.Path & "\sp" & "\" & Text1 & a
endif
End Sub

或者:由于dir只返回文件名(含该文件扩展名),如果该路径下查找的文件名唯一,就简单使用下列代码
Private Sub Command1_Click()
Dim a As String
a = Dir(App.Path & "\sp" & "\" & Text1 & ".*")
If a <> "" Then   WindowsMediaPlayer1.URL =App.Path & "\sp" & "\"  & a
End Sub



[ 本帖最后由 lowxiong 于 2014-5-8 07:31 编辑 ]
#15
事业男儿2014-05-08 08:14
只有本站会员才能查看附件,请 登录

谢谢版主,测试通过
1