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 :

Equivalent C++Builder du "absolute" de Delphi ?


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Par d�faut Equivalent C++Builder du "absolute" de Delphi ?
    Bonjour � tous,
    la question est dans le titre, est-ce que C++Builder poss�de un �quivalent du "absolute" de Delphi...?

    Si non, comment faire pour d�clarer plusieurs structures � la m�me adresse (si c'est possible) et pouvoir utiliser soit l'une soit l'autre suivant la nature de donn�es re�ues ?

    Je d�bute en C++ et tout ce que j'ai tent� s'est sold� par de magnifiques erreurs...

    Merci d'avance,

    Robert

  2. #2
    Membre exp�riment�

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par d�faut
    Je d�chiffre le Pascal avec difficult�, quelle gal�re pour modifier un composant, donc je ne connais pas "absolute". Mais en C ce que tu d�cris s'appelle une union (c'est du C, m�me pas du C++):
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    typedef union {        
      struct1 MyStruct1;        
      struct2 MyStruct1;
    } MyUnion;
    o� struct1 et struct2 sont des structures (ou variables) pr�alablement d�clar�es.

    ex.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    typedef union {
      RECT rc;
      POINT pt;
    } a_Rect_or_a_Point;
     
    a_Rect_or_a_Point ptrc;
    SetRect(&ptc.rc, 0, 0, 32, 32);
    ShowMessage("Coordonnees origine du rectangle x:" + IntToStr(ptc.pt.x) 
                     + "y:" + IntToStr(ptc.pt.y));
    Logiquement x=0 y=0 (Je n'ai pas test� le code). Nous avons ici une union dont les structures ont des donn�es compatibles entre elles (x et y matchent l'origine du rectangle) mais ce n'est pas une obligation et gare alors aux incompatibilit�s, mais c'est �videmment la m�me chose en Pascal.

    yarp
    www.senosoft.com

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Par d�faut
    Merci beaucoup,
    m�me si ce n'est pas encore tr�s clair pour moi, �a me permet de reduire le champ de mes recherches...
    Le absolute de Delphi est peut-�tre plus naturel pour un d�butant.

    Si je d�clare une variable (ou un record):

    A : integer;

    et une autre:

    B : byte absolute A;

    A et B ont la m�me adresse en m�moire. Donc par exemple en utilisant B, je peux manipuler le premier octet de A...

    Merci encore,

    Robert

  4. #4
    Membre exp�riment�

    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    288
    D�tails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2003
    Messages : 288
    Par d�faut
    Oui �a fonctionne exactement pareil en C, la structure RECT et la structure POINT ont la m�me adresse en m�moire. Pa-reil.
    Par contre il faut �tre prudent car RECT (4 entiers) n'a pas la m�me taille que POINT (2 entiers), mais comme je le disais c'est vrai aussi en Pascal.
    L'exemple que j'ai pris est avec des structures mais �a fonctionne aussi avec des variables.

    ps Si c'est pour manipuler des octets les op�rateurs bitwise & et | sont bien plus pratiques, je dirais m�me tr�s puissants.

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    98
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 98
    Par d�faut
    L'octet, c'�tait pour la simplicit�... Le but en fait est de d�finir un buffer pour recevoir des donn�es via l'USB, puis de redefinir ce buffer en autant de structure que de type d'enregistrement attendus afin d'avoir un acc�s le plus souple possible aux diff�rents champs...

    Entre temps, gr�ce � ta r�ponse, j'ai pu mettre en pratique ce syst�me avec deux structures simples et �a correspond tout � fait � ce dont j'avais besoin...

    Encore merci,

    Robert

+ R�pondre � la discussion
Cette discussion est r�solue.

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