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++Builder Discussion :

savedialog problème avec l'extension


Sujet :

C++Builder

  1. #1
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Par défaut savedialog problème avec l'extension
    bonsoir
    save dialog enregistre le fichier enfin juste le nom voila le code que j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if(SaveDialog1->Execute());
    TabbedNotebook1->ActivePage=="le nom";
    {
    Memo1->Lines->SaveToFile(SaveDialog1->FileName);
     Image1->Picture->SaveToFile(SaveDialog1->FileName);
    }
     
    {
    if(SaveDialog1->Execute());
    TabbedNotebook1->ActivePage=="le nom2";
    }
    Form2->Caption="Editeur:";ExtractFileName;
    quand je enregistre sur le bureau lextention est inexistante (txt ou doc...)
    merci de votre aide

  2. #2
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    Salut !

    C'est quoi ça ?

    Quesque t'as ? et quesque tu veux faire ?

    ++

  3. #3
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Par défaut
    salut
    je veux faire come tout le monde c'est simple je veux que quand je clic sur enregistré sous la fenetre de savedialog souvre et enregistre la page encour (activepage dans TabbedNote1book)
    mais j'ai juste fais enregistrer le memo et pictur
    voila j'espere ke c clair maint merci

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2006
    Messages : 28
    Par défaut
    je ne suis pas un pro mais j'apporte quand même ma pierre à l'édifice...
    d'une il me semble que si tu met un if, cela signifi qu'il est suivie d'une instruction nan ?? du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(condition) 
    {instructions};
    déjà essaie de mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(SaveDialog1->Execute()==true)
    ...
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(SaveDialog1->Execute())
    mais à mon avis, étant donné qu'à la fin de ton if tu lui colle un ';', il ne tiens pas compte de tes instructions...

    Je peux me tromper...

  5. #5
    Membre éprouvé

    Profil pro
    Cadre
    Inscrit en
    Mars 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre

    Informations forums :
    Inscription : Mars 2006
    Messages : 132
    Par défaut
    Pas besoin de mettre ==true, puisque dire "si savedialog s'execute" revient à dire '"si l'éxécution de savedialog est confirmée (vraie)"

    En fait le true sert à dire que l'utilisateur a bien choisi un nom de fichier et n'a pas cliqué sur annuler

    Ensuite, je sais pas ou t'a appris à coder du C++ mais y'a pas mal de fautes

    un if, ça se fait comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(expression)
    {
        ...bloc d'instructions
    }
    Y'a pas de ; après la commande if

    :o

    Enfin, en C++ l'affectation se fait par le signe =, et non pas == qui correspond à un opérateur de comparaison...

    De plus, pour enregistrer une image, on utilise une boite de dialogue Save PictureDialog, et non pas SaveDialog. Quoiqu'en fait je ne sais pas si ça change quelque chose...peut etre au niveau de l'extension :


  6. #6
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Par défaut
    merci je suis debutante j'esseye des instruction et le compilateur m'oriente c'est un peu bisard comme methode .
    je vais rectifier les erreurs flagrante.
    merci

  7. #7
    Membre éprouvé

    Profil pro
    Cadre
    Inscrit en
    Mars 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre

    Informations forums :
    Inscription : Mars 2006
    Messages : 132
    Par défaut
    De rien!

    Bonne chance!

    PS:Meme s'il faut 50000 compilations, l'important c'est qu'au final ça marche!


  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 481
    Par défaut
    Rien n'empèche d'écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(SaveDialog1->Execute())
    TabbedNotebook1->ActivePage=="le nom";
    {
      Memo1->Lines->SaveToFile(SaveDialog1->FileName);
    }
    Mais il ne faut pas mettre derrière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Image1->Picture->SaveToFile(SaveDialog1->FileName);
    Cela reviendrait à enregistrer dans le fiocheir de nom SaveDialog1->FileName
    une image qui prendrait la place du texte du Memo1.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(SaveDialog1->Execute())
    est absolument identique à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if( (SaveDialog1->Execute()) == [b]true[/b])

  9. #9
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Par défaut
    salut j'ai corriger mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    IsNew=false;
    IsSave=true;
    if(SaveDialog1->Execute())
     
    {
    Memo1->Lines->SaveToFile(SaveDialog1->FileName);
    Image1->Picture->SaveToFile(SavePictureDialog1->FileName);
     
    }
    j'ai pas su coment renregistrer un dbgrid donc
    sa compile mais lors de l'execution j'ai le message d'erreur
    je voudrais que l'image ,memo et le dbgrid soitent enregistrer ,
    je ne vois pas quoi faire d'autre .
    merci

  10. #10
    Membre éprouvé

    Profil pro
    Cadre
    Inscrit en
    Mars 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre

    Informations forums :
    Inscription : Mars 2006
    Messages : 132
    Par défaut
    Le problème c'est que ton bout de code ne sera éxécuté qu'après l'affichage de la boite de sauvegarde SaveDialog.
    La boite SavePictureDialog ne sera jamais affichée puisque tu n'appelle pas sa méthode Execute() .
    Pour les dbgrid je peux pas t'aider...

    Une solution serait de créer une nouvelle form contenant 2 TEdit, 2 TButton "Parcourir", 1 TButton "Enregistrer", et tes SaveDialogs.Dans l'un des champs tu met le nom du fichier contenu dans le SaveDialog pour le fichier texte que tu appelle en cliquant sur un des boutons "Parcourir". Dans l'autre champ tu met le nom du fichier image obtenu grace au SavePictureDialog, et enfin tu sauvegarde le tout dans la procédure OnClick du TButton "Enregistrer" (en testant au prélable que les champs ne sont pas vides)

    Voici un exemple de fenetre et le code correspondant

    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
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
        //Code du bouton Parcourir "texte"
        if(SaveDialog1->Execute())
            Edit1->Text = SaveDialog1->FileName;
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
        //Code du bouton Parcourir "image"
        if(SavePictureDialog1->Execute())
            Edit2->Text = SavePictureDialog1->FileName;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button3Click(TObject *Sender)
    {
        //Code du bouton Enregistrer
        //On suppose que la fenetre principale s'appelle MainForm
        // NB:Pense a ajouter le .h de cette nouvelle fenetre dans le .cpp de MainForm
        if(!(Edit1->Text.IsEmpty()) && !(Edit2->Text.IsEmpty())
        {
            //On a testé si les champs étaient vides ou non
            MainForm->Memo1->Lines->SaveToFile(Edit1->Text);
            MainForm->Image1->Picture->SaveToFile(Edit2->Text);
        }
    }
    Images attachées Images attachées  

  11. #11
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Par défaut
    salut
    merci mais je crois que je me suis mal exprimer le code que j'ai fais je l'ai mi dans fichier->enregistrer sous .enfin je vais esseyer de faire avec le votre et le modifier . merci pour votre aide

  12. #12
    Membre éprouvé

    Profil pro
    Cadre
    Inscrit en
    Mars 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre

    Informations forums :
    Inscription : Mars 2006
    Messages : 132
    Par défaut
    Le code marche dans n'importe quelle procédure, enfin méthode, que ce soit un clic de bouton ou un clic dans un menu

  13. #13
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 29
    Par défaut
    c'est juste ce que vous aviez dit merci pour le code

  14. #14
    Membre éprouvé

    Profil pro
    Cadre
    Inscrit en
    Mars 2006
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre

    Informations forums :
    Inscription : Mars 2006
    Messages : 132
    Par défaut
    De rien! Bonne continuation

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 24/08/2006, 18h12
  2. Sélectionner tous les fichiers avec l'extension
    Par babarpapa dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/03/2006, 10h25
  3. [D2005] : Problème avec l'extension
    Par babyface dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 08/07/2005, 19h10
  4. [ZIP]besoin de lire des fichiers avec l'extension tar.gz
    Par mathieublanc13 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 24/05/2004, 13h35
  5. [TP]rendre une unité avec l'extension tpu
    Par mmm dans le forum Turbo Pascal
    Réponses: 2
    Dernier message: 28/10/2003, 20h09

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