Bonjour,
Je recherche une procédure qui me converti un entier en caractère :
1 -> A
2 -> B
...
27 -> AA
28 -> AB
Pour le moment j'utilise la fonction Chr() en faisant un incrément de 65 mais elle est limitée.
Avez vous une autre solution ?
Bonjour,
Je recherche une procédure qui me converti un entier en caractère :
1 -> A
2 -> B
...
27 -> AA
28 -> AB
Pour le moment j'utilise la fonction Chr() en faisant un incrément de 65 mais elle est limitée.
Avez vous une autre solution ?
Bonjour,
En cherchant dans la F.A.Q., peut être...
Cordialement,
Hauwke
Bonjour
Pourrais-tu préciser et montrer ton codej'utilise la fonction Chr() en faisant un incrément de 65
Je ne comprends pas bien comment in incrément de 65 peut donner le résultat indiqué
Chr(65)='A', mais je ne vois pas bien le rapport :
???
Salut
Assez parloté !
devrait te tirer d'affaire, il n'y a pas de possibilité directement dans Delphi à ma connaissance car c'est un calcul trop exotique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 function ToAA(Nombre: integer) : string; const ValBase = 26; var Q, R: integer; begin repeat Q := (Nombre-1) div ValBase; R := (Nombre-1) mod ValBase; Result := Chr(Ord('A')+R) + Result; Nombre := Q; until Q = 0; End;
Rem : Il s'agit juste d'un changement de base de numération.
cdlt
e-ric
Impecable, merci beaucoup
Je me permet juste de conseiller d'initialiser la valeur de Result à '' au début de la fonction.
Pour le Chr(65) voila mon raisonnement :
je veux
1 -> A <=> en ASCII 64 + 1
2 -> B <=> en ASCII 64 + 2
mais je bloquais à Z et ca me faisait '['
Si ca doit gêner car en appelant deux fois de suite cette fonction, la valeur de Result n'était pas bonne :
toAA(1) = A;
toAA(2) = BA;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager