Delphi : Opendialog 文件过滤类型,文件多选, 使用多文件

来源:互联网 发布:笔记 软件 编辑:程序博客网 时间:2024/06/06 13:12

格式
只显示exe文件     exe文件(*.exe)|*.exe
exe文件(*.exe)显示在文件类型里,中间用|隔开,|后面代表过滤exe以外的其他类型文件

opendialog1.filter:='所有文件(*.*)|*.*';
opendialog1.filter:='文本文件(*.txt)|*.txt';
opendialog1.filter:='文本文件(*.txt)|*.txt|FLASH文件(*.swf)|*.swf';
如果显示2个以上的类型,中间用;隔开,如:
支持文件类型(*.swf;*.jpg)|*.swf;*.jpg  

 

如何指定   OpenDialog1的默认打开目录或文件?

指定它的initialDirs属性 TOpenDialog.InitialDir   :=   '指定目录路径 ';

OpenDialog1.FileName设置默认文件

如何在OpenDialog中打开多个文件,并使用(读取文件名)?

ofAllowMultiSelect   :=   True;

选择options属性,将其中的ofallowmultiselect属性舍为true
使用时,可以使用一个循环,反复读取文件名

 

OpenDialog的Options\ofAllowMultiSelect属性设为true,表示可以选择多个文件。

var
  tmp:TStrings;
begin
    if   opendialog1.Execute   then
      tmp:=opendialog1.Files     ;     //获得所有文件名
    memo1.Lines     :=tmp;       //将所有文件名放到memo1显示
    memo2.Text   :=tmp[0];     //取第一个文件名放到memo2显示,   依次类推
    edit1.Text   :=IntToStr(tmp.Count   );     //显示一共选了多少个文件
end;

 

我想你最重要要做的是如何取得每个单个的文件名,简单表示如下:
var
  files:TStrings;
  i:integer;
begin
    if   opendialog1.Execute   then
    begin
        files:=opendialog1.Files     ;     //获得所有文件名
        for   i   :=0   to   files.count   do
            listbox1.items.add(files[i])//list[i]就是存放所选文件的单个文件名
end;

0 0