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