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 :

erreur n'est pas logique


Sujet :

C++Builder

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut erreur n'est pas logique
    bonjour,
    j'ai ecrire un code et dans ce code j'ai applé un fonction "nouvaux compte()"
    ensuite j'ai défini ma fonction ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void __fastcall TClient::Button6Click(TObject *Sender)
    {
    if(this->Edit4->Text.Trim().Length()==0)
            MessageBox(0,"le champ de nom est vide ! ","Nom de compte vide",0);
    else
    if(this->Edit5->Text.Trim().Length()==0)
             MessageBox(0," specifez une mot de pass S.V.P  ","Mot de pass",0);
    else
             OuvrirCompte();
    }
    le code de la fonction "nouvaux compte" est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void TClient::NouvauxCompte()
     {
     last_requst=Nouvauxcompte;
     AnsiString nom,pass,requtte,separa="|";
     nom=this->Edit1->Text;
     pass=this->Edit2->Text;
     requtte=protocole[Nouvauxcompte]+separa+nom+separa+pass+separa;
     this->ClientSocket1->Socket->SendText(requtte);
    }
    les erreurs sont
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    1-call to undefined function "nouvaux compte"
    2-nouvaux compte() is not membre of tClient

  2. #2
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    As tu définit ta fonction dans le .h de la classe TClient ?

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    bonjour, merci pour ta réponse elle m'aide beaucoup
    j'ai ecrit mes fonction dans le .h de la classe TClient il accepte tout les fonction sauf une
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void __fastcall TClient::ListBox1DblClick(TObject *Sender)
    si j'ajoute cette fonction a .h il m'affiche que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    erreur in module unit1 : Incorect methode declaration in class Tclient

  4. #4
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    La fonction ListBox1DblClick est un événement de Builder, pour qu'elle soit correctement définit, il faut que tu sélectionne ton composant ListBox1 et que dans l'inspecteur d'objet (le panneau ou tu peut changer les propriétés), tu double clique sur l'événement OnDblClick, cela redéfinira correctement ton événement

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    il ne marche pas

  6. #6
    Membre actif Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Points : 206
    Points
    206
    Par défaut
    si c'est une méthode de ta classe ajoute

    LE MOT DYNAMIQUE

    DYNAMIQUE void __fastcall TClient::ListBox1DblClick();


  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    malheureusement non,c'est une procedure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void __fastcall TClient::ListBox1DblClick(TObject *Sender)
    {
    /*
      requtte=Lireunemessage|nom|date de réception de message|source|
     
    */
     last_requst= Lireunemessage;
    AnsiString tmp= this->ListBox1->Items->Strings[this->ListBox1->ItemIndex];
    AnsiString requtte=protocole[Lireunemessage]+"|";
    tmp=tmp.Insert("|",tmp.Pos("  "));  //2 espaces
    requtte+=Edit4->Text+"|"+tmp;
    this->ClientSocket1->Socket->SendText(requtte);
    }
    si je supprime
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void __fastcall TClient::ListBox1DblClick(TObject *Sender)
    de unit1.h et si je supprime le code de la fonction pas
    d'erreur

  8. #8
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut hibate_allah
    Dans ton .h ton appel de fonction est mal ecrit
    void __fastcall TClient::ListBox1DblClick(TObject *Sender)
    doit etre ecrit
    void __fastcall ListBox1DblClick(TObject *Sender);

  9. #9
    Membre actif Avatar de Bily.sdi
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    208
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 208
    Points : 206
    Points
    206
    Par défaut
    voici un exemple complet et ça marche !

    le seul petit problème est que l'évènement fonctionne si tu clique sur un élément de la liste.

    le .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
     
    //---------------------------------------------------------------------------
     
    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    //---------------------------------------------------------------------------
     
    class Cases : public TListBox
    {
     private:
     
     public:
     
     AnsiString Nom;
     int val;
     
     Cases(TForm*o):TListBox(o)
     {
      this->Parent = o;
      this->Top = 20;
      this->Left = 20;
      this->Width = 100;
      this->Height = 400;
      this->Cursor = crHandPoint;
      this->val=0;
     }
     
     DYNAMIC void __fastcall Click();
     DYNAMIC void __fastcall DblClick();
     
      __fastcall Cases();
     
    };
     
    class TForm1 : public TForm
    {
    __published:    // IDE-managed Components
            TButton *Button1;
            void __fastcall Button1Click(TObject *Sender);
    private:    // User declarations
     
    public:        // User declarations
     
       Cases *tab[5];
     
            __fastcall TForm1(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif
    .cpp
    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
     
     
    //---------------------------------------------------------------------------
     
    #include <stdio.h>
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
     
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
     
       for(int j=0; j<5; j++)
       {
     
         tab[j]= new Cases(Form1);
     
         tab[j]->Left = ( tab[j]->Top + ( tab[j]->Width * j) );
     
         tab[j]->Items->Add("List Nr " + AnsiString(j) );
     
         tab[j]->Nom = "List Nr " + AnsiString(j);
       }
    }
    //---------------------------------------------------------------------------
    void __fastcall Cases::Click()
    {
     
      this->Items->Insert( this->Count, this->val++ );
     
      //ShowMessage("vous avez cliquez 1X sur la liste" + this->Nom);
     
    }
    //---------------------------------------------------------------------------
    void __fastcall Cases::DblClick()
    {
     
      //this->Items->Insert( this->Count, this->val++ );
     
      ShowMessage("vous avez cliquez 2X sur la liste" + this->Nom);
    }
    //---------------------------------------------------------------------------
    d'autres questions ?

    si tu veux que le tableau d'objet soie "dynamique" creer selon tes besoin
    faire comme ceci :

    dans le .h

    Cases **tab;

    dans le .cpp

    int MAX = 10; // nombre de liste
    tab = new Cases *[MAX];



  10. #10
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 610
    Points : 66
    Points
    66
    Par défaut
    merci infiniment ce problème est résolus, il reste un autre probleme sur le code de la fonction "afficher la liste des message" si tu peux m'aider visiter ce lien
    http://www.developpez.net/forums/sho...d.php?t=560577

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

Discussions similaires

  1. erreur n'est pas logique
    Par info_sara dans le forum Flash
    Réponses: 14
    Dernier message: 05/06/2008, 21h36
  2. Réponses: 2
    Dernier message: 11/03/2007, 09h30
  3. [sql] Erreur n'est pas fonction d'agrégat
    Par Jahprend dans le forum Access
    Réponses: 13
    Dernier message: 05/07/2006, 13h34
  4. radiobutton erreur n'est pas une valeur entière correcte
    Par pierrot67 dans le forum Bases de données
    Réponses: 3
    Dernier message: 12/03/2006, 21h27
  5. erreur '' n'est pas une valeur entière correcte
    Par ffxlenoir dans le forum Langage
    Réponses: 5
    Dernier message: 02/12/2005, 13h57

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