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

Ada Discussion :

[Ada 95] Comparer des unsigned_long / ulong / dword


Sujet :

Ada

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 22
    Points : 20
    Points
    20
    Par défaut [Ada 95] Comparer des unsigned_long / ulong / dword
    bonjour je cherche à savoir si deux unsigned_long sont égaux.
    voici une partie de win32.ads dont je me sert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    -- "unsigned long" 32 bit unsigned integers
        subtype ULONG       is Interfaces.C.Unsigned_Long;      -- windef.h
        subtype DWORD       is ULONG;                           -- windef.h
    or je ne peux pas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if mon_ulong1 = mon_ulong2 .....
    merci de bien vouloir m'apportez une aide si vous pensez le pouvoir.

  2. #2
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    il faut faire une conversion de type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
       with Text_IO; use text_IO;
       with Win32; use Win32;
       procedure ulongue is
          ul1 : ulong := 1;
          ul2 : ulong := 3;
       begin
          if integer(ul1) = integer(ul2) then
             put_line ("egal");
          else
             put_line ("pas egal");
          end if;
       end ulongue;

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    oui effectivement c'est ce que je fais, même pour des oppérations, je voulais juste savoir si il existait une façon plus "élégante".
    Apparament non donc je reste là dessus merci

  4. #4
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 119
    Points : 156
    Points
    156
    Par défaut
    Citation Envoyé par HRS
    il faut faire une conversion de type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
       with Text_IO; use text_IO;
       with Win32; use Win32;
       procedure ulongue is
          ul1 : ulong := 1;
          ul2 : ulong := 3;
       begin
          if integer(ul1) = integer(ul2) then
             put_line ("egal");
          else
             put_line ("pas egal");
          end if;
       end ulongue;
    On dirait que c'est plutot un probleme de visibilite de l'operateur vu que tes deux variables sont du meme type.
    tu peux soit ajouter un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    use type Win32.ulong;
    dans la zone de declaration de ta procedure,
    ou alors specifier en clair l'operateur dans ton code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if Win32."="(ul1,ul2) then
    ou alors faire un renames de l'operateur pour avoir la visibilite que tu desires :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function "="(left : in win32.ulong ; right : in Win32.ulong) return boolean renames win32."=";
    ce qui est AMA beaucoup plus propre que des casts en Integer.

    A+

    Juan

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 22
    Points : 20
    Points
    20
    Par défaut
    oui ça marche et c'est sur c'est plus propre
    merci beaucoup !

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

Discussions similaires

  1. comparer des champs date time
    Par HULK dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 14h02
  2. [Date] Comparer des dates au format mySQL "date
    Par Marc_P dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 25/10/2004, 15h15
  3. comparer des sons
    Par heidi79 dans le forum DirectX
    Réponses: 2
    Dernier message: 12/08/2003, 01h18
  4. [LG][FAQ]comparer des fichiers
    Par lucke dans le forum Langage
    Réponses: 11
    Dernier message: 01/06/2003, 18h02
  5. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 22h37

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