Bonjour,
Connaissez-vous l'équivalent de la fonction _ultoa du C en Delphi ?
Je n'ai rien trouvé via Google...
Merci,
ZiP
Bonjour,
Connaissez-vous l'équivalent de la fonction _ultoa du C en Delphi ?
Je n'ai rien trouvé via Google...
Merci,
ZiP
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.
@+
A ma connaissance : il n'y a pas d'équivalent delphi à ultoa.
Il faut tout faire à la mainRapidement, 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;
Bonsoir,
A force de chercher, j'ai fini par trouver :
Je l'ai testé, il fonctionne !
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;
J'avais oublié de vous préciser que c'était en base 36...
Merci,
ZiP
Partager