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

 Delphi Discussion :

Connaissez-vous l'équivalent de la fonction _ultoa du C en Delphi ?


Sujet :

Delphi

  1. #1
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut Connaissez-vous l'équivalent de la fonction _ultoa du C en Delphi ?
    Bonjour,

    Connaissez-vous l'équivalent de la fonction _ultoa du C en Delphi ?

    Je n'ai rien trouvé via Google...

    Merci,
    ZiP

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    D'après ce que j'ai pu glané sur google, _ultoa (et son homologue _ultow) convertit un entier long non signé en string.

    Donc je regarderais simplement, et pour commencer, du côté de IntToStr.

    @+

  3. #3
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 342
    Points : 394
    Points
    394
    Par défaut
    A ma connaissance : il n'y a pas d'équivalent delphi à ultoa.

    Il faut tout faire à la main Rapidement, je procéderai comme ça -- mais ça dépend aussi de tes besoins de conversion (base 2, 3, 4, etc ?) :
    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
    // code non tester ! à vérifier
    function Int2Bin (value: integer): string;
    begin
        Result := '';
        If value < 1 then begin Result := '0'; exit; end; //puisque tu veux traiter des entiers non signés !
        While value > 0 do
          begin
            if ( value and 1 ) = 1 
              then Result := '1' + Result
              else Result := '0' + Result;
            value := value shr 1;
          end;
    end;
     
    procedure delphi_ultoa(value : integer; chaine : string; base : integer);
    begin
      case base of
        2 : chaine := Int2Bin(value);
        6 : chaine := IntToHex(value, 1);
       10 : chaine := IntToStr(value);
      else chaine := '';
    end;

  4. #4
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Bonsoir,

    A force de chercher, j'ai fini par trouver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function IDtoStr(ID : Cardinal) : string;
    const
         Lookup = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
         BASE = 36;
    begin
         result := '';
         repeat
              result := Lookup[ID mod BASE +1] + result;
              ID := ID div BASE;
         until ID=0;
    end;
    Je l'ai testé, il fonctionne !

    J'avais oublié de vous préciser que c'était en base 36...

    Merci,
    ZiP

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

Discussions similaires

  1. [Généralités] Connaissez-vous cette police ou équivalent ?
    Par droliprane dans le forum WinDev
    Réponses: 4
    Dernier message: 03/07/2015, 13h12
  2. [Lazarus] Connaissez-vous un équivalent à IdHTTP d'Indy pour Lazarus ?
    Par [ZiP] dans le forum Lazarus
    Réponses: 3
    Dernier message: 13/03/2013, 19h30
  3. [C#][WM6.1] Connaissez-vous une fonction qui enlève explorer.
    Par Pynouz dans le forum Windows Mobile
    Réponses: 1
    Dernier message: 01/02/2011, 10h49
  4. Connaissez-vous un équivalent à File-AID sur PC ?
    Par shawn12 dans le forum Cobol
    Réponses: 8
    Dernier message: 01/11/2009, 19h27
  5. Connaissez vous la fonction BitBlt
    Par piteon dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 08/06/2006, 17h44

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