Re: probleme avec plusieurs rs232 (com) |
Sujet: Re: probleme avec plusieurs rs232 (com) par toto sur 20/1/2011 8:26:05 voici une bride de code develloppé il y a des années qui fct bien NumSeriedouchette=ProcInitSeriedouchette() .... SI NumSerieDouchette>0 ALORS NumTimerDouchette=TimerSys(ProcTestDouchette,50) ... PROCEDURE ProcTestDouchette() LOCAL Buffer1 est un entier // Affiche l'heure LIBHEURE..Libellé=Gauche(HeureVersChaîne(HeureSys()),8) // Lit si il y eu réception donnée sur le port série Buffer1=sDansFileEntrée(NumSerieDouchette) SI Buffer1=0 ALORS RETOUR // Test l’existence du champs SI ChampExiste("GENCODE")=Faux ALORS RETOUR // Vérin si les fenêtres appelante gère le gencode SI PAS FenEnCours()="FGESTION" ALORS RETOUR LOCAL Buffer2 est un entier NbEssais,PositionC est un entier sans signe ChaineReçue est une chaîne BOUCLE NbEssais++ // Temporisation Multitâche(5) Buffer2=sDansFileEntrée(NumSerieDouchette) SI Buffer1=Buffer2 ALORS SORTIR Buffer1=Buffer2 SI NbEssais=10 ALORS SORTIR FIN // Lit les caractères du buffer ChaineReçue=sLit(NumSerieDouchette,Buffer1) // Supprime le premier caractere ChaineReçue=Milieu(ChaineReçue,DepartGencode) //Recupe premier code barre PositionC=Position(ChaineReçue,Caract(13)) SI PositionC>0 ALORS ChaineReçue=Milieu(ChaineReçue,1,PositionC-1) // envoi le resultat sur le champ correspondant SI PAS ChaineReçue="" ALORS // Chaine recu est un gencode ModifVente=Faux FGESTION.GENCODE=ChaineReçue ExécuteTraitement(FGESTION.BTNRCHPRODUIT,trtClic) FIN .................................................. a toi de faire ta mayonnaise avec les tymersys et un petit test tu metrises l'evenement salut |