Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CLASSES TIMER (SANS MODULE)


Information sur la source

Catégorie :API Classé sous : timer, winmm, sousclassement, moduledeclasse Niveau : Débutant Date de création : 15/06/2008 Date de mise à jour : 15/06/2008 02:03:35 Vu / téléchargé: 2 679 / 257

Note :
Aucune note

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note


Description

Cliquez pour voir la capture en taille normale
Bonjour,

Ce tout petit programe vous offre la possibilite d'utiliser des classes "Timer" du type User32 ou WinMM sans l'emploi d'ocx ni module standard. Pour cela ajouter simplement la classe que vous preferez dans votre projet.

Attention toutefois le debuggage dans l'IDE est deconseillé si vous ne maitrisez pas les concepts du sousclassement.
 

Conclusion

Bonne prog
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

15 juin 2008 02:03:35 :
-

Commentaires et avis

signaler à un administrateur
Commentaire de FMAPI le 16/06/2008 21:17:58

Belle façon d'écrire une routine en assembleur, et de l'appeler.

Pour le Timer, tant que vous utiliserez les Events ... y'a pas bon ... même avec une très haute priorité, si un handle ne rend pas la main ...

Il ne reste que le détournement d'interruption des 8259!

Sinon, toujours très original ... ne pas utiliser CopyMemory pour les string, mais CopyString de Kernel32. J'ai déjà vu une de tes applic's qui plantait grave quand on copier un string dans un buffer, ou l'inverse ... surtout si on changeait sa place ... très dangereux, céar non déplaçable.

juju59


Eryc

Public Declare Function API_KL_Sring_Copy _
Lib "kernel32" _
Alias "lstrcpyA" _
(ByVal Texte_1 As String, _
ByVal Texte_2 As String) _
As Long

'---------------------------------------------------------------------------------------
Public Declare Sub API_KL_Copy_Memory _
Lib "kernel32.dll" _
Alias "RtlMoveMemory" _
(ByRef Destination As Any, _
ByRef Source As Any, _
ByVal Longueur As Long)

signaler à un administrateur
Commentaire de FMAPI le 16/06/2008 21:33:32

J'avais oublié ...

Je bosse sur des µC, et la structure de Windows ne permet pas de donner une précision Suisse du timing de traitement des <> routines en mémoire. Il n'y a que les interruptions OVF du 8253 qui peuvent donner à un Timer digne de ce nom, cette précision. Ces interfaces IO sont adressables en PortIn et PortOut. Cà peut tourner sous XP, et -.

Je travaille dessus

Eryc

signaler à un administrateur
Commentaire de EBArtSoft le 16/06/2008 22:05:38 administrateur CS

FMAPI> n'oublions pas que l'on est dans du vb6. Pour ce qui est de lstrcpy je dirais simplement : "Il faut savoir ce que l'on fait"
car lstrcpy ne fait qu'appeler lstrlen avant la copie.

L'event est la pour rendre "accessible" le timer pour du vb cela suffit largement. J'aurais pu passer par une interface mais on aurait du instancier plein de truc et ce n'est pas necessaire.

Le but de la source est vraiment de faire simple et pratique. Avec la machine virtuelle il n'est pas raisonable de vouloir faire de la "pure optimisation" tout nos efforts serait vain.

signaler à un administrateur
Commentaire de FMAPI le 17/06/2008 07:25:13

EBArtSoft,

Je ne mets pas en cause VB6, ni Delpi ... je trouve seulement que les priorités sont anarchiques, mais n'oublions pas que les applications en général, ne demandent pas un Timing de précision. Pour les puritains, ce n'est pas utilisable.
Enfin, les coups et les douleurs, c'est chacun son truc.

Il m'arrive souvent d'être confronté au problème de chronologie des évènements ... pour être clair :
Sub Test()
X
Y
Z
End Sub
Ces trois lignes devraient s'exécuter dans l'ordre ... et bien pas toujours ... Windows est vérolé à la base.

Je ne critique pas ton travail, qui d'ailleurs, m'inspire.

signaler à un administrateur
Commentaire de EBArtSoft le 17/06/2008 12:37:57 administrateur CS

FMAPI> ne t'inquiete pas j'accepte volontier toutes remarques je voulais juste preciser que vb c'est quand meme "moyen" pour donner dans la performance.

@+

signaler à un administrateur
Commentaire de FMAPI le 17/06/2008 22:32:38

EBArtSoft,

J'ai trouvé une source géniale :
http://www.vbfrance.com/code.aspx?ID=26384

J'ai testé, la fonction met 7 secondes pour retrouver 11800 fichiers avec la même extension sur un HD de ... 320Go's!

Connais-tu les "Script" ?

ErySoft Alias FMAPI

signaler à un administrateur
Commentaire de cotmar le 23/06/2008 06:27:01

Salut amigos,

Juste une petite question :

"Attention toutefois le debuggage dans l'IDE est deconseillé si vous ne maitrisez pas les concepts du sousclassement."

Qu'est-ce que vous entendez par "souclassement" ?

Par avance merci.

Marco.

signaler à un administrateur
Commentaire de EBArtSoft le 23/06/2008 07:55:07 administrateur CS

http://megaten.alterlinks.fr/vbtools/doc/art_SubClass/art_SubClassing.php

signaler à un administrateur
Commentaire de Afyn le 17/01/2009 22:49:42

Haaaaaaaaaaaaaaaaaaaaaaaaaaaaa !

Une source sur les Timer ... sans m'en parler !

Quel lipus l'a donc ... heu ... piqué !


Ya plus de respect j'vous l'dit

Afyn * Navedac

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

timer [ par neuil ] salut je souhaite reafficher ma fenetre lorsque je clique sur une autre application(par exemple un autre logiciel qui n'a rien a voir avec VB)!que doi URGENT!!timer et affichage [ par neuil ] salut je souhaite reafficher ma fenetre lorsque je clique sur une autre application(par exemple un autre logiciel qui n'a rien a voir avec VB)!que doi timer [ par cat ] je suis a la recherche d'une procedure permettant de definir l'intervalle d'un timer comme le temps necessaire à l'execution d'une procedure!je voudra Timer [ par tony ] Private Sub form_load()timer.Interval = 1000timer.Enabled = trueEnd SubPrivate Timer_Time()Label1.caption = timeEnd Sub'Malheureusement avec cette mét renseignement sur le TIMER [ par fransoze ] Bonjour à tousJe suis nouveau sur ce site et je le trouve superbe.Ma question est:Comment fonctionne le TIMER dans une application ?Je vous remercie d Pb timer [ par juju ] Les timers sont limités à tout au plus 1 minute (environ), existe t'il une astuce pour gérer le déclenchement d'un évenement toutes les 2 heures?Merci Mouvement d'un picture box sans timer [ par chookoo ] salut, jvoudrais savoir comment on fait la même chose que wite18 a demander mais sans timer !Merci bien !Chookoo timer plus rapide [ par arnaud ] comment fair pour qu l'interval d'un timer soit moin de 1 (pour une carte faite maison)merci arnaud Des secondes trop longues! [ par bidules ] je ne sais pas si c'est mon ordi qui fait ca mais quand je regle l'interval d'1 timer sur 1000ms et que j'incremente une variable de 1 toute les secon timer [ par jeorg ] je veux lancer un evenement sur un timer mais à intervalles reguliers et inconnusces intervalles vaudront une valeur en secondes rentree dans un textb


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,842 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.