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 :

GetOpenFileName et selection multiple


Sujet :

Windows

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut GetOpenFileName et selection multiple
    Bonjour,

    J'essaye de récupérer tous les fichiers sélectionnés dans une boite de type GetOpenFileName, mais je ne sais pas de quelle manière ils sont stockés.

    Et puis, comme je n'arrive pas à imprimer le lpstrFile de la structure en question, ca ne m'aide pas beaucoup

    En réalité j'arrive à l'imprimer en la convertissant avec WideCharToMultiByte, mais j'ai l'impression qu'en cas de selection multiple, le lpstrFile ne contient plus que le chemin du dossier, sans le nom des fichiers selectionnés

    Un tuyau ?

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut
    Citation Envoyé par MSDN
    If the OFN_ALLOWMULTISELECT flag is set and the user selects multiple files, the buffer contains the current directory followed by the file names of the selected files. For Explorer-style dialog boxes, the directory and file name strings are NULL separated, with an extra NULL character after the last file name
    En clair, la première chaîne de TCHARs contient le répertoire. Elle est suivie de plusieurs chaînes contenant chacune le nom d'un fichier, et la liste se termine par une chaîne vide.

    Tu peux afficher directement ces chaînes avec _tprintf(_T("%s"), uneChaineDeTCHARs), par exemple.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    OK super ca m'aide pas mal, mais par contre je n'arrive pas à séparer ces chaines.
    Je fais un while(st.lpstrFile[i] != NULL && st.lpstrFile[i+1] != NULL)
    {}
    pour boucler jusqu'à la fin de la chaine (deux fois NULL) mais ca s'arrete toujours apres la première chaine (le nom du dossier)...

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut
    1. Utilise plutôt 0 (voire _T('\0')) que NULL, car ce sont des caractères et non des pointeurs (oui, l'aide est un peu trompeuse cette fois).
    2. Pour ton problème, essaie de vérifier que le buffer est assez grand, par exemple. Je ne peux pas t'aider beaucoup, je n'ai jamais essayé GetOpenFileName() avec des sélections multiples...

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    tu m'aide déjà beaucoup
    je vais regarder avec tes nouvelles indications

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Ok j'avance !

    J'arrive a boucler comme il faut sur mon buffer et tout et tout.
    J'essaye maintenant de séparer les noms de fichiers, mais j'ai beaucoup de mal à manipuler les chaines. Je trouve pas moyen de faire un substring(n,m) de ma chaine et ca me serait bien utile

    Dur dur quand on a l'habitude de java, au moins ya pas 100types de Strings

  7. #7
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 578
    Points
    41 578
    Par défaut
    Jette un coup d'oeil vers la fin de ce thread, tout chaud, tout récent :
    http://www.developpez.net/forums/sho...d.php?t=301329
    En remplaçant char par TCHAR et strncat() par _tcsncat() (déclaré dans <tchar.h>).

Discussions similaires

  1. Select multiple
    Par lfournial dans le forum Struts 1
    Réponses: 20
    Dernier message: 24/02/2011, 12h14
  2. select multiple sur plusieurs tables
    Par syl2095 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/12/2004, 15h48
  3. [VB6] sélection multiple de colonne dans excel grâce à VB
    Par biquet dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 02/08/2004, 12h44
  4. <select multiple ...>
    Par ayobo dans le forum ASP
    Réponses: 2
    Dernier message: 06/07/2004, 08h49
  5. [C#]Sauvegarde d'une selection multiple d'une listbox?
    Par onouiri dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/04/2004, 17h16

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