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

Composants VCL Delphi Discussion :

Cherche doc sur JvSelectDirectory de Jedi


Sujet :

Composants VCL Delphi

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut Cherche doc sur JvSelectDirectory de Jedi
    Bonjour à tous

    J'ai beau farfouiller, je dois mal le faire. Je cherche un tuto, ou un exemple d'utilisation du composant Jedi JvSelectDirectory

    ... et je ne le trouve pas

    Ils n'ont pas une doc, ou une Faq, quelque part ? SourceForge souvent inaccessible...

    Merci :hello:

    P.S.: en attendant, je cherche ds les sources et exemples fournis avec Jedi. Apparemment, c'est instructif.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Tu as le Wiki : TJvSelectDirectory.Execute
    Souvent très léger !
    On peut pense qu'il ressemble à un OpenDialog\SelectDirectory traditionnel !
    On a évoqué récemment l'utilisation un OpenDialog Vista (2007) pour sélectionner un dossier et non un fichier

    Tu as aussi SHBrowseForFolder BIF_NEWDIALOGSTYLE l'API encaspulé par SelectDirectory bifNewDialogStyle bifUseNewUI
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut
    Eh voilà ! C'est bel et bien un lecteur et un répertoire que je veux saisir d'un coup. JvSelectDirectory me semblait tout indiqué.

    Cette syntaxe fonctionne (sur la base de la démo des Jedi) :

    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
     
    procedure TJvDialogsDemoFrm.Button5Click(Sender: TObject);    // Bouton du JvSelectDirectory
    Var     Rep_Choisi : boolean;
            Rep : string;
     
    begin
     
      Rep_Choisi := JvSelectDirectory1.Execute;
     
      If Rep_Choisi = True then
          begin
                Rep := JvSelectDirectory1.Directory;
                MessageDlg('LE REPERTOIRE CHOISI : ' + Rep, mtInformation, [mbOK], 0);
          end;
     
    end;

    Mais celle-là, désignant la Form ds laquelle est placé le JvSelectDirectory, non :
    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
     
    Procedure Machin;   
    Var   Rep_Choisi : boolean;
          Rep : string;
     
    begin
     
     
      Rep_Choisi := Form1.JvSelectDirectory1.Execute;
     
      If Rep_Choisi = True then
          begin
          			// Nom_Cplt_Rep_Cible_Effacement  : var globale de type string; 
                Nom_Cplt_Rep_Cible_Effacement := Form1.JvSelectDirectory1.Directory;  // // ---->>> NE RETOURNE RIEN (ou le SEUL drive ! )
                MessageDlg('LE REPERTOIRE CHOISI : ' + Rep, mtInformation, [mbOK], 0);
          end;
     
    end;
    Pourquoi ça ne marche pas ?

    Je n'implémente jamais rien dans les déclarations de contrôles (ex. un bouton). Tout renvoie tjrs à une procédure ou une fonction. C'est plus sûr : si je fais sauter le contrôle, je garde le code

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 536
    Points : 121
    Points
    121
    Par défaut
    C'est résolu

    Le truc, c'est qu'il faut double-cliquer sur le répertoire, si l'on change de lecteur. Autrement, le "JvSelectDirectory1.Directory" retourne uniquement le lecteur...

    Si ça peut aider qqn :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     
    Procedure Appel_SelectDirectory;
    Var     Retour : boolean;
            Rep : string;
    {
    				Rep_Choisi : string, variable globale 
    }
     
    begin
     
          Form1.JvSelectDirectory1.InitialDir := Rep_Initial;
          Retour := Form1.JvSelectDirectory1.Execute; // DOUBLE-CLIC INDISPENSABLE SUR LE REPERTOIRE A CHOISIR : autrement, c'est le LECTEUR et  lui seul qui est désigné !
     
          If Retour = True then
              begin
                    Rep_Choisi := Form1.JvSelectDirectory1.Directory;
                    If Length(Rep_Choisi) = 3 then  // Seul le lecteur a été retourné 
                        begin
                              Retour := False;
                              MessageDlg('DOUBLE-CLIC INDISPENSABLE POU UN CHEMIN COMPLET', mtError, [mbOK], 0);
                              Appel_SelectDirectory; // on rappelle la procédure
                        end
                    Else
                        begin
                              Form1.Lab_Aff_Rep_Choisi.Caption := Rep_Choisi;
                              ChDir(Rep_Initial);
                        end;
              end
          Else		// Retour = False
              begin
                    MessageDlg('ABANDON DE LA SAISIE', mtInformation, [mbOK], 0);
              end;
     
          Form1.Btn_Quitter.SetFocus;
     
    end;

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

Discussions similaires

  1. cherche doc sur balise iframe
    Par Godard dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 12/08/2010, 13h20
  2. [xml.dom] cherche doc sur PullDOM
    Par Capitaine Nemo dans le forum Général Python
    Réponses: 7
    Dernier message: 07/05/2009, 13h43
  3. [débutant] cherche doc sur BO Data Integrator
    Par krimo22 dans le forum BODI
    Réponses: 1
    Dernier message: 19/06/2008, 16h27
  4. Cherche doc sur webform - appeon - webservice
    Par mattdamon dans le forum Powerbuilder
    Réponses: 0
    Dernier message: 23/01/2008, 11h55
  5. Je cherche Doc ou tuto sur HATS
    Par oneigloo dans le forum AS/400
    Réponses: 4
    Dernier message: 22/01/2008, 13h23

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