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

Windows Discussion :

[Win 32] GetSaveFileName


Sujet :

Windows

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    525
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 525
    Points : 212
    Points
    212
    Par défaut [Win 32] GetSaveFileName
    Bonjour,
    Je voudrais afficher un boite de dialogue "Save as ..." et je cherche le moyen de recuperer le chemin complet du fichier ?
    Je n'ai rien vu d'interessant dans la structure et je n'ai pas vu, sauf erreur, dans MSDN de fonction du style "GetPath".

  2. #2
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 670
    Points
    10 670
    Billets dans le blog
    3
    Par défaut
    C'est dans la structure donnée lors de l'appel:
    lpstrFile
    Pointer to a buffer that contains a file name used to initialize the File Name edit control. The first character of this buffer must be NULL if initialization is not necessary. When the GetOpenFileName or GetSaveFileName function returns successfully, this buffer contains the drive designator, path, file name, and extension of the selected file.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    525
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 525
    Points : 212
    Points
    212
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel
    C'est dans la structure donnée lors de l'appel:
    lpstrFile
    Pointer to a buffer that contains a file name used to initialize the File Name edit control. The first character of this buffer must be NULL if initialization is not necessary. When the GetOpenFileName or GetSaveFileName function returns successfully, this buffer contains the drive designator, path, file name, and extension of the selected file.
    en fait, je me suis mal exprimé,
    j'ai un data base dans un repertoire,normalement connu, mais qui peut etre changé a l'install, et lors du "Save As ...", il me faudrait connaitre le repertoire de ce fichier source pour pouvoir faire "CopyFile(source, dest, FALSE)"

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 80
    Points : 63
    Points
    63
    Par défaut
    dede92 j'ai crée un class qui fait ouverture et enregistrement enfin les fénètre.
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    class PathFile
    {
                 char *Open;
                 char *Save;
                 OPENFILENAME File;
          public :
                 void GetTitle();
                 char Path[MAX_PATH];
                 char Name[MAX_PATH];
                 PathFile(){}
                 PathFile(HWND,char *,char *);
                 void Init(HWND,char *,char *);
                 bool GetForOpen(char*);
                 bool GetForSave(char*);
                 
    };
    PathFile::PathFile(HWND owner,char FiltreOpen[]="*.*\0*.*\0\0",char FiltreSave[]="*.*\0*.*\0\0")
    {
            Open=FiltreOpen;
            Save=FiltreSave;
            ZeroMemory(&File, sizeof(OPENFILENAME));
    		File.lStructSize = sizeof(OPENFILENAME);
    		File.hwndOwner = owner;
    		File.lpstrFile = Path ;
            File.nMaxFile = MAX_PATH;
    		File.lpstrDefExt = "*.*";
    		File.nFilterIndex = 0 ;
    		File.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY ;
    }
    void Init(HWND owner,char FiltreOpen[],char FiltreSave[])
    {
         PathFile(owner,FiltreOpen,FiltreSave);
    }
    bool PathFile::GetForOpen(char TitleOpen[]=NULL)
    {
            if(TitleOpen==NULL)
                File.lpstrTitle = "Ouvrir";
            else
                File.lpstrTitle = TitleOpen;
            File.lpstrFilter = Open;
            bool re =GetOpenFileName(&File);
            GetTitle();
            return re; 
    }
    bool PathFile::GetForSave(char TitleSave[]=NULL)
    {
            if(TitleSave==NULL)
                File.lpstrTitle = "Enregistrer";
            else
                File.lpstrTitle = TitleSave;
    	    File.lpstrFilter = Save;
            bool re = GetSaveFileName(&File);
            GetTitle();
            return re;
    }
    void PathFile::GetTitle()
    {
          int x=0;
          for(int y = File.nFileOffset;Path[y-2]!='\0';y++,x++)
          {
                  Name[x]=Path[y];
          }
    }
    désoler pour le manque quasi totale de commentaire !!
    Il y a mieux, les constructeur serai a revoir. mais fait bien attention de mettre comdlg32.a ou .lib ..
    Stany

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/08/2007, 10h20
  2. Problème montage partition Win sous RedHat ??
    Par baba dans le forum Administration système
    Réponses: 6
    Dernier message: 18/01/2003, 11h26
  3. Quel outil pour du développement Client/Serveur (Win XP) ?
    Par jey_bonnet dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 02/11/2002, 14h57
  4. Réseau Win/Linux
    Par ben91 dans le forum Développement
    Réponses: 2
    Dernier message: 08/09/2002, 22h59
  5. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24

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