Re: probleme avec plusieurs rs232 (com)
Posté par toto le 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
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=21&topic_id=6519&post_id=25686