Bonjour,
je viens d'acquérir un PDA WorkAbout PRO TEKLOGIX ( formidable!!)
Il a Windows Mobile installé dessus.
Mon client me demande, pour localiser certains poteaux électriques dans une ville,de recupérer les coorddonnées GPS de chaque poteau.J'ai ainsi pensé à développer un programme GPS qui devrait le faire.Je me suis tout de suite rendu compte que seule la plate forme android me permettait de bien utiliser les constantes de Géolocalisation fournie par WINDEV.
J'ai pris alors l'exemple Pocket PC de windev.Après avoir reglé sur mon PDA les ports logique et physique sur lequel le GPS externe va communiquer, j'ai lancé le test et hop erreur:precisez le port avec lequel le GPS va communiquer!! Pourtant je viens e le faire à linstant.
voici les codes:
PROCEDURE bInitConnexionGPS(pnNumPort, psProcédure="")
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 Sablier(Vrai) FinTimerSys(55) // fermeture de l'éventuel port ouvert SI gnNumPort>0 ALORS sFerme(gnNumPort) FIN // Numéro de port gnNumPort = pnNumPort // Nom de la callback gsCallBack = psProcédure // Ouverture du port spécifié SI PAS sOuvre(gnNumPort, 5000, 5000, 2000) ALORS Erreur("La connexion avec le GPS a échoué.", ErreurInfo(errMessageSystème)) Sablier(Faux) RENVOYER Faux FIN // Initialise les paramètres du port série sFixeParamètre(gnNumPort, 9600, 0, 8, 1, Faux , Faux , Faux) // Initialisation du GPS // Active les messages GPMRC toutes les 2 secondes sEcrit(gnNumPort,"$PRWIILOG,RMC,A,T,2,0"+CRLF) // Active les messages GPGGA toutes les 2 secondes sEcrit(gnNumPort,"$PRWIILOG,GGA,A,T,2,0"+CRLF) // Désactive les messages PRWIZCH sEcrit(gnNumPort,"$PRWIILOG,ZCH,V,,,"+CRLF) Multitâche(-20) // Lecture des données sur le port LitDonnéesGPS() TimerSys(LitDonnéesGPS, 100,55) Sablier(Faux)
Initialisation de la fenêtre:
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 // gnNumPort (valeur par défaut=-1) : < indiquez ici le rôle de gnNumPort > PROCEDURE FenGPS(gnNumPort=-1) // aucun port n'est ouvert SI gnNumPort=-1 ET pGPS.gnNumPort=0 ALORS Info("Veuillez préciser le numéro de port où est connecté votre GPS.") //ferme() FIN // utilisation du port actuellement ouvert SI gnNumPort=-1 ET pGPS.gnNumPort>0 ALORS AfficheRésultat() TimerSys(AfficheRésultat,100) RETOUR FIN // utilisation du port actuellement ouvert SI gnNumPort>0 ET gnNumPort=pGPS.gnNumPort ALORS AfficheRésultat() TimerSys(AfficheRésultat,100) RETOUR FIN // fermeture du port actuellement ouvert puis ouverture du nouveau SI gnNumPort>0 ET gnNumPort<>pGPS.gnNumPort ALORS // Ouverture du port et initialisation du GPS SI bInitConnexionGPS(gnNumPort)=Faux ALORS Ferme() FIN FIN // Pour tous les autres cas SI bInitConnexionGPS(gnNumPort)=Faux ALORS Ferme() FIN
Et bien d'autres encore...
Quelqu'un a reussi à tester cet exemple et récupérer les coordonnées GPS?
cordialement
Partager