急!如何选择ListBox里的文件进行操作?(30分)

  • 主题发起人 主题发起人 asdqwe
  • 开始时间 开始时间
A

asdqwe

Unregistered / Unconfirmed
GUEST, unregistred user!
ListBox里添加了一些等待播放的媒体文件,如何实现选择一个文件名,按下button后就开始
播放这个文件?
 
怎么没人告诉我!!!!!!!!!!!!!!!
 
filename := ListBox1.Items[ListBox1.ItemIndex];
 
不行啊,能说具体点吗?
 
够具体了,你选中文件了吗?
 
得到文件名过后你总得有个东西来播放它呀,你用了 TMediaPlayer 吗?
没有?去看一下 TMediaPlayer 怎么用先吧。
 
是播放flash的,我是这样写的,请帮我看看对不对?
ShockwaveFlash1.Movie:=ListBox1.Items[ListBox1.ItemIndex];
选中了一个flash文件的。
 
播放单个行了吗?别说还不出来,
如果能放单个文件了,再用 zw84611 所说的就行了呀
 
你可以添加一个flash的 activX的插件!
Component->Import ActiveX Control...->Add-> ?->Install
? 处表示找到你的flash.ocx和swflash.ocx的位置(一般2000系统下在c:/winnt/system32/Macromed/flash ?/ ,前提是你要装了flash5或更高的版本)
然后就会有一个flash 的 VCL控件了。
下面就简单了flash.movi:=ListBox1.Items[ListBox1.ItemIndex];
 
我以前的播放单个文件的代码是这样:
procdeure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
ShockwaveFlash1.Movie:= OpenDialog1.FileName;
end;
procdeure TForm1.Button2Click(Sender: TObject);
begin
ShockwaveFlash1.Play;
end;

现在的代码是这样:
procdeure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
if OpenDialog1.Execute then
begin
for i:=0 to OpenDialog1.Files.Count-1do
ListBox1.Items.add(ExtractFileName(OpenDialog1.Files));
end;
//把文件都保存到ListBox1里去了
end;
procdeure TForm1.Button2Click(Sender: TObject);
begin
ShockwaveFlash1.Play;
//怎样实现选中一个文件后,按下此按钮,即开始播放?
end;
 
定义全局变量s:string
在listbox1的click事件里添代码:
begin
s:=ListBox1.Items[ListBox1.ItemIndex];
end;
然后再在buttonclick事件里写
ShockwaveFlash1.movie:=s;
 
还是不行啊,请各位大虾帮我看看,谢谢了!
以下是现在的代码:
var s: string;
procedure TFlashPlayer.OpenBtnClick(Sender: TObject);
var
i: integer;
begin
if OpenDialog1.Execute then
begin
for i:=0 to OpenDialog1.Files.Count-1do
ListBox1.Items.add(ExtractFileName(OpenDialog1.Files));
end;
end;

procedure TFlashPlayer.ListBox1Click(Sender: TObject);
begin
s:=ListBox1.Items[ListBox1.ItemIndex];
end;
 
忘了,还有下面这按钮部分:
procedure TFlashPlayer.PlayBtnClick(Sender: TObject);
begin
ShockwaveFlash1.Playing:=true;
ShockwaveFlash1.Movie:=s;
end;
 
试一下下面的行不行:
先定义全局变量s:string
procedure TFlashPlayer.OpenBtnClick(Sender: TObject);
var
i: integer;
begin
if OpenDialog1.Execute then

begin
for i:=0 to OpenDialog1.Files.Count-1do
ListBox1.Items.add(ExtractFileName(OpenDialog1.Files));
end;
s:=ExtractFilePath(OpenDialog1.Files[0]);
end;

procedure TFlashPlayer.ListBox1Click(Sender: TObject);
begin
s:=s+ListBox1.Items[ListBox1.ItemIndex];
end;

procedure TFlashPlayer.PlayBtnClick(Sender: TObject);
begin
ShockwaveFlash1.Playing:=true;
ShockwaveFlash1.Movie:=s;
end;
 
接受答案了.
 
后退
顶部