Bonjours Tout le monde je suis entrain de travaillé sur une application qui réception les sms d'un modem GSM, il existe les fonction liée a la gestion des port en serie tel que Event lit ouvre et autre, en joint 2 code le 1 ere est exécuter dés l'initialisation de la fenetre pour ouvrir le port com et rester a l'écoute et la procedure pour analyser l'évent et me renvoi la réponse.
1 / le probléme quand je réceptionne par exemple une appel dans la fenetre trace m'affiche ring ring ring ...... est si la résultat voulu mais quand je réceptionne des sms elle ne ma affiche rien SVP aider moi et s'il ya une autre solution fonctionnelle Dit moi merci bcp.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 
nNbOctetAttente est un entier
sBuffer est une chaîne // Contenu du buffer
nPortSérie est un entier = 6 // Port série COM1
 
// Ouverture et initialisation du port série COM1
SI sOuvre(nPortSérie, 5000, 5000,sTimeoutDéfaut,Vrai) ALORS
// Lecture du code-barres
// Récupération du nombre d'octets en attente
nNbOctetAttente = sDansFileEntrée(nPortSérie)
POUR nNbOctetAttente= 0 A 1
nNbOctetAttente = sDansFileEntrée(nPortSérie)
Info(nNbOctetAttente)
sEvent(nPortSérie,sEveCaractèreReçu,"PortChange")
sEvent(nPortSérie,sEveEnvoiTerminé,"PortChange")
sEvent(nPortSérie,sEveBreak,"PortChange")
sEvent(nPortSérie,sEveErreurImprimante,"PortChange")
sEvent(nPortSérie,sEveDSR,"PortChange")
sEvent(nPortSérie,sEveFileEntrée80,"PortChange")
sEvent(nPortSérie,sEveErreur,"PortChange")
sEvent(nPortSérie,sEveRLSD,"PortChange")
sEvent(nPortSérie,sEveRing,"PortChange")
sEvent(nPortSérie,sEveCTS,"PortChange")
FIN
 
// Récupération de la valeur du code-barres uniquement
// si au moins 13 caractères ont été lus
SI nNbOctetAttente >= 1 ALORS
sBuffer = sLit(nPortSérie, nNbOctetAttente)
// Récupération des 13 premiers caractères lus
//sBuffer = Gauche(sBuffer, 13)
// Affichage de la valeur du code-barres
// dans le champ de saisie "SAI_CodeBarre"
Info(sBuffer)
FIN
FIN
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
Procedure PortChange(nPortNr,nEventNr)
Info(nEventNr)
SWITCH nEventNr
 
CASE eEveCharReceived
Info("CAse numerou 1 ")
sData is string = sRead(nPortNr,sInEntryQueue(nPortNr))
 
IF OnTestMode() THEN
 
Trace("PortChange:" + sData)
 
END
 
CASE sEveBreak
Info("ouiiii numerou 1")
Trace("sEveBreak")
CASE sEveCTS
Info("ouiiii numerou 2")
Trace("sEveCTS")
 
CASE sEveDSR
Info("ouiiii numerou 3")
Trace("sEveDSR")
 
CASE sEveTransmitCompleted
Info("ouiiii numerou 4")
Trace("sEveTransmitCompleted")
 
CASE sEvePrinterError
Info("ouiiii numerou 44")
Trace("sEvePrinterError")
 
CASE sEveError
Info("ouiiii numerou 5")
Trace("sEveError")
 
CASE sEveEntryQueue80
Info("ouiiii numerou 6")
Trace("sEveEntryQueue80")
CASE sEveRing
Info("ouiiii numerou 7")
Trace("sEveRing")
 
CASE sEveRLSD
Info("ouiiii numerou 8")
Trace("sEveRLSD")
 
 
 
OTHER CASE
 
 
 
END