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 Discussion :

structure has no mumber named 'annee'.


Sujet :

C

  1. #21
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Quelle partie de "minimum mais complet" ne comprends-tu pas ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par défaut
    voila c'est la fonction dans laquelle, j'instance la structure et je l'utilise:
    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
     
    unsigned char P_Lire_drSV(unsigned char *code, unsigned char *contexte_cps, DATE *DateSyst, NO_SEGMENT mynoappli)
    {
      unsigned char  stat;
      unsigned char  etat;
      unsigned short cr;
      /*DATE DateSyst;*/
      /*unsigned char   texte[2*16+1];*/ 
     
      etat = 0x00;
      /*read_date (&DateSyst);*/
     
      /* Preparation du message de lecture de la carte SV */
     
     
      memcpy(&ucEmissMessage[6],contexte_cps,LG_CONTEXTE);
     
      memcpy(&ucEmissMessage[49],code,4); /* code porteur */
     
     
     
      if (memcmp(&(DateSyst->annee),"50",2)<0)
    	  memcpy(&ucEmissMessage[61],"20",2);
      else
         memcpy(&ucEmissMessage[61],"19",2);
      memcpy(&ucEmissMessage[63],&(DateSyst->annee),2);
      memcpy(&ucEmissMessage[65],&(DateSyst->mois),2);
      memcpy(&ucEmissMessage[67],&(DateSyst->jour),2);
     
      usLgEmissMessage=69;
     
      /* Ouverture du lecteur carte, si necessaire */
      if (stdcam0()==NULL)
    	 fopen("CAM0","rw");
      else
      {
        fclose(stdcam0());
         fopen("CAM0","rw");
      }   
      /* par defaut la carte */
      cr=CAM0;
      /* Etat du lecteur CAM0 */
      status(stdcam0(),&stat);
      /* pas de carte presente */
      if (!(stat & CAM_PRESENT))
      {
        cr=0;
        printf("%c  CARTE VITALE\n    ARRACHEE",0x1B);
    	 ttestall(0,200);
      }
     
      /* Carte en butee */
      if ((cr & CAM0))
      {
         /* Demande au gestionnaire d'executer l'ordre "Lecture droits Vitale"*/
    	 APPLI_Dialogue(mynoappli,ucEmissMessage,usLgEmissMessage,ucRecepMessage,&usLgRecepMessage);
    	 /* A la sortie de l'EI96, la carte Vitale est hors tension */
    	 /* La fonction APPLI_Dialogue ferme le peripherique CAM0 */
    	 if (ucRecepMessage[0] == 0x00)
    	 {
    	 	/*print_debug("1");*/
    #ifdef LABO
    	 envoi_xmodem(ucRecepMessage+44,usLgRecepMessage-44,'V');
    #endif
    	 	/*print_debug("2");*/
    		 MAJ_Donnees_PS(ucRecepMessage, 44);
     
    		 /* analyse espace mémoire disponible */
    		 if (MAJ_Donnees_DroitsVitale(ucRecepMessage, usLgRecepMessage))
    		 {
    		  etat = 0x01;
    		 }
    	 }
    	 else
    	 {
    		int warning;
    		warning=0;
    		switch (ucRecepMessage[1])
    		{
    		  .....
    		}
    		ttestall (0, 300);
     
    		if (usLgRecepMessage==44)
    		  MAJ_Donnees_PS(ucRecepMessage, 44);
    #ifdef RAPIDO
    		if(warning) {                          
          	if (ucRecepMessage[0] == 0x03) {
    				printf("%cREMONTEE\nDONNEES ADM.",0x1B);
    				ttestall (0, 200);
    #ifdef LABO
    					 envoi_xmodem(ucRecepMessage+1+44,usLgRecepMessage-1-44,'V');
    #endif
    				MAJ_Donnees_PS(ucRecepMessage+1, 44);
     
    			 if (MAJ_Donnees_DroitsVitale(ucRecepMessage+1, usLgRecepMessage))
    			 {
    			  etat = 0x02;
    			 }
    			} else {
    				printf("%cREMONTEE\nDONNEES ADM.",0x1B);
    				ttestall (0, 200);
    				MAJ_Donnees_PS(ucRecepMessage+1, 44);
     
    				/* analyse espace mémoire disponible */
    				if (MAJ_Donnees_DroitsVitale(ucRecepMessage , usLgRecepMessage)) {
    					etat = 0x02;
    				}
    			}
    		}
    #endif
    	 }
      }
     
     
      return etat;
    }

  3. #23
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Si je compile ça tout seul, j'aurais tes erreurs ?
    Ça m'étonnerait...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #24
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par moon93
    je ne sais pas si j'était clair ou non,
    Ben non. C'est pas complet.

    Retire les '&', ce sont des tableaux...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    memcpy (ucEmissMessage + 63, DateSyst->annee, 2);

  5. #25
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Par défaut
    j'ai enlevé &, et j'ai eu le message d'erreur:
    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
     
    src/Entry.c: In function `P_Lire_drSV':
    src/Entry.c:276: error: structure has no member named `annee'
    src/Entry.c:279: warning: passing arg 1 of `memcpy' makes pointer from integer without a cast
    src/Entry.c:280: error: structure has no member named `annee'
    src/Entry.c:280: warning: passing arg 1 of `memcpy' makes pointer from integer without a cast
    src/Entry.c:281: error: structure has no member named `mois'
    src/Entry.c:281: warning: passing arg 1 of `memcpy' makes pointer from integer without a cast
    src/Entry.c:282: error: structure has no member named `jour'
    src/Entry.c:282: warning: passing arg 1 of `memcpy' makes pointer from integer without a cast
    src/Entry.c:320: warning: implicit declaration of function `MAJ_Donnees_PS'
    src/Entry.c:323: warning: implicit declaration of function `MAJ_Donnees_DroitsVitale'
    src/Entry.c: In function `FFMS_Menu':
    src/Entry.c:593: warning: implicit declaration of function `TEST_SWIPE'
    make: *** [obj_gnu\Entry.o] Error 1

  6. #26
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par moon93
    j'ai enlevé &, et j'ai eu le message d'erreur:
    Ceci compile :
    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
     
    #include <string.h>
     
    typedef struct
    {
       unsigned char jour[2];
       unsigned char mois[2];
       unsigned char annee[2];
       unsigned char heure[2];
       unsigned char minute[2];
       unsigned char seconde[2];
    }
    DATE;
     
    static int f (DATE * DateSyst)
    {
       unsigned char ucEmissMessage[100];
     
       memcpy (ucEmissMessage + 63, DateSyst->annee, 2);
       memcpy (ucEmissMessage + 65, DateSyst->mois, 2);
       memcpy (ucEmissMessage + 67, DateSyst->jour, 2);
     
       return 0;
    }
     
    int main (void)
    {
       DATE DateSyst[] =
       {
          "01",
          "23",
          "45",
          "67",
          "89",
          "01",
       };
     
       f (&DateSyst);
       return 0;
    }
    Mais comme tu refuses de donner ton code, on ne peut rien vérifer...
    (Et arrête de faire le malin...)

  7. #27
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Ca n'a rien a voir mais...

    Citation Envoyé par Emmanuel Delahaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
       DATE DateSyst =
       {
          "01",
          "23",
          "45",
          "67",
          "89",
          "01",
       };
    ca depasse non?

  8. #28
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Gruik
    Ca n'a rien a voir mais...
    ca depasse non?
    Non, pourquoi ? La taille des tableau est fixée...

    http://emmanuel-delahaye.developpez....es.htm#tabchar

  9. #29
    Membre Expert
    Avatar de Gruik
    Profil pro
    Développeur Web
    Inscrit en
    Juillet 2003
    Messages
    1 566
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 566
    Par défaut
    Ah oki, je croyais que c'était comme strcpy ,)
    C'est juste que yaura pas le '\0'

  10. #30
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Gruik
    Ah oki, je croyais que c'était comme strcpy ,)
    C'est juste que yaura pas le '\0'
    Oui et que, malgré les apparences, ce ne sera pas une chaine valide.

  11. #31
    Membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 7
    Par défaut Probleme de place
    Ton probleme doit tout simplement venir de la position de la declaration de ta structure dans ton .h.
    En effet, ton programme doit appele la structure alors que celle-ci n a pas encore ete declaree pour l ordi. Remonte la declaration de ta structure dans tn .h, je pense que cela devrait aller. (les messages de parse error sont generalement dues a ca.)

Discussions similaires

  1. SQLiteException: table X has no column named Y
    Par vilour dans le forum Android
    Réponses: 0
    Dernier message: 04/04/2015, 16h10
  2. Réponses: 16
    Dernier message: 04/03/2015, 12h00
  3. Class X has no association named et problème de requête.
    Par loic20h28 dans le forum Doctrine2
    Réponses: 0
    Dernier message: 15/02/2015, 22h03
  4. Class X has no association named.
    Par Auden dans le forum Doctrine2
    Réponses: 3
    Dernier message: 15/07/2013, 20h00
  5. [Compilation] Erreur : "has no member named"
    Par Trademark dans le forum Débuter
    Réponses: 8
    Dernier message: 03/05/2010, 22h11

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