怎么把对话框的多个值赋给listbox

xyyy1989 2010-09-23 12:39:18
我想打开对话框,然后选择多个文件赋给listbox试了半天都不行,怎么弄呢?
var
i:integer;
begin
if opendialog1.Execute then
for i:=0 to 100 do
listbox1.items.Strings[i]:=opendialog1.FileName ;
end;
...全文
175 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
likeyrain 2010-09-26
  • 打赏
  • 举报
回复
本来想混点分的,结果答案已经出来。。。
白耗子 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 oraclers 的回复:]
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Options := [ofAllowMultiSelect, ofFileMustExist];
if OpenDialog1.Execute then
ListBox1.Items.Assign(OpenDialog1.Files);
end;
多选情……
[/Quote]
此楼正解
slowake 2010-09-25
  • 打赏
  • 举报
回复
呵呵,有正解了,顺便新人报到 下
ecjtu5208 2010-09-23
  • 打赏
  • 举报
回复
抱歉,上班有事要忙,回来发现有人抢答了。呵呵,楼上正解。
顶了。
Oraclers 2010-09-23
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Options := [ofAllowMultiSelect, ofFileMustExist];
if OpenDialog1.Execute then
ListBox1.Items.Assign(OpenDialog1.Files);
end;
多选情况下要用属性 Files,这是一个TStrings属性,可以直接赋给ListBox1.Items 。
ecjtu5208 2010-09-23
  • 打赏
  • 举报
回复
刚看了一下,原来是可以多选的哈,设置属性:ofAllowMultiSelect为true就可以。
那兄弟你等等哈,我再去试试。
ecjtu5208 2010-09-23
  • 打赏
  • 举报
回复
你的错误不在于是否用
listbox1.items.Add(opendialog1.FileName) ;
listbox1.items.Strings[i]:=opendialog1.FileName ;
这两个都没有问题。
而在于你是在执行了一次opendialog1.execute之后就开始循环了,结果肯定是101行,行行都是相同的。
for i:=0 to 100 do
begin
if opendialog1.Execute then
listbox1.items.Strings[i]:=opendialog1.FileName ;
end;
这样一一放入才正确。不过这样的话会不停的要打开dialog,很麻烦。
我不确定你是如何在opendialog中选择多个文件的,你是按shift?还是用鼠标框住你要的文件?
好像一次只能选择一个呀。我没有很注意。
xyyy1989 2010-09-23
  • 打赏
  • 举报
回复
可是显示的是重复的文件,怎么把不同的文件显示在listbox上??
macchen1224 2010-09-23
  • 打赏
  • 举报
回复
你好,為何不用listbox1.items.Add(opendialog1.FileName) ;
謝謝。

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧