Select Dossier in OpenDialog

Bruto Messages postés 214 Date d'inscription jeudi 21 mars 2002 Statut Membre Dernière intervention 14 mai 2004 - 28 août 2002 à 09:57
cs_copper Messages postés 6 Date d'inscription vendredi 30 août 2002 Statut Membre Dernière intervention 31 juillet 2003 - 8 déc. 2002 à 23:23
Salut,

j'aurais voulu pouvoir sélectionner un dossier via le composant OpenDialog mais il ne permet de sélectionner que des fichiers. Quel(s) option(s) doit-je modifier pour pouvoir sélectionner des dossiers (ex : winamp ) ? peut-être y a-t-il un autre composant ?

Merci ;)
A voir également:

5 réponses

DelphiCool Messages postés 455 Date d'inscription mardi 24 juillet 2001 Statut Membre Dernière intervention 10 mars 2009
28 août 2002 à 10:37
Tu ne peux pas
prends un TDirectoryListBox
dans Win 3.1

-------------------------------------------
DelphiCool

http://delphicool.developpez.com
0
Bruto Messages postés 214 Date d'inscription jeudi 21 mars 2002 Statut Membre Dernière intervention 14 mai 2004
28 août 2002 à 10:47
Ok merci DelphiCool,

Pour info j'ai trouvé une fonction qui le permet nommée :

DirectorySelect ( voir l'aide )

:approve)
0
cs_copper Messages postés 6 Date d'inscription vendredi 30 août 2002 Statut Membre Dernière intervention 31 juillet 2003
30 août 2002 à 22:52
Il y a plusieurs composants FreeWare qui permettent de faire cela en particulier PBFolderDialog que tu pourras trouver à l'adresse :
http://home11.inet.tele.dk/BakSoft/
0
cs_copper Messages postés 6 Date d'inscription vendredi 30 août 2002 Statut Membre Dernière intervention 31 juillet 2003
8 déc. 2002 à 23:19
Sinon il y a la possibilité de faire un composant hérité de TOpenDialog :

unit DirDialog;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
FileCtrl;

type
TDirDialog = class(TOpenDialog)
private
FIsJustExecute: boolean;
function GetDirectory: string;
procedure SetDirectory(Directory: string);
protected
procedure DoFolderChange; override;
public
constructor Create(AOwner: TComponent); override;
function Execute: Boolean; override;
published
property FileName;
property Directory: string read GetDirectory write SetDirectory;
end;

procedure Register;

implementation

constructor TDirDialog.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FIsJustExecute := False;
FileName := 'Dummy.dat';
Filter := '*.*|*.*';
end;

procedure TDirDialog.DoFolderChange;
begin
inherited DoFolderChange;

if FIsJustExecute then
begin
FIsJustExecute := False;
ShowWindow(GetDlgItem(GetParent(Handle),1136),SW_HIDE);
ShowWindow(GetDlgItem(GetParent(Handle),1152),SW_HIDE);

SetDlgItemText(GetParent(Handle),1089,'');
SetDlgItemText(GetParent(Handle),1090,'');
SetDlgItemText(GetParent(Handle),1091,'Répertoire :');
SetDlgItemText(GetParent(Handle),1,'OK');
end;
end;

function TDirDialog.Execute: Boolean;
begin
FIsJustExecute := True;
if Title='' then Title := 'Sélectionnez un répertoire';
Result := inherited Execute;
end;

function TDirDialog.GetDirectory: string;
begin
if FileName<>'' then
if ExtractFileName(FileName)='Dummy.dat' then
Result:=ExtractFileDir(FileName)
else
Result:=FileName
else
Result:='';
end;

procedure TDirDialog.SetDirectory(Directory: string);
begin
FileName := IncludeTrailingBackslash(Directory) + 'Dummy.dat';
end;

procedure Register;
begin
RegisterComponents('Dialogues', [TDirDialog]);
end;

end.
//---------------------------------------------------------------------
// 1 -> Bouton Ouvrir
// 2 -> Bouton Annuler
// 1038 -> Bouton Aide
// 1040 -> Case à cocher "Lecture Seule"
// 1089 -> Label "Type de fichier"
// 1090 -> Label "Nom du fichier"
// 1091 -> Label "Rechercher dans"
// 1120 -> ?
// 1136 -> ComboBox "Type de fichier"
// 1137 -> ComboBox "Rechercher dans"
// 1152 -> Edit "Nom du fichier"
//---------------------------------------------------------------------------
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_copper Messages postés 6 Date d'inscription vendredi 30 août 2002 Statut Membre Dernière intervention 31 juillet 2003
8 déc. 2002 à 23:23
L'inconvénient des fonctions DirectorySelect et/ou d'utiliser les composants de la palette Win3.1 et lorsque l'on veut accéder au voisinage réseau.
0
Rejoignez-nous