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
Partager