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 :

Fonction inverse de InttoHex


Sujet :

Langage Delphi

  1. #1
    Membre actif Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    575
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 575
    Points : 262
    Points
    262
    Par défaut Fonction inverse de InttoHex
    Bonjour, je cherche la fonction inverse de InttoHex et je ne la trouve pas.
    Par avance merci.

  2. #2
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    IntToStr tout simplement.
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      ShowMessage(IntToHex(50,4));
      ShowMessage(IntToStr(StrToInt('$'+IntToHex(50,4))));

  3. #3
    Membre actif Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    575
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 575
    Points : 262
    Points
    262
    Par défaut
    J'aurai une autre question.
    Mon problème est que j'ai un octet et que je dois le transformé en string.
    J'ai essayé de pluseurs facons et je n'y arrive pas.

  4. #4
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Citation Envoyé par marsupilami34
    J'aurai une autre question.
    Mon problème est que j'ai un octet et que je dois le transformé en string.
    J'ai essayé de pluseurs facons et je n'y arrive pas.
    Un octet binaire ?

  5. #5
    Membre actif Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    575
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 575
    Points : 262
    Points
    262
    Par défaut
    par exemple l'octet 12

  6. #6
    Membre actif Avatar de marsupilami34
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    575
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 575
    Points : 262
    Points
    262
    Par défaut
    Ce que j'essaie c'est :

  7. #7
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    lit sa bien svp
    Citation Envoyé par MD Software
    IntToStr tout simplement.
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      ShowMessage(IntToHex(50,4));
      ShowMessage(IntToStr(StrToInt('$'+IntToHex(50,4))));

  8. #8
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    StrToInt('$'+IntToHex(50,4))
    Ca marche
    Ya des jours on on apprendres pleins de choses ... domage qu'il n'y ait pas des jours tous les jours

  9. #9
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Citation Envoyé par Clorish
    Ca marche
    et oui

  10. #10
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Clorish
    Ca marche
    Je pensais que c'était un truc connu, pourtant : on l'utilisait déjà en Pascal...
    Il peut y avoir des cas vicieux empêchant la conversion Hexa->Int (espaces superflus, notation "C" avec préfixe 0x, marqueur $ déjà présent, etc...), mais dans le cadre d'une fonction exactement inverse de IntToHex, ça marche dans 100% des cas.
    Une fonction de conversion Hexa->Int marchant dans 100% des cas, quelle que soit la notation, est un peu plus complexe mais fonctionne sur le même principe : suppression des "scories", élimination des préfixes (0x et $), des suffixes (h), ajout d'un préfixe "$", puis appel à StrToInt.

    Citation Envoyé par Clorish
    Ya des jours on on apprendres pleins de choses ... domage qu'il n'y ait pas des jours tous les jours
    Krän le Guerrier ?

  11. #11
    Membre chevronné
    Avatar de Clorish
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    2 474
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 2 474
    Points : 2 158
    Points
    2 158
    Par défaut
    Bha moi qui m'embetais a decortiquer et analyser les caracteres 2 par 2 :/
    Et on peut donc tout transformer ? (cad $FF, $FFFF, $FFFFFFFFFFFFFFx10e128 ?)
    Krän le Guerrier ?
    Nan Clorish le Barbare

  12. #12
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Clorish
    Et on peut donc tout transformer ? (cad $FF, $FFFF, $FFFFFFFFFFFFFFx10e128 ?)
    Jusqu'aux limites du domaine des entiers Delphi, soit 64 bits, correspondant donc à 16 caractères hexa dans le meilleur des cas.

    Donc, au lieu de découper 2 caractères par 2 caractères, tu vas pouvoir le faire 16 par 16 désormais pour tes nombres à 1024 bits...

Discussions similaires

  1. fonction inverse de trim()
    Par lexu1213 dans le forum Langage
    Réponses: 4
    Dernier message: 13/04/2007, 16h00
  2. [C#] fonction inverse de Color.ToString().
    Par OpenGG dans le forum C#
    Réponses: 8
    Dernier message: 08/11/2006, 10h15
  3. fonctions inverse en c
    Par deboraya dans le forum C
    Réponses: 8
    Dernier message: 18/10/2006, 14h21
  4. Fonction inverse de ASCII
    Par noirot dans le forum Oracle
    Réponses: 1
    Dernier message: 15/06/2006, 15h30
  5. [VB6]fonction inverse de Hex (nombres hexadécimaux)
    Par Guigui_ dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/10/2002, 19h31

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