PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → gestion des centiemes de secondes....
gestion des centiemes de secondes....
Débuté par Visicard, 24 sep. 2004 18:28 - 3 réponses
Posté le 24 septembre 2004 - 18:28
Bonjour,

J'ai besoin de mesurer la vitesse de déplacement du stylet pour faire une
commande dynamique :
(un peu dans le genre de l'accélération de la souris sur windows)

déplacement court mais rapide = 1 action
déplacement long et rapide = plusieurs actions
deplacement long et lent = 1 seule action

Petit problème sur Pocket :
La fonction heuresys() ne donne pas les centièmes de secondes (toujours 00)
Quelqu'un à t-il une idée pour contourner le problème ?

Les timer sont peut-être une piste, mais je ne maitrise pas bien.

Cordialement

Gilles BIETTE
Posté le 24 septembre 2004 - 23:02
Bonjour,

Lancer un Thread avec un compteur à l'intérieur. Le clic sur ta surface WM_KEYDOWN déclenche le Thread, le relaché WM_KEYUP l'arrêt. Puis tu évalues ce compteur.

DENIS ZEIGIN.
Posté le 26 septembre 2004 - 21:29
"DENIS ZEIGIN" <denis.zeigin@usocome.com> a écrit dans le message de
news:41546e68@news.pcsoft.fr...
Bonjour,

Lancer un Thread avec un compteur à l'intérieur. Le clic sur ta surface

WM_KEYDOWN déclenche le Thread, le relaché WM_KEYUP l'arrêt. Puis tu évalues
ce compteur.

DENIS ZEIGIN.

Je vois le principe, par contre, j'ai besoin d'évaluer les temps écoulé
entre 2 exécutions du code associé à 'Survol souris'
(je ne pense pas que cela change grand chose)
Par contre, je me demande à quelle vitesse le compteur lancé par le thread
va pouvoir avancer.
Lors d'un déplacement du stylet, de haut en bas, soit 320 pixels, si on met
3.2 secondes (ce qui est lent) cela fait quand même à peine
1 centième de seconde par pixel. C'est donc bien cet ordre de grandeur qu'il
faut que je mesure.
Je me demande par ailleurs quel écart de vitesse d'excution je vais trouver
entre le simulateur sous PC et l'appli installée sur Pocket.
A part en testant... je ne vois pas d'autre solution, à moins que quelqu'un
ai déjà testé ?

--
Merci,
Gilles BIETTE
Posté le 05 octobre 2004 - 00:41
"Visicard" <Visicard@wanadoo.fr> écrivait news:41542e9c$1@news.pcsoft.fr:

> Quelqu'un … t-il une id‚e pour contourner le problŠme ?

Salut,

Essai avec ça :

eTempDepart , eTempFin sont des entiers

eTempDepart =API("Coredll.dll","GetTickCount")
//traitement...
eTempFin=API("Coredll.dll","GetTickCount")

Info("Durée : "+(eTempFin-eTempDepart))

En mode simulateur la fonction se trouve dans "Kernel32".
Il faut faire un truc du genre :

SI EnModePocket() ET PAS EnModeTest() ALORS
//sur le pocket
eTempDepart =API("Coredll.dll","GetTickCount")
SINON
//sur le PC
eTempDepart =API("Kernel32.dll","GetTickCount")
FIN

Détail de cette finction :
http://msdn.microsoft.com/library/default.asp…-
us/sysinfo/base/gettickcount.asp

A priori la précision dépend du systèm. Mais tu ne pourras pas descendre
en dessous. La précision devrait être de l'ordre de la milliseconde.

--
En esperant t'avoir aidé.
ted