time(ID,counte,statut) possible ?

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
Avatar de l’utilisateur
nemerod256
Messages : 39
Inscription : dim. 19/févr./2012 1:51
Localisation : la ou la météo est bizarre
Contact :

time(ID,counte,statut) possible ?

Message par nemerod256 »

voila je suis sur un programme qui demande un évènement répété en ms
et qui ne soit pas perturbé par quoi que se soit

je précise ...

mon programme doit faire les tache que l'utilisateur sur une interface prévu pour sa
mais j'ai lu dans la doc qu'il y a sa

Code : Tout sélectionner

AddWindowTimer(0, 1, 60)
d’après la doc voila se que sa dit
Les évènements minuteur ne seront générés que si aucun autres évènements ne doivent être processés (les minuteurs ont une "priorité basse"). Cela implique qu'ils sont relativement peu précis, et que la durée entre deux évènements du même minuteur peut varier.
se minuteur ne peu être utilisé dans de la précision que je demande
donc je voulais savoirs si il y a des programmeur qui se sont déjà penchais dessus ou si j'ai raté une mise-a-jour
je suis en 5.00 (x64)

j'ai raté qu'elle que chose ?
purebasic 5.00
minecraft (en jeu (redstone))
perturbe les programme 32 et 64-bit directement dans la RAM du pc !!! (aussi se que je crée avec purebasic (rien que pour le lol ou a des fin de débogage)
bref rien que du plaisir !!!!!
Mesa
Messages : 1097
Inscription : mer. 14/sept./2011 16:59

Re: time(ID,counte,statut) possible ?

Message par Mesa »

Peut-être avec ElapsedMilliseconds() sinon, en faisant des recherches avec "timer" ou "high resolution timer", je suis tombé sur cette page qui utilise QueryPerformanceFrequency_ de l'API WIndows:
http://www.purebasic.fr/english/viewtopic.php?t=13410

Je les remets pour achive
Code1

Code : Tout sélectionner

; determine timer max resolution:  
	If QueryPerformanceFrequency_(Freq.LARGE_INTEGER)  
	periodns.f=1000000000/(Pow(2,32)*Freq\highpart+Freq\lowpart)  
	MessageRequester("","Resolution (used time per tick) in this machine is: "+StrF(periodns)+" nanosecs")  
	Else  
	MessageRequester("","No High-res timer allowed"):End  
	EndIf  
	 
	; determine API call delay:  
	QueryPerformanceCounter_(Ctr1.LARGE_INTEGER)  
	QueryPerformanceCounter_(Ctr2.LARGE_INTEGER)  
	calldelay.LARGE_INTEGER\lowpart = Ctr2\lowpart - Ctr1\lowpart  
	MessageRequester("","API call used time was ~ "+StrF(calldelay\lowpart*periodns)+" nanosecs")  
	 
	; determine for-next loop time:  
	QueryPerformanceCounter_(Ctr1.LARGE_INTEGER)  
	For t=1 To 100000:Next  
	QueryPerformanceCounter_(Ctr2.LARGE_INTEGER)  
	MessageRequester("","for-next loop used time was ~ "+StrF((Ctr2\lowpart-Ctr1\lowpart-calldelay\lowpart)*periodns)+" nanosecs")  
	 
	; perform about 1.234567 millisecond delay:  
	ticks.f=1.234567/periodns.f  
	ticks.f*1000000 
	QueryPerformanceCounter_(Ctr1.LARGE_INTEGER):Ctr1\lowpart&$7FFFFFFF  
	Repeat  
	QueryPerformanceCounter_(Ctr2.LARGE_INTEGER):Ctr2\lowpart&$7FFFFFFF  
	Until Ctr2\lowpart-Ctr1\lowpart+calldelay\lowpart>=ticks.f  
	MessageRequester("","OK!")


Code2

Code : Tout sélectionner

;-determine timer max resolution:
If QueryPerformanceFrequency_(Freq.LARGE_INTEGER)
	periodns.f=1000000000/(Pow(2,32)*Freq\highpart+Freq\lowpart)
	;MessageRequester("","Resolution (used time per tick) in this machine is: "+Str(periodns)+" nanosecs")
Else
	MessageRequester("","No High-res timer allowed"):End
EndIf

;-determine API call delay:
QueryPerformanceCounter_(Ctr1.LARGE_INTEGER)
QueryPerformanceCounter_(Ctr2.LARGE_INTEGER)
calldelay.LARGE_INTEGER\lowpart = Ctr2\lowpart - Ctr1\lowpart
;MessageRequester("","API call used time was ~ "+StrF(calldelay\lowpart*periodns)+" nanosecs") 


;-perform hires-timing delay:
Standby.f=ValF(InputRequester("","Input wished delay time in milliseconds","0.655"))
Standby.f*1000000;    <- pass nanosecs to millisecs

!fld dword[v_Standby]
!fdiv dword[v_periodns]; <-now in st0 is the #ticks to perform
QueryPerformanceCounter_(t1.LARGE_INTEGER)
!fild qword[v_t1]   ;<-now in st0 is checkpoint1,in st1 is #ticks
!fsub qword[v_calldelay]  ;substract the time used by QueryPerformanceCounter_() function call
!@@:
QueryPerformanceCounter_(t2.LARGE_INTEGER)
!fild qword[v_t2] ;<-now in st0 is checkpoint2, in st1 is checkpoint1 and in st2 is #ticks
!fsub st0,st1   ;<- checkpoint2 - checkpoint1 - calldelay to st0
!fcomip st2     ;<-compare #ticks
!jc @r          ;<-continue polling until #ticks is reached
!fstp st0
!fstp st0


MessageRequester("","That's it!")

Mesa.
Avatar de l’utilisateur
nemerod256
Messages : 39
Inscription : dim. 19/févr./2012 1:51
Localisation : la ou la météo est bizarre
Contact :

Re: time(ID,counte,statut) possible ?

Message par nemerod256 »

merci de ton aide mais j'aurai bien voulu ne pas utilisé des fonction des API
mais que des fonction propre a PURE-BASIC
info plus:
la tache que je demande et de recrée la vitesse (exemple) d'une Gameboy
je voudrai que sa reste stable et que sa fonction comme un élément qui sera parallèle a l'interface utilisateur qui peu être utilisé a tout instant T
et aussi a évité les fonction thread car je veux que sa reste un programme simple avec zéro procédure et bla bla bla
juste du BASIC a l’état pure
voila pourquoi PURE-BASIC a été crée
(c'est pas sa ?)
que sa reste a la porté de tous le monde même se qui on la démo (que j'ai acheté pour plus de fonction lol)
a oui, que sa reste dans un minimum de ligne de code pour evité les fonction inutile
Fred: si tu lis se message tu aurai possibilité d'ajouté des fonction de temps précis a la ms près

encor merci a toi mesa de ton aide
purebasic 5.00
minecraft (en jeu (redstone))
perturbe les programme 32 et 64-bit directement dans la RAM du pc !!! (aussi se que je crée avec purebasic (rien que pour le lol ou a des fin de débogage)
bref rien que du plaisir !!!!!
Avatar de l’utilisateur
wood51
Messages : 122
Inscription : ven. 05/juin/2009 13:04
Localisation : orléans

Re: time(ID,counte,statut) possible ?

Message par wood51 »

nemerod256 a écrit :merci de ton aide mais j'aurai bien voulu ne pas utilisé des fonction des API
mais que des fonction propre a PURE-BASIC
info plus:
la tache que je demande et de recrée la vitesse (exemple) d'une Gameboy
je voudrai que sa reste stable et que sa fonction comme un élément qui sera parallèle a l'interface utilisateur qui peu être utilisé a tout instant T
et aussi a évité les fonction thread car je veux que sa reste un programme simple avec zéro procédure et bla bla bla
juste du BASIC a l’état pure
Salut ,
Ce que tu veut faire ressemble à un émulateur . Un minimum de ligne , utilisable avec la version démo , zéro procédure , zéro thread : tu ne peut pas avoir le beurre , l'argent du beurre et la crémière ;-)
En tous cas si t'arrive à faire tous ça , je m'incline et je bouffe mon chapeau :mrgreen:
Compétences : Bricoleur PureBasic du dimanche
Crâmage de cerveau en cours 100% :D
Projet en cours : http://purepicbasic.frenchboard.com/
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: time(ID,counte,statut) possible ?

Message par Ar-S »

wood51 a écrit :Ce que tu veut faire ressemble à un émulateur . Un minimum de ligne , utilisable avec la version démo , zéro procédure , zéro thread : tu ne peut pas avoir le beurre , l'argent du beurre et la crémière ;-)
Tu m'as précédé.
Faire du multitâche sans thread ou timer c'est déjà mal barré mais sans en plus que ça impact sur le reste ça me parait utopique.

Salut nemerod256
car je veux que sa reste un programme simple avec zéro procédure et bla bla bla
juste du BASIC a l’état pure
ça tombe bien ici on fait du Pure Basic :mrgreen:
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
nemerod256
Messages : 39
Inscription : dim. 19/févr./2012 1:51
Localisation : la ou la météo est bizarre
Contact :

Purebasic("a l'état pure", 0, 0, 70, 15, 0)

Message par nemerod256 »

c'est déjà en coure mon ami du bois
je réalise des chose et des que j'ai tous fini je fais un pack pour vous montré un total de 4 qui sont fini a environ 90%
et celui la qui viens de se faire il y a 84H00 de l'heure de se message et fini a 50%
donc vue qu'il n'y a pas de commande pour sa je suis obligé dans crée une
se qui sera facile car j'ai trouvé mon idée d'une ROM de Gameboy
bien entendu c'est pas un émulateur se que je fais
je vous passerai un lien image démo pour que vous aurai un petit aperçu de tous sa

je suis en création du multitâche avec rien sauf du PURE car la c'est pure pour être pure
et se que je vien de dit et purement pourri et sa aussi c'est aussi pourri
Dernière modification par nemerod256 le sam. 02/févr./2013 14:10, modifié 1 fois.
purebasic 5.00
minecraft (en jeu (redstone))
perturbe les programme 32 et 64-bit directement dans la RAM du pc !!! (aussi se que je crée avec purebasic (rien que pour le lol ou a des fin de débogage)
bref rien que du plaisir !!!!!
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: time(ID,counte,statut) possible ?

Message par Ar-S »

Tu piques ma curiosité, bonne continuation en tout cas.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
nemerod256
Messages : 39
Inscription : dim. 19/févr./2012 1:51
Localisation : la ou la météo est bizarre
Contact :

Re: time(ID,counte,statut) possible ?

Message par nemerod256 »

AR_S a écrit :Tu piques ma curiosité, bo...
a bon en quoi je te piques la curiosité ?

attention humour pourri en vue
A R _ S
-je demande un E
ARES créateur de circuit imprimé assisté par ordinateur fourni avec ISIS simulateur Electronique

il y a bien un début a tous tu crois que le multitâche est venus comme sa ?
ba non on a déjà simulé le multitâche et ensuit on la mise en pratique
les premier ordinateur n'été pas multitâche
on les a programmé pour faire du multitâche
purebasic 5.00
minecraft (en jeu (redstone))
perturbe les programme 32 et 64-bit directement dans la RAM du pc !!! (aussi se que je crée avec purebasic (rien que pour le lol ou a des fin de débogage)
bref rien que du plaisir !!!!!
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: time(ID,counte,statut) possible ?

Message par Ar-S »

Ar-S => Ares (et oui) entre autre 8)

Mais que nous ponds tu !? Si ce n'est pas un émulateur, késako ?
Purée je vois pas ^^
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
nemerod256
Messages : 39
Inscription : dim. 19/févr./2012 1:51
Localisation : la ou la météo est bizarre
Contact :

Re: time(ID,counte,statut) possible ?

Message par nemerod256 »

se sera un cadeau pour mon anniversaire qui est le 01/03
si je les fini a temps
je vous donne un indice
indice a écrit :mon 1er et en pixel
mon 2eme et une suit de nombre organisé
mon 3eme fais la beauté du 4eme grâce au 2eme et au 1er
mon 4eme utilise le clavier et la souri
mon 5eme vous donnera du plaisir ...
... car le 6eme a été detruis sur sont morale ...
... donc le 7eme fais référence a un autre topique ...
... que le 8eme a écrie en 8-BIT aucun lien biensur
je suis un P _ _ _ _ - _ _ - _ _ _ - _ _ _ _ O
sinon voila pour les doué de la logique
le texte encodé a écrit :21 9F 89 98 36 0A 50 AF FA FE 54 7E 41 AD E4 8A 33 6A
--==bon courage vous en aurai besoin==--
purebasic 5.00
minecraft (en jeu (redstone))
perturbe les programme 32 et 64-bit directement dans la RAM du pc !!! (aussi se que je crée avec purebasic (rien que pour le lol ou a des fin de débogage)
bref rien que du plaisir !!!!!
Avatar de l’utilisateur
nemerod256
Messages : 39
Inscription : dim. 19/févr./2012 1:51
Localisation : la ou la météo est bizarre
Contact :

Re: time(ID,counte,statut) possible ?

Message par nemerod256 »

voila j'ai ma synchronisation mieux que attention

Code : Tout sélectionner

AddWindowTimer(0, 1, 10)
réponse pourri
51debois a écrit :...d : tu ne peut pas avoir le beurre , l'argent du beurre et la crémière :wink:
E...
je fabrique le beurre que je vende a la crémière pour c'est tartine du matin
donc j'ai le beurre, l'argent du beurre et la crémière
juste pour sa bois51
donc on peu dire que j'ai déjà une grande parti
bon bref je vais sur "age of empire 3" je vais coupé du boit pour faire ma colonie dans le nouveau monde

désolé de l'humour pourri
purebasic 5.00
minecraft (en jeu (redstone))
perturbe les programme 32 et 64-bit directement dans la RAM du pc !!! (aussi se que je crée avec purebasic (rien que pour le lol ou a des fin de débogage)
bref rien que du plaisir !!!!!
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: time(ID,counte,statut) possible ?

Message par Backup »

:roll: :roll: :roll:
Navrant !
Avatar de l’utilisateur
wood51
Messages : 122
Inscription : ven. 05/juin/2009 13:04
Localisation : orléans

Re: time(ID,counte,statut) possible ?

Message par wood51 »

+1 . Je quitte le post
Compétences : Bricoleur PureBasic du dimanche
Crâmage de cerveau en cours 100% :D
Projet en cours : http://purepicbasic.frenchboard.com/
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Re: time(ID,counte,statut) possible ?

Message par cederavic »

Suis-je le seul à n'avoir strictement rien compris à ce topic? :roll:
Répondre