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ébutant: Question sur l'utilisation des structures


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Points : 48
    Points
    48
    Par défaut Débutant: Question sur l'utilisation des structures
    Bonjour à tous,
    Une fonction peut-elle renvoyer une structure , et si oui comment la récuperer dans le code appelant ?

    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    struct toto
     {double d1;
      double d2;
       };
     
    // est- ce que je peux écrire:
     
    toto MaFonction
       { toto *t;
         t->d1 = 2.5;
         t->d2 = 3.2;
        return(*t);
       }
    Si oui, comment doit se faire l'appel et la récupération des valeurs ?

    Merci d'avance,

    Robert

  2. #2
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    si je ne m'abuse, tu vas devoir définir un type
    par ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     	typedef struct params{
             AnsiString name;
             AnsiString value;
           }CRParams;
    ensuite ça devrait le faire..mais sans garantie
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  3. #3
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    effectivement, tu dois definir un type de structure,
    ensuite

    dans ta fonction preferes la notation suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    toto tafonc()
    {
    typestruct S1;
     
    ------------------
    traitement structure
    S1.d1 = 3.14;
    S1.d2 = 1.414;
    ------------------
    return(S1);
    }
    car quand tu defini ton pointeur sur ta structure, ta mémoire n'est pas alloué. donc ton pointeur de structure pointe sur.......rien

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Points : 48
    Points
    48
    Par défaut
    Merci à tous les deux,
    je progresse...


    Maintenant, pour appeler cette fonction, je vais devoir faire qque chose du style: S = tafonc();
    Je comment dois-je déclarer S ?

    Merci d'avance,

    Robert

  5. #5
    say
    say est déconnecté
    Membre expérimenté
    Avatar de say
    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 176
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 176
    Points : 1 300
    Points
    1 300
    Par défaut
    et bien comme S1 dans la fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    typestruct S;
    S = tafonc();
    A+
    Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
    _ _ _ _ _ _ _ _ _

    La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
    _ _ _ _ _ _ _ _ _

    Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Points : 48
    Points
    48
    Par défaut
    Ouups! je suis trop nul...!

    Merci à tous les deux...

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

Discussions similaires

  1. Question sur l'Utilisation des ORDER BY
    Par msi51 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 14/10/2009, 10h24
  2. [Smarty] Question sur l'utilisation des générateur de template
    Par fongus dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 24/09/2007, 21h36
  3. Question sur l'utilisation des evenements
    Par Seth77 dans le forum C#
    Réponses: 2
    Dernier message: 12/06/2007, 23h27
  4. Question sur l'utilisation des onglets
    Par diden138 dans le forum Delphi
    Réponses: 20
    Dernier message: 16/11/2006, 19h48
  5. Réponses: 3
    Dernier message: 21/10/2006, 16h03

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