BOnjour à tous, voilà je suis stagiaire en 2eme année d'IUT informatique et je me dois, dans le cadre de mon stage creer une application qui permette de recevoir des trames météos (un peu spécial) par le biais d'un port série.
A la base, les trames sont envoyer sur un post windows 3.11 et sont directement afficher à l'écran grâce à des commandes VT100 encapsulées dans la trame.
Mon code est très simple :
- Une classe CParser, qui me permet de parser la trame
- Une classe CPortSerie, dérivée de la classe de base SerialPort
- Une classe Form
Dans cette classe form j'ai une fonction DataReceived, jusqu'ici tout va bien, lorsque je reçois la trame, l'évenement est bien déclencher mais le problème est là :
si je fais ReadExisting(), la trame recu change complètement de celle d'origine, et elle n'est même pas complète,
si je fais Read(), avec un buffer (Byte ou Char j'ai essayé les 2) de la taille de ByteToRead et un Encoding (ASCII, UNICODE, ASCII... j'ai tout essayé) pour GetString(Buffer) cela me fait pareil.
Je ne peux pas utiliser ReadTo ou autre car la trame n'a pas de marqueur de fin,
et enfin la trame étant sur plusieurs lignes, un ReadLine ne fonctionne pas.
Vous comprenez pourquoi je solicite votre aide, mon stage est fini dans 2 semaine.
Mon Parser marche très bien, ainsi que mon Form.
Je vous met à disposition la trame en question :
#[4i#[2h#[2J#[1;6H##6#[0m#[7mMeteo du #[1;15H##6#[0m#[7m12/05/2010#[1;26H##6#[0m#[7m?#[1;28H##6#[0m#[7m09 : 27#[3;1H##6#[0m#[7mVENT a?ro (2min)#[3;12H##6#[0m#[1m170/006kt#[4;32H##5#[0mVariation direction / Rafales#[5;1H##6#[0m#[7mTAIR#[5;4H##6#[0m#[1mP16.4#[5;14H##6#[0m#[7mTD#[5;16H##6#[0m#[1mP14#[5;29H##6#[0m#[7mHumidit?#[5;34H##6#[0m#[1m85%#[7;1H##6#[0m#[7mRVR33#[7;6H##6#[0m#[1mP2000m#[7;14H##6#[0m#[7mRVR15#[7;19H##6#[0m#[1mP2000m#[7;29H##6#[0m#[7mVMI#[7;32H##6#[0m#[1mP10000m#[9;1H##6#[0m#[7mHBN33#[9;14H##6#[0m#[7mHBN15#[9;19H##6#[0m#[1m02200ft#[11;1H##6#[0m#[7mQFE33#[11;6H##6#[0m#[1m1004#[11;14H##6#[0m#[7mQFE15#[11;19H##6#[0m#[1m1004#[11;29H##6#[0m#[7mQNH#[11;32H##6#[0m#[1m1007#[13;23H##5#[0m#[1mMessage OBSMET du 12/05/2010 09:27#[14;1H##6#[0m#[1mAUTO CB TS de 09:00
sa pique les yeux hein ?!?! 
Merci d'avance et bonne journée à tous !
Partager