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

 Delphi Discussion :

TsaveDialog et forcer initialdir


Sujet :

Delphi

  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 425
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 425
    Points : 1 326
    Points
    1 326
    Par défaut TsaveDialog et forcer initialdir
    Bonjour à toutes et à tous,

    Voila, j'utilise un Tsavedialog et avec un Tedit et variables, je le force à s'ouvrir dans le dossier qui vient d'être créé à l'ouverture de mon application.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      chappli := ExtractFilePath(Application.ExeName);
     
      EPathDestination.Text := ValiderPath(chappli + '\Scan');
    Tout est correct, seulement j'ai 4 Tbuttons qui pilote mon Tsavedialog puisque j'ai 4 sauvegardes différentes et si j'ai le malheur de changer le dossier par défaut d'un seul Tbutton, mon Tsavedialog garde en mémoire le dernier chemin malgré que dans le onclick de chaque Tbutton, je force le directory par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SPD3.initialdir := EPathDestination.Text;
    Quelqu'un a t'il une astuce pour contrer ce problème.

    Merci d'avance,

    @+,

    Cincap

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Salut;

    je te propose de travailler avec SetCurrentDir(TonChemin) dans l'évènement OnClick de tes boutons. Normalement, cette fonction te permet de rester dans le chemin passé en valeur.

    Bon codage.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 425
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 425
    Points : 1 326
    Points
    1 326
    Par défaut Déjà essayé ou je m'y prends mal !
    @ Kelloucheaeh, merci de ta réponse, j'avais fait ceci entres autres mais impossible de l'attribuer à initialdir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SetCurrentDir(chappli+'\Scan');
    Mes 4 Buttons se place dans le répertoire 'Scan' mais dès que je change le chemin d'un des buttons, les autres se placent dans le dernier chemin malgré le forcage.

    @+,

    Cincap

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 425
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 425
    Points : 1 326
    Points
    1 326
    Par défaut J'ai aussi essayé ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SetCurrentDir(EPathDestination.Text);
    Sans résultat.

    @+,

    Cincap

  5. #5
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Re;

    il faut dire que je travaille sans cesse avec get et set et je n'ai jamais eu de problèmes.

    ce que je fais c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    monChemin := GetCurrentDir;
    // mes instructions
    SetCurrentDir(monChemin);
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  6. #6
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    as-tu regardé du côté de l'option ofNoChangeDir et de la variable ForceCurrentDirectory ?

    cela dit, cela m'évoque un vieux problème, mais où retrouver sa solution ?

    ... ça y est : ici ! http://www.phidels.com/php/forum/for...&postid=106604
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 425
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 425
    Points : 1 326
    Points
    1 326
    Par défaut Merci les cracks de ce forum !
    @ Tourlourou, merci pour cet excellent lien, en effet la méthode de Jerome alias JROD, est la seule efficace dans ce contexte.

    Dommage que dans ma recherche avec Google, je ne l'avais pas trouver.

    Ce code permet de ne pas nécessairement créer le composant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SPD3.InitialDir:='A:\'; // ou EPathDestination.Text 
        if SPD3.Execute then 
        begin 
              //code..... 
    
              SPD3.CleanupInstance; 
        end;
    Même en utilisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    monChemin := GetCurrentDir;
    // mes instructions
    SetCurrentDir(monChemin);
    Cela ne suffit pas lors de changement du dossier.

    Merci aussi @ Kelloucheaeh pour sa participation.

    Que des craks sur ce forum au service de tous même un dimanche !

    @+,

    Cincap

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 425
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 425
    Points : 1 326
    Points
    1 326
    Par défaut J'ai oublié de préciser !
    Bonjour à toutes et à tous,

    J'ai oublié de préciser que la méthode de création du composant par exemple, TSavePictureDialog est aussi valable dans ce contexte :

    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
     
     Var 
     opendialog1:Topendialog;//(mettre Dialogs dans les uses) 
     
     implementation 
     
    {$R *.DFM} 
     
    procedure TForm1.Button1Click(Sender: TObject); 
    begin 
     
       opendialog1:=Topendialog.Create(self); 
     
       opendialog1.InitialDir:= Edit1.text ; //ou 'C:\Data' etc....
     
       if opendialog1.Execute then 
     
       begin 
              //code.... 
     
       end; 
        opendialog1.Free; 
    end;
    Cordialement,

    @+,

    Cincap

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/11/2007, 12h31
  2. [stringgrid] forcer l'affichage de la VscrollBar
    Par qi130 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 10/11/2003, 14h03
  3. Forcer la saisie en MAJ dans un Formulaire
    Par lolos dans le forum IHM
    Réponses: 4
    Dernier message: 12/08/2003, 10h57
  4. Forcer jump short ou far
    Par Blustuff dans le forum Assembleur
    Réponses: 6
    Dernier message: 02/03/2003, 02h03
  5. Forcer l'affichage des dizaines...
    Par pataluc dans le forum Langage
    Réponses: 4
    Dernier message: 26/11/2002, 19h38

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