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

Messages postés
3
Date d'inscription
vendredi 23 novembre 2007
Dernière intervention
31 décembre 2007
- - Dernière réponse : tibay3
Messages postés
3
Date d'inscription
vendredi 23 novembre 2007
Dernière intervention
31 décembre 2007
- 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
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de cs_casy
Messages postés
116
Date d'inscription
samedi 4 juin 2005
Dernière intervention
10 avril 2013
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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 105 internautes ce mois-ci

Commenter la réponse de BLUEBIBUBBLE
Messages postés
14319
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
11 décembre 2018
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
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
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
Messages postés
3
Date d'inscription
vendredi 23 novembre 2007
Dernière intervention
31 décembre 2007
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
Messages postés
3
Date d'inscription
vendredi 23 novembre 2007
Dernière intervention
31 décembre 2007
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.