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

Langage Delphi Discussion :

Probleme de conversion de code C++ en Delphi


Sujet :

Langage Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Probleme de conversion de code C++ en Delphi
    Bonjour,

    Je voudrais savoir si quelqu'un peut m'aider sur la conversion de cette structure C++ en Delphi, en particulier "union",

    Code c++ : 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
    struct OmMediaSummary {    
     
    OmMediaType type;       
    OmVideoSampleRatio vsr;   
    OmVideoAspectRatio aspect;
    uint bitrate;           
    uint bitsPerUnit;                               
    uint sampleRate;
    uint channels;      
     
      union Specific {        
     
         struct Mpeg {
           uint gopLength; 
           uint subGopLength
         } mpeg;        
         struct Audio {            
           OmAudioFormat format;            
           unsigned char bigEndian;            
           unsigned char sampleStride;        
         } audio;        
         struct Vbi {            
           uint lineMask;        
         } vbi;    
     
      } specific;    
     
      OmMediaSummary()      
    : type(omMediaUnknown),
    vsr(omVideoSampleNone),
    aspect(omVideoAspectNone),        
    bitrate(0),
    bitsPerUnit(0),        
    sampleRate(0),        
    channels(0)
        {
           specific.mpeg.gopLength = 0;
            specific.mpeg.subGopLength = 0;    
    }
    };

    Si quelqu'un a une idee merci beaucoup,

    Pascal

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Bonjour et bienvenue sur les forums de Développez.com

    Sans aucune certitude voila ce que je proposerais :

    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
    type
      TMpeg = record
        gopLength: Cardinal;
        subGopLength: Cardinal;
      end;
     
      TAudio = record
        format: OmAudioFormat;
        bigEndian: Byte;
        sampleStride: Byte;
      end;
     
      TVbi = record
        lineMask: Cardinal;
      end;
     
      TOmMediaSummary = record
        type: OmMediaType;
        vsr: OmVideoSampleRatio;
        aspect: OmVideoAspectRatio;
        bitrate: Cardinal;
        bitsPerUnit: Cardinal;                               
        sampleRate: Cardinal;
        channels: Cardinal;
        case Integer of
          0: mpeg: TMpeg;
          1: audio: TAudio;
          2: vbi: TVbi;
      end;
    Tout le code suivant :

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    OmMediaSummary()      
    : type(omMediaUnknown),
    vsr(omVideoSampleNone),
    aspect(omVideoAspectNone),        
    bitrate(0),
    bitsPerUnit(0),        
    sampleRate(0),        
    channels(0)
        {
           specific.mpeg.gopLength = 0;
           specific.mpeg.subGopLength = 0;    
    }

    correspond à un genre de "constructeur" pour les record (pas disponible en Delphi, 7 du moins) et permet d'initialiser les champs avec les valeurs entre parenthèses.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup,
    je vais tester,

    Pascal

Discussions similaires

  1. Code de conversion word en PDF avec Delphi
    Par DJENARBE dans le forum QuickReport
    Réponses: 1
    Dernier message: 13/03/2013, 14h27
  2. Conversion Code C++ en Delphi 7
    Par rdr2510 dans le forum Langage
    Réponses: 2
    Dernier message: 26/11/2012, 15h28
  3. Problème de conversion de code VB en delphi
    Par NapsterVB dans le forum Delphi
    Réponses: 19
    Dernier message: 12/04/2007, 19h25
  4. probleme de transfert de code delphi 7
    Par danslesac dans le forum Langage
    Réponses: 9
    Dernier message: 13/05/2006, 11h31

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