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 :

[TOpenPictureDialog]Définir le dossier à ouvrir à l'ouverture de la boite de dialogue


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 156
    Points : 62
    Points
    62
    Par défaut [TOpenPictureDialog]Définir le dossier à ouvrir à l'ouverture de la boite de dialogue
    bonjour à tous
    j'ai un tout petit problème avec delphi
    je voudrais ouvrir juste les fichiers de type BMP
    comment dois je faire?
    merci d'avance

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 68
    Points : 36
    Points
    36
    Par défaut
    Pourriez vous donner plus de détails?
    Utilisez le composant OpenPictureDialog de la palète 'Supplements'.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 156
    Points : 62
    Points
    62
    Par défaut
    je vais vous donner une description de mon application
    j'ai un composant "edit" et un bouton "parcourir" lorsque je clique sur ce bouton ,,,une boite de dialogue s'affiche ,,,mais juste les repertoires ou les dossiers où se trouve les fichiers de type "BMP"

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour, ça n'est pas évident de ne proposer à l'utilisateur que les répertoires qui contiendrait des fichiers BMP, cela voudrait dire que vous avez déjà parcouru tout les répertoires pour lister ceux qui en contiennent, stocké leur arborescence pour pouvoir y aller et présenter le tout à l'utilisateur. Dur

    Pour ma part je vous conseillerais d'utiliser un TOpenPictureDialog comme le suggère maxinformatique qui filtre les fichiers pour ne laisser apparaître que les images et laisser l'utilisateur chercher tout seul l'image qu'il veut.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 156
    Points : 62
    Points
    62
    Par défaut
    ça me semble trés proche
    merci encore une fois

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Citation Envoyé par jean sami Voir le message
    je vais vous donner une description de mon application
    j'ai un composant "edit" et un bouton "parcourir" lorsque je clique sur ce bouton ,,,une boite de dialogue s'affiche ,,,mais juste les repertoires ou les dossiers où se trouve les fichiers de type "BMP"
    Comme maxinformatique l'a indiqué, tu dois utiliser le composant OpenPictureDialog de l'onglet Dialogs (et non Supplément ... D7 au passage).
    Une fois le composant posé sur ta form, tu vas dans la propriété Filter et tu supprimes toutes les lignes sauf le bmp vu que c'est cette extension que tu souhaite ouvrir.

    Maintenant, tu rajoutes un TImage sur ta Form (onglet Supplément ce coup ci) et un bouton qui va permettre de choisir le fichier bmp désiré.
    Il ne reste plus qu'à coder tout ça ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if OpenPictureDialog1.Execute then
      begin
        Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
      end;
    end;
    En espérant t'avoir aidé!
    A+

    [EDIT]
    Post Croisé
    D'accord avec Aka

  7. #7
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 156
    Points : 62
    Points
    62
    Par défaut
    merci vous avez vraiment m'aider
    mais il ya un petit truc
    moi je ne veux pas que ce type de fichier sera dans le composant "image" je voudrais juste que lorsque je clique sur le bouton,,,une boite de dialogue s'affiche puis je vais selectionner mon fichier (qui est biensure de type "BMP") ,,,aprés le chemin complet de fichier sélectionné sera indiqué dans un composant "edit" ...c tout
    et merci encore une fois

  8. #8
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Re,

    Citation Envoyé par jean sami Voir le message
    merci vous avez vraiment m'aider
    mais il ya un petit truc
    moi je ne veux pas que ce type de fichier sera dans le composant "image" je voudrais juste que lorsque je clique sur le bouton,,,une boite de dialogue s'affiche puis je vais selectionner mon fichier (qui est biensure de type "BMP") ,,,aprés le chemin complet de fichier sélectionné sera indiqué dans un composant "edit" ...c tout
    et merci encore une fois
    Avec une petite adaptation tu t'en sort
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if OpenPictureDialog1.Execute then
      begin
        Edit1.Text:=OpenPictureDialog1.FileName;
      end;
    end;
    Voilà!

  9. #9
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 156
    Points : 62
    Points
    62
    Par défaut
    ton programme marche bien et je vous remerci
    mais(toujours un mais!!!!) je voudrais ajouter un petit truc un mon programme
    je veux que le point de depart de la boite de dialogue (la fenetre où je vais choisir le fichier) est selectionné par l'utilisateur (via un composant "combobox")...par exemple si un utilisateur a choisit "program files" comme un point de depart la fenetre demarre avec le repertoire program files, puis je vais choisir juste les images de type "BMP" (biensure ' d'apres vous ' via un filtrage) c tout

  10. #10
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Dans si je comprends bien, dans une combobox, il y aura une série d'items, notamment Program Files et tu veux que si l'utilisateur choisi dans cette liste cet item, en cliquant sur Ouvrir, on tombe directement sur le Program Files ? Il faut savoir une chose, c'est que le répertoire Program Files dépend de l'endroit ou est installé Windows ... Exemple, Si on installe Windows sur le C:\, alors ça sera C:\Program Files, pour le D, D: .... Enfin bref, est ce que j'ai bien saisi ta demande ?

  11. #11
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 156
    Points : 62
    Points
    62
    Par défaut
    oui c'est exactement ce que je veux
    et en plus ce que je voudrais vous dire est que dans delphi existe un truc comme ça ' SelectDirectory (......PointDeDepart .......) (tel que point de depart a été choisi par l'utilisateur dans combobox) pour que le premier repertoire qui sera affiché est 'point de depart'......mais dans 'openpicture' je pense qu'il est impossible de le faire

  12. #12
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 854
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 854
    Points : 15 274
    Points
    15 274
    Par défaut
    Citation Envoyé par ero-sennin Voir le message
    Il faut savoir une chose, c'est que le répertoire Program Files dépend de l'endroit ou est installé Windows ... Exemple, Si on installe Windows sur le C:\, alors ça sera C:\Program Files, pour le D, D: ....
    Salut, ero-sennin !

    Méfiance dans ce que tu racontes, là
    Ma machine a Windows sur C:, Program Files sur D:, Documents and Settings sur E: et le Pagefile sur encore une autre partoche !
    Oui, je sais, je suis compliqué, mais au moins j'ai pas à défragmenter,
    Et si on pouvait changer le titre du topic (parce que tous ceux qui vont chercher "ouvrir fichiers BMP" vont tomber ici, et ça n'est pas du tout le cas, in fine...), ça serait cool, merci.

  13. #13
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Re,

    Je t'ai fait un petit code sympa qui, je l'espère, te permettra de comprendre :
    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
    38
    39
    40
    // Fonction qui renvoie le Dossier correspondant à la variable d'environnement
    function GetEnvironnementVariableEx(const VariableName: string): string;
    var
      nSize: DWord;
    begin
      Result:= '';
      nSize:= 0;
      nSize:= GetEnvironmentVariable(PChar(VariableName), Nil, nSize);
      if nSize > 0 then
      begin
        SetLength(Result, nSize - 1);
        if GetEnvironmentVariable(PChar(VariableName), PChar(Result), nSize)=0
         then raise Exception.Create(SysErrorMessage(GetlastError))
      end;
    end;
     
    //Création de mes items au début (pour te montrer juste)
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      ComboBox1.Items.Add('Program Files');
      ComboBox1.Items.Add('Dossier de l''utilisateur');
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Dossier:String;
    begin
      // Selon la 'ligne' sélectionné dans le combobox, on renvoie tel ou tel variable d'environnement ...
      case ComboBox1.ItemIndex of
        0: Dossier:='ProgramFiles';
        1:Dossier:='USERPROFILE'
      else
        // Si on ne sélectionne rien, on va par défaut dans à la racine de l'OS
        Dossier:='SystemDrive';
      end;
      // On dit à OpentPictureDialog où il doit s'ouvrir ...
      OpenPictureDialog1.InitialDir:=GetEnvironnementVariableEx(Dossier);
      if OpenPictureDialog1.Execute then
        Edit1.Text:=OpenPictureDialog1.FileName;
    end;
    Ca utilise les variables d'environnement ... Un petit tour sur Wikipédia et le tour est joué
    A+

    [EDIT]
    Merci @ toi Jipété pour ton apport d'infos! J'avais jamais rencontré ce cas là ...
    Logiquement avec ce que j'ai posté, ça devrait fonctionner (enfin, je pense... jamais testé dans une tel config que la tienne )

  14. #14
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 156
    Points : 62
    Points
    62
    Par défaut
    merci infiniment ero-sennin pour votre patience et merci encore une fois pour tous
    ton programme est parfait il marche bien
    merci encore une fois

  15. #15
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Citation Envoyé par jean sami Voir le message
    merci infiniment ero-sennin pour votre patience et merci encore une fois pour tous
    ton programme est parfait il marche bien
    merci encore une fois
    C'est toujours un plaisir d'aider
    N'oublies pas de mettre le tag si tout est OK pour toi
    @+

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/05/2007, 18h54
  2. ouverture d'une boite de dialogue
    Par Arcan dans le forum JSF
    Réponses: 2
    Dernier message: 28/03/2007, 09h46
  3. pb sur ouverture d'une boite de dialogue
    Par DWade dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 03/07/2006, 18h20
  4. Ouverture d'une boite de dialogue
    Par ju972 dans le forum Débuter
    Réponses: 13
    Dernier message: 21/05/2004, 15h22

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