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 :

D�clarer une fonction en C++ Builder [D�butant(e)]


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Avril 2006
    Messages
    131
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par d�faut D�clarer une fonction en C++ Builder
    je suis vraiment une debutante mais malgr� ca j'ai su comment d�clar� une fonction en c++builder.mais cette fonction me doit retourn� 3valeurs de type AnsiString et entier et autre entier .j'aimerai vraiment que vous m'aidiez au plus vite si vous pouvez.merci .
    comment g�rer cette fonction pr me retourn� ces 3valeurs.merci.

  2. #2
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut
    Alors si tu es tr�s d�butante....toujours le m�me conseil : aller voir les tutoriels de base.

    Ensuite � mon avis il te faut d�finir un type, une structure fera tr�s bien l'affaire qui contiendra l'ensemble des informations : une fonction n'a qu'une ou aucune valeur de retour.

    Donc
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    typedef struct
    {
    AnsiString a;
    AnsiString b;
    //etc....
    } MonType;
    Et tu d�fini ta fonction comme retournant un MonType.

    P.S. Les urgents et "au plus vite" sont � �viter : on aide les gens quand on a le temps

  3. #3
    Membre confirm�
    Inscrit en
    Avril 2006
    Messages
    131
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par d�faut
    merci pour votre aide.j'ai essayer avc typedef struct et ca bug toujours.il ya tjr des erreurs que e comprend pas.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    exemple
    //j'ai declaré une structureapres les includes
    typedef struct
    {int k;
    int j;}nveautype;
    //ds la fct j'ai fait comme suit
     
    nveautype__fastcallTForm1::fctIF(TStringList*Fichier,int k,int j)
    {//le corp de la fct
    return nveautype;
    }
    //sans oublié que j'ai fait le prototype de la fct ainsi
    nveautype __fastcall fctIF(TStringList*Fichier,int,int);
    et ca me donne tjr des erreurs comme
    ce n'est pas un type autoris�


    mercii pr votre aide

  4. #4
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut
    Il te manque des espaces dans le prototype du corps de ta m�thode :
    • entre le nom du type et __fastcall
    • entre __fastcall et le nom de la m�thode


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    nveautype__fastcallTForm1::fctIF(TStringList*Fichier,int k,int j)
    il faut avoir �a
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    nveautype __fastcall TForm1::fctIF(TStringList*Fichier,int k,int j)
    Ensuite return nveautype ne fonctionnera pas, il te faut retourner une structure de ce type, pas le type lui m�me :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    nveautype __fastcall TForm1::fctIF(TStringList*Fichier,int k,int j)
    {//le corp de la fct
    nveautype mon_resultat;
    return mon_resultat;
    }

  5. #5
    Membre confirm�
    Inscrit en
    Avril 2006
    Messages
    131
    D�tails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par d�faut
    Merci pour votre aide.
    et desol� pour le derangement car vraiment j'ai pass� des jours pour pouvoir fonctionn� cette fonction et tjr ca bug.
    moi je ss une etudiante en informatique mais j'essaye d'apprendre le c++ builder tte seule.
    ok pour les espaces je les ai fait des le debutr le pb n'etait pas pr ca.
    en+, je vais etre un peu d�bile et vs posez cette question.
    pour d�clar� une fonction j'ai etait oblig� a mette son prototype dans (.h).es-ce juste ca?car mnt apres avoir fait le return d'une structure
    les bugs sont au niveau de(.h)
    pr etre plus claire voila mon code
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    //c'est au niveau (.h)
    void __fastcall Button1Click(TObject *Sender);
    MonType  __fastcall fctIF(TStringList *Fichier,int k,int j );
         MonType __fastcall fctELSE(TStringList *Fichier,int k,int j);
    et ca m'affiche des erreurs comme suit
    -nom de type attendu
    -;manquant dans la declaration
    -declaration multiple pour 'TForm::MonType'
    -declaration plus recente de 'TForm::MonType'
    et tjr
    -ce n'est pas autoris�
    malgr� que j'ai suivie tt vos conseils.merci de tt
    et voila mon code(.c)
    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
    TForm1 *Form1;
     
    MonType __fastcall fctIF(TStringList*Fichier,int,int) ;
    MonType __fastcall fctELSE(TStringList*Fichier,int,int) ;
     typedef struct 
    {int k;
    int j} MonType;
    //au niveau d'un  bouton j'ai ca
    fctIF(Fichier,k,j);
    fctELSE(Fichier,k,j);
    //et les fct comme suit
    MonType  __fastcall TForm1::fctIF(TStringList*Fichier,int k,int j)
    {//le corp
    MonType montype ;
       return  montype;}
    et de mm pour l'autre fct car ils ont les mm parametres
    merci

  6. #6
    Membre �prouv�

    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 163
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 163
    Par d�faut
    Les fichiers .h servent pour les d�clarations des types et des fonctions...je te recommande vivement de relire les tutoriels de C/C++ de base.

    Bref MonType n'est pas encore connu du compilateur dans ton .h actuel.

    Donc ton .h doit contenir :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
     typedef struct 
    {int k;
    int j} MonType;
     
    void __fastcall Button1Click(TObject *Sender);
    MonType  __fastcall fctIF(TStringList *Fichier,int k,int j );
    MonType __fastcall fctELSE(TStringList *Fichier,int k,int j);
    Et dans ton .c (puisque la premi�re chose que fais le .c est d'inclure le .h tu n'as pas besoin d'y red�finir les prototypes de tes m�thodes) :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    MonType  __fastcall TForm1::fctIF(TStringList*Fichier,int k,int j)
    {//le corp
    MonType montype ;
       return  montype;}
    Bref reprend bien les turoriels de base pour bien comprendre les .h et .c. Je sais que ce n'est pas forc�ment tr�s facile � comprendre au d�but mais c'est important d'y passer du temps.

    Bon courage !

Discussions similaires

  1. D�clarer une fonction � la vol�e : possible ?
    Par Evocatii dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 16/07/2007, 21h58
  2. Ecrire une fonction dans C++ Builder
    Par ricciheig dans le forum C++Builder
    R�ponses: 1
    Dernier message: 27/05/2007, 23h05
  3. d�finir une fonction avec C++builder 5
    Par dasou dans le forum C++Builder
    R�ponses: 2
    Dernier message: 17/03/2007, 23h10
  4. D�clarer une fonction avec deux inconnues
    Par a.ahmed dans le forum MATLAB
    R�ponses: 6
    Dernier message: 27/02/2007, 09h43
  5. D�clarer une fonction ayant 2 prototypes dans une DLL
    Par Jayceblaster dans le forum Delphi
    R�ponses: 8
    Dernier message: 17/02/2007, 12h00

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