Bibliothèque "TIMER"

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Niffo
Messages : 108
Inscription : dim. 29/août/2004 15:51

Bibliothèque "TIMER"

Message par Niffo »

Bonjour,

Il est question dans la version 3.00 de PB d'une bibliothèque "Timer" : http://www.purebasic.com/french/news22.php3

Je ne vois pas cette bibliothèque dans la dernière version (version d'évaluation) !? A-t-elle été supprimée ?

Y a-t-il une autre manière de créer un Timer multi plate-forme ?
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

je crois qu'elle a été supprimé

il faut utiliser la fonction SetTimer_() et KillTimer_()
SetTimer_(hWnd, nIDEvent, uElapse, lpTimerFunc

· hWnd
Identifies the window to be associated with the timer. This window must be owned by the calling thread. If this parameter is NULL, no window is associated with the timer and the nIDEvent parameter is ignored.

· nIDEvent
Specifies a nonzero timer identifier. If the hWnd parameter is NULL, this parameter is ignored.

· uElapse
Specifies the time-out value, in milliseconds.

· lpTimerFunc
Points to the function to be notified when the time-out value elapses. For more information about the function, see TimerProc.
If lpTimerFunc is NULL, the system posts a WM_TIMER message to the application queue. The hwnd member of the message’s MSG structure contains the value of the hWnd parameter.
KillTimer_(hWnd, uIDEvent)

· hWnd
Identifies the window associated with the specified timer. This value must be the same as the hWnd value passed to the SetTimer function that created the timer.

· uIDEvent
Specifies the timer to be destroyed. If the window handle passed to SetTimer is valid, this parameter must be the same as the uIDEvent value passed to SetTimer. If the application calls SetTimer with hWnd set to NULL, this parameter must be the timer identifier returned by SetTimer.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

la commande purebasic est la suivante :
ElapsedMilliseconds()

elle est aussi compatible avec linux .
Niffo
Messages : 108
Inscription : dim. 29/août/2004 15:51

Message par Niffo »

Sauf erreur :

- SetTimer n'est pas multi plate-forme puisque c'est une fonction de l'API windows

- ElapsedMilliseconds n'est pas un timer mais donne le temps écoulé depuis la mise en marche de la machine.

:(

Il ne me reste plus qu'à faire une boucle en testant ElapsedMiliseconds ? De plus, ça ne marchera pas sur Amiga :(
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

bah tu te code une lib timer a partir de la fonction elapsedmilliseconds... ce sera le noyeau... apres c'est pas difficile...

Dri
Niffo
Messages : 108
Inscription : dim. 29/août/2004 15:51

Message par Niffo »

Marchera pas sur Amiga ...
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

et oui :wink: mais on ne peux pas tous avoir

un thread avec un delai marchera partout :wink: mais c'est faire une usine à gaz pour pas grand chose
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Niffo
Messages : 108
Inscription : dim. 29/août/2004 15:51

Message par Niffo »

Effectivement ...

Je vais quand même regarder comment ils font dans les projets OpenSource pour avoir des timers multi plate-forme en C.
Sinon, je me débrouillerais avec des directives de compilation pour avoir du code spécifique à chaque OS.

Merci de votre aide :)
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

en C ils doivent utiliser les librairies standarts qui sont différente pour chaque os il me semble... du coup on utilise le meme nom de fonction mais ca s'arrete là

Dri
jnspunk
Messages : 6
Inscription : ven. 15/oct./2004 22:15

Message par jnspunk »

utilise Allegro, c une librairie pour C/C++ gratuite et multiplateforme, elle gere trés bien les timers.
Niffo
Messages : 108
Inscription : dim. 29/août/2004 15:51

Message par Niffo »

Merci :)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

Les librairies de Danilo COMDX et TIMER on été supprimées.

ComDX car PB supporte la prog orientée object avec les interfaces et Timer je n'en sait rien.

Les fonctions de cette librairie Timer font partie maintenant de sa librairie globale PureTools que tu peux télécharger ici


http://danilo.purearea.net/PureTools_I_021.zip


Je la recommande, elle est excellente
Répondre