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

C++ Discussion :

[débutant] configuration SAVE/SAVE AS


Sujet :

C++

  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 37
    Par défaut [débutant] configuration SAVE/SAVE AS
    Bonjour à tous,

    je programme avec visual c++ 6.0 sous windows. Je travaille sur un programme de traitement d'image qui ouvre et enregistre des images dans un format appellé ".img".
    Lors de l'ouverture ou de l'enregistrement de ces images, j'utilise la fonction "void Serialize (CArchive& ar)".

    Dans un deuxième temps, j'ai intégré la possibilité d'exporter les images dans des formats différents connus (bmp, png...) ainsi que la lecture de ces formats.

    Mon problème :

    Si j'affiche une image "image.png" et que je clique sur "save", je veux que le programme me donne la fenetre "SAVE AS" qui me permettra d'enregistrer en ".img". Or vu que le fichier existe déja, il écrase le fichier "image.png" sans sommations.

    Comment puis-je dire au programme d'enregistrer directement s'il s'agit d'un ".img" ou d'ouvrir la boite de dialogue "SAVE AS" s'il s'agit d'un autre format?

    Merci d'avance.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Par défaut
    if "img" save();
    else save_as();

    Sans deconner, il est ou le probleme ? Si implementer quelque chose comme ca est compliqué dans ton projet c'est que ta modelisation est bonne pour la poubelle. Si tu ne veux pas modeliser, alors oublie le C++ et passe au C.

    EDIT: je viens de relire mon message, et il fait agressif. Faut aps le prendre comme tel, c'etait pas le but original. le message etait plutot qu'a prioris la modelisation etait pas bonne si ce point pose probleme.

  3. #3
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Je pense que tu dois tester l'extension du fichier. Si c'est img, on sauvegarde, sinon on "sauvegarde sous"...

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 37
    Par défaut
    En fait, j'ai peut etre mal poser mon probleme.

    L'enregistrement se fait par les MFC et j'ai pas acces direct aux fonctions. Je ne peux que surcharger "Serialize" pour le moment. Mais quand je suis dans cette fonction, je ne sais pas comment réouvrir la fenetre save as.

    Sinon, bien évidemment, je fais un test sur l'extension du fichier au début du serialize pour savoir s'il doit etre executé ou non.


    PS : Pas de probleme Deadalnix, c'est le risque de l'écriture, on n'a pas l'intonnation de la voix...

  5. #5
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    L'enregistrement se fait par les MFC et j'ai pas acces direct aux fonctions
    Ha ben si... tu as normalement accès à toutes les fonctions de MFC, et elles sont à 95% surchageables...

    Maintenant, je me pose une question... je comprends pas bien la manip de faire quelque chose dans le Serialize(CArchive&).

    Pour être clair:
    Le Serialize est appelé sur tous les objets nécessitant d'être archivés (en commencant par le document). Si ta fonction de sérialisation ouvre une boite de dialogue pour demander un chemin/type, imagine ce que ca va donner quand ton objet fera partie d'un autre (et dont la serialisation va appeler ta fonction)....

    Je pense que tu te mélange les pinceaux... Ce que tu veux faire est plutôt à la réception de la commande de "save":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    CImageDocument::OnSave()
    {
        return IsTypeImg()) ? CDocument::OnSave() : OnSaveAs();
    }
    A noter toutefois, que ce behavior est carrément étrange... Si j'ouvre une image ".jpg", le Save doit bien être en ".jpg" ! Surtout qu'il ne va pas me demander de nom de fichier, et si j'ai un autre ".img" à coté avec le même nom, il ne faut surtout pas que le programme l'écrase !

  6. #6
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 37
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Si ta fonction de sérialisation ouvre une boite de dialogue pour demander un chemin/type, imagine ce que ca va donner quand ton objet fera partie d'un autre (et dont la serialisation va appeler ta fonction)....
    Ben justement, j'aimerais pouvoir chopper le "save" avant d'entrer dans le serialize mais j'ai aucune idée de comment je peux faire. C'est pour ca que pour le moment, j'essaye comme ca pour avancer un peu... meme si je me doute que c'est quand meme pas la meilleure des solutions.

    J'arrive a afficher la boite de dialogue save_as à partir du serialize mais ca me poutre a chaque fois mon fichier de base. je continue a faire des tests.

  7. #7
    Membre expérimenté Avatar de Ksempac
    Inscrit en
    Février 2007
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 165
    Par défaut
    Il y a un forum dédié aux MFC :
    http://www.developpez.net/forums/forumdisplay.php?f=383

    Poses ta question la bas, il y a la bas au moins 2 experts qui ne postent pas sur le forum C++ général.

  8. #8
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 37
    Par défaut
    OK je vais aller voir labas et arreter de vous embéter
    Merci pour tout,

Discussions similaires

  1. [WS 2008] RDP : configurer un "Save AS" par défaut ?
    Par neo.51 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 02/09/2009, 12h16
  2. [JBoss][Débutant] configurer JBoss pour MS SQL server 2000
    Par Houbbba dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 09/03/2006, 14h31
  3. [WB9] [Débutante] Configuration du serveur IIS
    Par Ando Nelly dans le forum WebDev
    Réponses: 2
    Dernier message: 06/02/2006, 15h00
  4. [débutant] Configuration du runtime
    Par chleuh dans le forum JBuilder
    Réponses: 2
    Dernier message: 09/12/2004, 11h45
  5. Réponses: 4
    Dernier message: 16/04/2004, 11h18

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