Ouvrir de multiple fichiers avec le sélecteur

denisbertin Messages postés 245 Date d'inscription lundi 22 avril 2013 Statut Membre Dernière intervention 13 mai 2023 - 24 janv. 2017 à 22:01
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 - 27 janv. 2017 à 17:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/101821-ouvrir-de-multiple-fichiers-avec-le-selecteur

Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
27 janv. 2017 à 17:48
Salut,

tout d'abord, merci d'avoir fait l'effort de poster des codes utilisables par tous ;)

Mais une question me taraude tout de même ...
pourquoi vouloir réinventer la roue et en plus, en compliquer le mécanisme ?

voici un code qui fait exactement la même chose que le tien mais en beaucoup plus simple.
unit OPen;

//Un module qui permet d'ouvrir de multiple fichier à partir du sélecteur de fichier standard de Window

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);
begin
  with TOpenDialog.Create(nil) do try
    Options := Options + [ofAllowMultiSelect];
    InitialDir := ExtractFilePath(Application.ExeName);
    if Execute then
      ListBox1.Items.Assign(Files);
  finally
    Free;
  end;
end;

end.
comme tu peux le voir je suis parti de ton code ...

et si tu déposes un TOpenDialog sur ta fiche tu peux le configurer par l'inspecteur d'objet
et le code devient encore plus simple:
 ...
procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    ListBox1.Items.Assign(Files);
end;

end.


voilà @++
cordialement
Cirec
Rejoignez-nous