我想实现在打开对话框里面选择多个文件然后拷贝到我的工程所在的文件夹下,选择多个文件之后,每个文件的文件名怎么获得,如何实现,谢谢!

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Integer;
      FAppPath: String;
      FFile, FNewFile: TFileName;
    begin
      // Allow Multi Select
      OpenDialog1.Options := OpenDialog1.Options + [ofAllowMultiSelect];
      if OpenDialog1.Execute then // Execute
      begin
        // Destine Path: Application Path
        FAppPath := IncludeTrailingBackslash( ExtractFilePath(Application.ExeName) );
        for I := 0 to OpenDialog1.Files.Count - 1 do // For each file
        begin
          FFile := OpenDialog1.Files[I]; // Get Filename
          FNewFile := FAppPath + ExtractFileName(FFile); // Destrine FileName
          if not CopyFile(PChar(FFile), PChar(FNewFile), True) then // Copy File
            ShowMessageFmt('Copy File Failed: %s', [FFile]); // Show Message if Fail
        end;
      end;
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
    begin
      OpenDialog1.Execute ;
      for i:=0 to OpenDialog1.Files.Count-1 do
        ListBox1.Items.Append(OpenDialog1.Files[i]);
    end;