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