Petit probleme

Résolu
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013 - 1 mars 2005 à 19:22
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013 - 2 mars 2005 à 00:17
bonjour,



voici mon probleme, j'ai créer un tit prog qui traduit le contenu d'un
fichier text en valeur hexadecimal, mais g un probleme avec les
caractere null qui sont traduit avec un simple 0 alors que je
souhaiterais qu'ils soient convertis en 00.



ex: en ouvrant sous notepade mon fichier



FICHIER
TEXT
>>>>>>>>>>>>
FICHIER HEXA

(caractere
null)
0 [ce que j'obtiens]


(caractere null)

00
[ce que je souhaite]



j'espere avoir ete clair car g besoin pour la suite de mon prog que
tout c caractere null soient transcrit en hexa sur 2 chiffres (comme
les chiffres, lettres et autres...)

voili

merci

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
1 mars 2005 à 20:29
Salut
Un chiffre hexa se stocke dans une chaine.
Donc, tu pourrais utiliser l'instruction Format pour ajouter les zéros.
Mais le problème est qu'une valeur hexa peut comporter des lettres, et Format ne peux pas gérer.
Comme tu convertis lettre par lettre, le code hexa ne pourra pas dépasser 255, donc FF, donc deux caractères --> Ajoute un 0 systématiquement devant ta valeur hexa, puis ne prends que les deux derniers caractères :
ChaineHexa = Right("00" & Hex(Asc(taLettre)), 2)

Vala
Jack
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
1 mars 2005 à 22:38
Salut,
une autre solution, dans le même ordre d'idée :

resultat = Replace(Format$(Hex$(asc(CaractereLu),"@@"), " ", "0")

voire pour le car Null : if isnull(caraterelu) then resultat="00" else ....

à voir, pas tout testé.

Loup Gris
0
cqui789 Messages postés 261 Date d'inscription jeudi 13 janvier 2005 Statut Membre Dernière intervention 18 mai 2009 3
2 mars 2005 à 00:02
Ce qui m'etone, c'est que tu n'ai pas le meme probleme avec les autres
valeurs inferieures a 16 (la fin de paragraphe=13 ou 10, je crois), qui
n'ont qu'un caractere en hexa.
0
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013
2 mars 2005 à 00:14
merci pour ces reponses rapides, g essayé les deux techniques:

-celle de jack marche nikel

-pour loup gris la technique replace c ok mais celle " if isnull" ne marche pas.



dans tous les cas je vous remercie bien
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013
2 mars 2005 à 00:17
tres bonne remarque cqui789 je n'avais pas vu ce probleme mais grace aux techniques plus haut ca roule aussi.
0
Rejoignez-nous