IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

SelectDirectory - c++Builder2009


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut SelectDirectory - c++Builder2009
    Bonjour a tous,
    je rencontre quelques difficultés a l'utilisation de la fonction SelectDirectory. En effet, a la compil, il me sort un: [BCC32 Erreur] main.cpp(29): E2268 Appel à une fonction non définie 'SelectDirectory'

    Y a t'il un include a faire? est ce que j'utilise mal la fonction? Merci de votre réponse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    AnsiString Caption = "Select a Directory";
    	const WideString Root = "C:\"";
    	AnsiString Directory = "C:\\Program Files";
    	SelectDirectory(Caption, Root, Directory);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AnsiString Directory = "F:\\Corel\\WordPerfect Office 2002\\Graphics";
    	SelectDirectory(Directory, TSelectDirOpts(), 0);
    trouvé sur: http://www.yevol.com/en/bcb/Lesson07.htm

    Rien ne fonctionne... tjs la même erreur.

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Salut,
    essaye d'inclure FileCtrl.hpp, en tout cas ça doit être FileCtrl, mais je ne connait pas l'extension exacte

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut
    Merci de la réponse. J'avais essayé FileCtrl mais sans le hpp.

    Cependant, j'ai tjs une erreur:
    [BCC32 Erreur] main.cpp(27): E2285 Impossible de trouver une correspondance pour 'SelectDirectory(AnsiString,TSelectDirOpts,long)'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AnsiString Directory = "c:";
    	SelectDirectory(Directory, TSelectDirOpts(), 0);
    Je ne comprend pas...

  4. #4
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Le prototype de la fonction à du changé en 2009, ça doit plus être un AnsiString a cause de la prise en compte de l'Unicode, mais je peut pas t'aider plus car je n'ai pas 2009

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut
    Voici ce que j'ai trouvé dans l'aide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    C++
    Boolean SelectDirectory(AnsiString Directory, TSelectDirOpts Options, Longint HelpCtx);
    Boolean SelectDirectory(const AnsiString Caption, const BSTR Root, AnsiString Directory, TSelectDirExtOpts Options = [sdNewUI], TWinControl * Parent = nil);
     
     
    Description
    Appelez SelectDirectory pour permettre à l'utilisateur d'entrer un nom de répertoire.  
     
    Utilisez la première syntaxe pour appeler la boîte de dialogue de sélection de répertoire. Le répertoire passé à la fonction par le paramètre Directory apparaît comme le répertoire sélectionné lorsque la boîte de dialogue s'affiche. Le nom du répertoire que l'utilisateur sélectionne devient la valeur de Directory lorsque la fonction se termine. 
     
    Le paramètre HelpCtx est le numéro d'identificateur de l'aide contextuelle. 
     
    Utilisez la seconde syntaxe pour afficher l'explorateur des répertoires de Windows. Le paramètre Caption précise la légende de la boîte de dialogue. Le paramètre Root précise le répertoire racine où commencer l'exploration. Le répertoire sélectionné est renvoyé en tant que paramètre Directory. Lorsque cette syntaxe est utilisée, SelectDirectory ne modifie pas la valeur du répertoire courant. 
     
    Avertissement: Vous ne pouvez pas utiliser la même variable pour le paramètre Root et le paramètre Directory. 
    Le paramètre Options est un ensemble de valeurs. Si Options est vide, l'utilisateur ne peut sélectionner qu'un répertoire existant. Aucune zone de saisie ne lui permet d'entrer un nom de répertoire. Si Options n'est pas vide, les valeurs incluses déterminent la façon dont réagit la boîte de dialogue lorsque l'utilisateur entre un nom de répertoire inexistant. 
     
    Quelle que soit la syntaxe, SelectDirectory renvoie true si l'utilisateur a sélectionné un répertoire et choisi OK, et false si l'utilisateur a choisi Annuler ou fermé la boîte de dialogue sans sélectionner de répertoire.

    Sinon, existe t'il un composant pour ouvrir un dossier?

  6. #6
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Et avec ce code, ca ne fonctionne pas ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    AnsiString Caption = "Select a Directory";
        const WideString Root = "C:";
        AnsiString Directory;
        SelectDirectory(Caption, Root, Directory);

  7. #7
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811

  8. #8
    Membre éclairé Avatar de Mangacker
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    452
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 452
    Par défaut
    hello

    je viens d'utiliser ce code sous bcb 2009 qui marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	AnsiString path;
     
    	if (SelectDirectory("Sélectionnez le répertoire de partage à partager", "", path))
    	{
    		ShowMessage("Vous avez choisi : " + path);
    		CreaFichierConfig();
    		AfficherRepertoire();
    		ShowMessage(path);
    	}
    	else
    	{
    		ShowMessage("Vous devez choisir un répertoire à partager.");
    	}
    j'espère que ça pourra t'aider

    @+

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 208
    Par défaut
    Merci a tous pour votre aide. Finalement le post de crayon est celui qui a convenu le mieux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    String Caption = "Sélectionnez un dossier";
    const String Root = "";
    String Directory = ExtractFilePath(Application->ExeName);
    TSelectDirExtOpts Options = TSelectDirExtOpts() << sdNewUI;
     
    if(SelectDirectory(Caption, Root, Directory, Options))
    {
    	ShowMessage("Vous avez choisi : "+Directory);
    }
    else
    {
    	ShowMessage("Vous avez annulé");
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/12/2004, 09h03
  2. creer un nveau repertoire à l'aide de SelectDirectory
    Par bajax dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/08/2004, 15h08
  3. Bug de SelectDirectory à la compilation (BCB6)
    Par benj63 dans le forum C++Builder
    Réponses: 4
    Dernier message: 16/01/2004, 07h49
  4. Réponses: 4
    Dernier message: 07/12/2002, 15h24
  5. Réponses: 2
    Dernier message: 29/09/2002, 10h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo