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 :

Traduction Pascal => C


Sujet :

Langage Delphi

  1. #1
    agh
    agh est déconnecté
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 51
    Points : 49
    Points
    49
    Par défaut Traduction Pascal => C
    Bonjour à tous,

    je ne connais pas trop trop le Pascal, je suis plus dans le "C".
    Je vous explique mon problème :

    j'ai un petit morceau de code que je n'arrive pas à traduire en "C".

    C'est en fait des déclaration de variables.

    Une bonne âme pourrait-elle m'aider ?
    Je vous remercie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     type
        TDirection = (NORD,EST,SUD,OUEST);
        TPointeurAnneau = ^TAnneau;
        TAnneau = record
                    x,y: integer;
                    svt: TPointeurAnneau
                    end;
        TSerpent = record
                    tete, queue: TPointeurAnneau;
                    direction: TDirection
                    end;
        TPoint = (x,y);
        TCoord = array[TPoint] of integer;
    Alexis
    ----------
    Delphi 7 Perso [FR]
    Windows XP Pro [FR]

  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,

    oui et donc, qu'est-ce que tu n'arrives pas à traduire là-dedans ?
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

  3. #3
    agh
    agh est déconnecté
    Membre du Club
    Inscrit en
    Juillet 2002
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 51
    Points : 49
    Points
    49
    Par défaut
    Et bien ma foi, un peu tout

    Enfin non.
    Les record sont des struct. OK.

    mais par contre, cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TPointeurAnneau = ^TAnneau;

    et celle ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TCoord = array[TPoint] of integer;
    Je vous remercie.
    Alexis
    ----------
    Delphi 7 Perso [FR]
    Windows XP Pro [FR]

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 731
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 731
    Points : 15 136
    Points
    15 136
    Par défaut
    Salut !

    (tiens, c'est marrant, d'habitude on lit plutôt : « au secours j'ai trouvé du code en C comment que je le traduis en Pascal/Delphi ? »)

    Sinon, pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TPointeurAnneau = ^TAnneau;
    moi je dirais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TAnneau * TPointeurAnneau;
    en suivant la règle C
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <type_données> * <nom_pointeur>
    Pour l'autre j'ai du mal... Une Array c'est un tableau, si ça peut t'aider.
    Mes 2 cts,
    --
    jp
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  5. #5
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 170
    Points
    4 170
    Par défaut
    Comme Jipété l'a dit, le ^ ça sert à définir un pointeur.

    Pour le TPoint : Il s'agit d'un type énuméré qui est ensuite utilisé pour définir les bornes d'un tableau d'entiers.

    Personnellement, je supprimerais ce type énuméré pour utiliser des constantes (x=0, y=1) à la place.

    Puis pour TCoord, je déclarerais un simple tableau d'entiers de 2 éléments (x et y).

    PS: Désolé, ça fait trop longtemps que je n'ai pas fait de C pour t'écrire les traductions.

  6. #6
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 445
    Points
    28 445
    Par défaut
    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
     
    // un truc du genre
     typedef enum { NORD,EST,SUD,OUEST } TDirection;
     typedef struct {
      int x,y;
      TAnneau *svt; // liste chainée svt=suivant
     } TAnneau;
     typedef struct {
      TAnneau *tete;
      TAnneau *queue;
      TDirection direction;
     } TSerpent;
     typedef enum {x,y}  TPoint
    // là j'ai un doute sur la façon de le traduire en C
    //    TCoord = array[TPoint] of integer;
     typedef TCoord int[2];

    TCoord est donc un tableau de 2 entiers dont l'index est une variable du type énuméré TPoint...
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

Discussions similaires

  1. traduction Pascal C
    Par tchanvri dans le forum Débuter
    Réponses: 2
    Dernier message: 03/02/2010, 16h11
  2. Traduction programme Pascal en ADA
    Par Argol dans le forum Ada
    Réponses: 1
    Dernier message: 02/10/2006, 13h17
  3. Traduction pascal --> C
    Par etranger dans le forum C
    Réponses: 2
    Dernier message: 22/09/2005, 16h13

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