tibay3
Messages postés3Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention31 décembre 2007
-
30 déc. 2007 à 15:57
tibay3
Messages postés3Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention31 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!!!
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 30 déc. 2007 à 16:42
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
PCPT
Messages postés13280Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201848 30 déc. 2007 à 16:57
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
tibay3
Messages postés3Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention31 décembre 2007 30 déc. 2007 à 18:20
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.
tibay3
Messages postés3Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention31 décembre 2007 31 déc. 2007 à 09:08
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!!