OVH Cloud OVH Cloud

string en HEXA sur 1 car ?

7 réponses
Avatar
FG
Bonjour,

Je dois convertir une chaine de 2 caractere en 1 hexa sur une position :

Chaine de départ : XY avec
X=C ou D
Y=numérique de 0 à9

Chaine d'arrivée sur 1 seul caractère.


Le meilleur résultat est toujours au moins 4 car. Please Help !

FG

7 réponses

Avatar
YannX
Bnjr,

Prise de tête.....
Jusqu'a répondre IMPOSSIBLE !
En effet, tu définis un nombre composé de 2 * 10 possibilités !
comment veux-tu coder un éventail jusqu'a 20 dans un chiffre entre 0 et 16 !

Reformule ta question

@+
"FG" a écrit dans le message de
news:41790172$0$25710$
Bonjour,

Je dois convertir une chaine de 2 caractere en 1 hexa sur une position :

Chaine de départ : XY avec
X=C ou D
Y=numérique de 0 à9

Chaine d'arrivée sur 1 seul caractère.


Le meilleur résultat est toujours au moins 4 car. Please Help !

FG





Avatar
YannX
Bizarre ton histoire,
cela ressemblerait au début d'un nombre en EBCDIC ....
Sur de toi ?

"FG" a écrit dans le message de
news:41790172$0$25710$
Bonjour,

Je dois convertir une chaine de 2 caractere en 1 hexa sur une position :

Chaine de départ : XY avec
X=C ou D
Y=numérique de 0 à9

Chaine d'arrivée sur 1 seul caractère.


Le meilleur résultat est toujours au moins 4 car. Please Help !

FG





Avatar
ng
Salut,

Si j'ai bien compris, tu peux essayer ceci :

Exemple :
C0 => A
C5 => F
D0 =>K
D9 => T

Public Function Convert(ByVal strStr As String) As String
Dim strChar1 As String * 1
Dim wNb As Integer, wOut As Integer
strStr = UCase$(strStr)
If strStr Like "C#" Or strStr Like "D#" Then
strChar1 = strStr
wNb = Val(Right$(strStr, 1))
If strChar1 = "D" Then wOut = 10
wOut = wOut + 65 + wNb
End If
Convert = Chr$(wOut)
End Function

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

FG wrote:
Bonjour,

Je dois convertir une chaine de 2 caractere en 1 hexa sur une
position :

Chaine de départ : XY avec
X=C ou D
Y=numérique de 0 à9

Chaine d'arrivée sur 1 seul caractère.


Le meilleur résultat est toujours au moins 4 car. Please Help !

FG


Avatar
Bul
euh, si j'ai compris :
resultat = Val("&h" & valeur_hexa)
valeur_hexa de 00 à FF
resultat de 0 à 255
@+
Avatar
ng
Sisi c'est possible, 1 caratère standard (non unicode) se code sur un octet
soit de 0 à 255 = 256 possibilités !
cf mon autre message.

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

YannX wrote:
Bnjr,

Prise de tête.....
Jusqu'a répondre IMPOSSIBLE !
En effet, tu définis un nombre composé de 2 * 10 possibilités !
comment veux-tu coder un éventail jusqu'a 20 dans un chiffre entre 0
et 16 !

Reformule ta question

@+
"FG" a écrit dans le message de
news:41790172$0$25710$
Bonjour,

Je dois convertir une chaine de 2 caractere en 1 hexa sur une
position :

Chaine de départ : XY avec
X=C ou D
Y=numérique de 0 à9

Chaine d'arrivée sur 1 seul caractère.


Le meilleur résultat est toujours au moins 4 car. Please Help !

FG




Avatar
Jean-Marc
> "FG" a écrit dans le message de
news:41790172$0$25710$
> Bonjour,
>
> Je dois convertir une chaine de 2 caractere en 1 hexa sur une position :
>
> Chaine de départ : XY avec
> X=C ou D
> Y=numérique de 0 à9
>
> Chaine d'arrivée sur 1 seul caractère.
>
>
> Le meilleur résultat est toujours au moins 4 car. Please Help !



"YannX" a écrit dans le message de
news:
Bizarre ton histoire,
cela ressemblerait au début d'un nombre en EBCDIC ....
Sur de toi ?




En fait on ne peut rien dire de son probleme, car il ne donne
pas les conventions. Rien ne dit que 'C' ou 'D' sont des digits
hexadécimaux. Le terme "conversion" est trop vague, et même, il
ne veut rien dire employé seul: on doit donner le format de
départ et le format d'arrivée, en spécifiant les opérations à
effectuer pour la conversion. Ca peut être une formule ou une table,
ou autre chose.

Sinon, si c'est bien de l'hexa en entrée, alors c'est impossible,
comme tu l'as dit dans le post prcédent.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
ng
Salut,

Encore plus rapide (mais le caractère renvoyé ne sera pas forcément une
lettre :

Public Function Convert(strStr As String) As String
Convert = Chr$(Asc("&H" & strStr))
End Function


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/

ng wrote:
Salut,

Si j'ai bien compris, tu peux essayer ceci :

Exemple :
C0 => A
C5 => F
D0 =>K
D9 => T

Public Function Convert(ByVal strStr As String) As String
Dim strChar1 As String * 1
Dim wNb As Integer, wOut As Integer
strStr = UCase$(strStr)
If strStr Like "C#" Or strStr Like "D#" Then
strChar1 = strStr
wNb = Val(Right$(strStr, 1))
If strChar1 = "D" Then wOut = 10
wOut = wOut + 65 + wNb
End If
Convert = Chr$(wOut)
End Function


FG wrote:
Bonjour,

Je dois convertir une chaine de 2 caractere en 1 hexa sur une
position :

Chaine de départ : XY avec
X=C ou D
Y=numérique de 0 à9

Chaine d'arrivée sur 1 seul caractère.


Le meilleur résultat est toujours au moins 4 car. Please Help !

FG