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 :

Probleme avec une structure


Sujet :

C++Builder

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut Probleme avec une structure
    Salut,

    Je dois initialiser un entier dans un structure en allant chercher sa valeur dans un fichier .ini voilà mon code :

    Je voudrais mettre toto à sa valeur qui est dans Param.ini ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TIniFile* Init = new TIniFile(ExtractFilePath(Application->ExeName)+"Param.ini");
    struct.toto = Init->ReadInteger("Param1","toto",0);
    Aucune erreur à la compilation ni lors du déroulement du programme mais struct.toto est toujours égal à 0... alors que dans le fichier Param.ini sa valeur n'est pas à zéro...

    Si quelqu'un à une idée...

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Fais ça en 2 fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TIniFile* Init = new TIniFile(ExtractFilePath(Application->ExeName)+"Param.ini");
    int test = Init->ReadInteger("Param1","toto",0);
    struct.toto = test;
    et vérifie en mode debug si ta valeur test correspond bien à la valeur de ton fichier Ini...

    Nb: on pourrait avoir la tronche de ta structure??

  3. #3
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    Tu as raison en le faisant en 2 temps test est bien à la bonne valeur...

    C'est quand je fais :

    que struct.toto ne prend pas la bonne valeur... alors je ne sais plus...

    Sinon ma structure est simple pour cet exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Struct
    {
    in toto;
    } struct;

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Essayes ta structure comme ceci pour voir si cela a une influence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    typedef struct
    {
     int toto;
    }test_struct;
    ton code deviendra
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    TIniFile* Init = new TIniFile(ExtractFilePath(Application->ExeName)+"Param.ini");
    int test = Init->ReadInteger("Param1","toto",0);
    test_struct.toto = test;

  5. #5
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    Le fait d'avoir rajouté typedef, il ne compile plus et me dis comme erreur :

    "improper use of typedef"

  6. #6
    Membre éclairé Avatar de Fred2209
    Inscrit en
    Octobre 2006
    Messages
    310
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 310
    Par défaut
    Par contre il faut peut-etre que je passe la structure en parametre de la fonction, mais c'est bizarre car elle était reconnue sans y etre...

  7. #7
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Citation Envoyé par Fred2209
    Le fait d'avoir rajouté typedef, il ne compile plus et me dis comme erreur :

    "improper use of typedef"
    Je ne comprends pas pourquoi tu as cette erreur vue que j'utilise une structure de ce type et cela fonctionne...

    Ma structure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    typedef struct
    {
     AnsiString Host,//hote
                Pass,//password
                User;//utilisateur
    }InfoFTP;//structure info ftp
    Citation Envoyé par Fred2209
    Par contre il faut peut-etre que je passe la structure en parametre de la fonction, mais c'est bizarre car elle était reconnue sans y etre...
    Si ta structure est déclarée dans un fichier source ou fichier header connu par le fichier source contenant ton appel, c'est tout à fait normal.

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

Discussions similaires

  1. Probleme avec une structure sequentielle empilée
    Par kobalt02 dans le forum LabVIEW
    Réponses: 4
    Dernier message: 17/06/2009, 13h27
  2. Probleme avec une structure
    Par bouba69 dans le forum Débuter
    Réponses: 12
    Dernier message: 03/02/2008, 21h46
  3. Probleme avec une structure
    Par coco.cohen dans le forum C
    Réponses: 3
    Dernier message: 26/11/2007, 20h41
  4. probleme avec une structure.
    Par apesle dans le forum C
    Réponses: 5
    Dernier message: 24/12/2006, 15h18
  5. probleme avec une "structure en arbre"
    Par kamouminator dans le forum C
    Réponses: 1
    Dernier message: 07/11/2006, 22h21

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