Convertir une chaine de caractères en ascii et inversément [Résolu]

tibay3 3 Messages postés vendredi 23 novembre 2007Date d'inscription 31 décembre 2007 Dernière intervention - 30 déc. 2007 à 15:57 - Dernière réponse : tibay3 3 Messages postés vendredi 23 novembre 2007Date d'inscription 31 décembre 2007 Dernière intervention
- 31 déc. 2007 à 09:08
Bonjour!

Je programme dans le langage Visual Basic 6 et je butte sur un petit problème de conversion. En fait, j'ai une série de mesures aléatoires (par rnd) qui se créent via un timer et que je dois convertir en code ascii et ensuite enregistrer ligne par ligne dans un fichier  en .dat. Après, je dois relire les lignes du fichier l'une après l'autre et reconvertir du code ascii vers une chaine de caractères. Mon problème et que les codes ascii chr$(13) et chr$(10) insère des retours chariots non-désirés dans mon fichier .dat et donc mes lignes d'enregistrement ne sont plus correctes car une série de mesures doit équivaloir à une seule ligne. ( et non pas 2,3,... à cause des CR LF).
Ma question est donc, comment puis-je enregistrer les mesures qui correspondent aux valeurs 13 et 10 dans mon fichier (sachant que je ne peux utliser que 1 seul caractère) et pouvoir après reconvertir ligne par ligne mon fichier en chaine de caractère lors de la lecture de celui-ci?

J'espère être assez clair. (désolé si je ne le suis pas) 
D'avance MERCI!!!

Tibo
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 30 déc. 2007 à 16:42
3
Merci
Perso, j'aurais dit plus simple.

Ne écrire (lire) un fichier texte (avec Print, Line input) mais travailler plutot sur un fichier binaire (avec Put et Get) afin que les données lues ou écrites ne soient pas interprétées

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php

Merci cs_casy 3

codes-sources a aidé 79 internautes ce mois-ci

Commenter la réponse de cs_casy
Meilleure réponse
BLUEBIBUBBLE 116 Messages postés samedi 4 juin 2005Date d'inscription 10 avril 2013 Dernière intervention - 30 déc. 2007 à 20:52
3
Merci
Je suis de l'avis de casy: Enregistre (et lis) ton fichier en mode binaire, pas en mode texte !
Un accès séquenciel reste possible avec GET & PUT...

Merci BLUEBIBUBBLE 3

codes-sources a aidé 79 internautes ce mois-ci

Commenter la réponse de BLUEBIBUBBLE
NHenry 14183 Messages postés vendredi 14 mars 2003Date d'inscription 27 mai 2018 Dernière intervention - 30 déc. 2007 à 16:13
0
Merci
Bonjour

Juste une piste :
Utilise un tableau d'octets et le passage à une base 64.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
Commenter la réponse de NHenry
PCPT 13368 Messages postés lundi 13 décembre 2004Date d'inscription 3 février 2018 Dernière intervention - 30 déc. 2007 à 16:57
0
Merci
salut,
encore une solution pour le fun :
vu que tu vas récupérer le code ascii on peut supposer que tu vas utiliser de 1 à 255
tu peux donc couper tes lignes non pas avec vbcrlf mais avec vbnull (= > chr$(0))
nb : fait bien attention lors de l'enregistrement du fichier de sauver avec ; pour éviter un dernier vbcrlf
++
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
tibay3 3 Messages postés vendredi 23 novembre 2007Date d'inscription 31 décembre 2007 Dernière intervention - 30 déc. 2007 à 18:20
0
Merci
Rebonjour,

Merci pour vos tuyaux de réponses. En fait, je veux qu'un serveur enregistre les données dans le fichier et qu'un client qui se connecte au serveur via TCP-IP (winsock) puisse recalculer le CRC16 (vérification après l'envoi de ma ligne de code ascii), qui a déjà calculé par le serveur et placé en fin de ma ligne d'enregistrement, avant de reconvertir mes caractères ascii en chaine de caractères (sans le CRC). C'est pour celà que mes longueurs d'enregistrement en code ascii doivent absolument être de mêmes longueurs.  

J'ai oublié de préciser que je suis obligé d'utiliser un accès séquentiel (donc je ne peux malheureusement pas utiliser put et get...). Merci quand même.

Peux-t-on encore me donner quelques indices de réolutions?

Un très grand merci en tout cas pour vos réponses.

Tibo
Commenter la réponse de tibay3
tibay3 3 Messages postés vendredi 23 novembre 2007Date d'inscription 31 décembre 2007 Dernière intervention - 31 déc. 2007 à 09:08
0
Merci
Ok! Merci beaucoup pour l'aide, je ne connaissais pas l'ouverture de fichier à accès séquentiel en mode binaire. J'utiliserai donc ce mode ainsi que get et put.
Encore merci à tous pour m'avoir aidé dans ma recherche.

A l'avance, je vous souhaite une très Bonne Année 2008!!

Tibo
Commenter la réponse de tibay3

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.