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 :

menu sous c builder


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mai 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 1
    Par défaut menu sous c builder
    salut à tt le monde je suis entraine de préparer mon projet de fin d'étude j'ai créer un menu (c builder)qui contient qq composates parmis elles ENREGISTER & OUVRIR le problème c que c dérnières ne fonctionent pas donc s'il ya quelq1 qui peut m'aider, voici les 2 codes suivants:
    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
    void __fastcall TForm1::EnregistrerClick(TObject *Sender)
    {
         FILE *f;
         bool res = SaveDialog1->Execute();
         if(res==true)
         {
            f = fopen((SaveDialog1->FileName).c_str(), "wb");
            fwrite(tab,4,3,f); fclose(f) ;
         }
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::Edit1KeyDown(TObject *Sender)
    {FILE *f;
         bool res = OpenDialog1->Execute();
         if(res==true)
         {
            f = fopen((OpenDialog1->FileName).c_str(), "wb");
            fwrite(tab,4,3,f); fopen(f) ;
         }
    }

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 407
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 407
    Par défaut
    Salut !

    Voici un petit exemple mettant en lice :
    - Ouvrir1
    - Enregistrer1
    - Enregistrersous1
    - Quitter1

    Dans un premier temps, on s'assure que les propriétés DefaultExt et Filter des deux boites de dialogue ont été correctement initialisées.

    Ne pas oublier : #include <stdio.h>

    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
     
    AnsiString Filename;
    Byte Tab[256]; // chez moi juste pour le test
    //--
    __fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
    {
    // Par défaut, le dossier de l'excutable devient le chemin initial
    AnsiString Filepath = ExtractFilePath(Application->ExeName);
    OpenDialog1->InitialDir = Filepath;
    SaveDialog1->InitialDir = Filepath;
    }
    //--
     
    void __fastcall TForm1::Ouvrir1Click(TObject *Sender)
    {
    FILE *f;
    if( OpenDialog1->Execute() )
        {
        Filename = OpenDialog1->FileName;
        // chargement du fichier en mémoire
        f = fopen( Filename.c_str(), "wb" );
        fread(Tab,4,3,f);
        fclose(f) ;
        }
    }
     
    void __fastcall TForm1::Enregistrersous1Click(TObject *Sender)
    {
    if( SaveDialog1->Execute() )
        {
        Filename = SaveDialog1->FileName;
        Enregistrer();
        }
    }
     
    void __fastcall TForm1::Enregistrer1Click(TObject *Sender)
    {
    if(Filename != "") Enregistrer();
    else Enregistrersous1Click( Enregistrersous1 );
    }
     
    void __fastcall TForm1::Quitter1Click(TObject *Sender)
    {
    switch(Application->MessageBox("Enregistrer les modifications ?\n\n- Oui pour enregistrer\n- Non pour quitter (les données seront perdues)\n- Annuler pour revenir au programme",
                                   "Quitter le programme",
                                   MB_ICONWARNING | MB_YESNOCANCEL))
        {
        case IDYES : Enregistrer1Click( Enregistrer1 ); break;
        case IDCANCEL : return;
        }
    Close();
    }
     
    // méthode supplémentaire pour simplifier le code
     
    void __fastcall TForm1::Enregistrer()
    {
    FILE *f = fopen( Filename.c_str(), "wb" );
    fwrite(Tab,4,3,f);
    fclose(f) ;
    }
    La méthode Enregistrer devra être déclarée dans la classe de TForm1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    public:		// Déclarations de l'utilisateur
        void __fastcall Enregistrer();
    Dans la messagebox, le texte comporte des caractères spéciaux (\n) qui servent à formater le texte par lignes.

    A plus !

Discussions similaires

  1. [Debutant] Menu sous IE et fonction Javascript
    Par Pepito dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/11/2005, 17h59
  2. Debug de dll sous C++ Builder
    Par Négrier dans le forum C++Builder
    Réponses: 5
    Dernier message: 26/09/2005, 19h12
  3. Comment on connecte un modem sous C++ Builder?
    Par Snipeyes dans le forum C++Builder
    Réponses: 2
    Dernier message: 28/01/2005, 20h21
  4. Menu / Sous Menu
    Par lenouvo dans le forum MFC
    Réponses: 5
    Dernier message: 27/10/2004, 15h50
  5. DLL sous C++ builder 6
    Par ovdz dans le forum C++Builder
    Réponses: 3
    Dernier message: 05/08/2003, 14h15

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