Español
Fuente/ Codesnippets

Highres Temporizador

 
Yo hoffe veces, lo son todavía no entsprechende Incluir

Dieser Temporizador verspricht una höhere Genauigkeit, como el Profaneigene, o. el normalle API-Temporizador. El Incluir selber benötigt una Callback con 5 Parametern, sowie una Callback con 0 Parametern se je Temporizador benötigt. Hay a Tiempo also max. 5 Temporizador posible, el Source berücksichtigt aber ya todos 16

Vor el ersten Verwendung el Características es siempre TimerInit() aufzurufen, welche 1 en el Erfolgsfalle zurückgibt. Zum aufräumen es al Ende TimerEnd aufzurufen, el auch todos Temporizador killt.

HighResTimer.inc
KompilierenMarcaSeparación
Autor: TS-Soft (Thomas Schulz)
basiert auf C-Source von Danilo Krahn
Unterliegt der LGPL
Def timeGetDevCaps(2) !winmm.dll, timeGetDevCaps
Def timeEndPeriod(1) !winmm.dll, timeEndPeriod
Def timeKillEvent(1) !winmm.dll, timeKillEvent
Def timeSetEvent(5) !winmm.dll, timeSetEvent
Struct TIMECAPS = wPeriodMin&, wPeriodMax&
Declare TimerResolution#
Dim TimerResolution#, TIMECAPS
Declare TimerHandles&[15]
Declare TimerProc&[15]

Proc TimerInit

    Declare Result&
    Result& = timeGetDevCaps(TimerResolution#, SizeOf(TimerResolution#))

    If Result& <> 0

        Return 0  Initialisierung fehlgeschlagen

    Else

        Return 1

    EndIf

EndProc

Proc TimerEnd

    Declare ID%
    timeEndPeriod(TimerResolution#.wPeriodMin&)

    WhileLoop 0, 15

        ID% = &Loop

        If TimerHandles&[ID%] > 0

            timeKillEvent(TimerHandles&[ID%])

        EndIf

    Wend

    Dispose TimerResolution#

EndProc

Proc TimerCallBack

    parameters TimerHwnd&, Message&, TimerID&, wParam&, lParam&

    If TimerProc&[TimerID&] <> 0

        Call(TimerProc&[TimerID&])

    EndIf

EndProc

Proc TimerStart

    parameters TimerID&, Delay&, ProcAddr&

    If TimerID& < 0 Or TimerID& > 15

        Return 0

    Else

        If TimerHandles&[TimerID&] <> 0

            timeKillEvent(TimerHandles&[TimerID&])

        EndIf

        TimerProc&[TimerID&] = ProcAddr&
        TimerHandles&[TimerID&] = timeSetEvent(Delay&, 0, ProcAddr(TimerCallBack, 5), TimerID&, 1)
        Return TimerHandles&[TimerID&]

    EndIf

EndProc

Proc TimerStop

    parameters TimerID&

    If TimerID& < 0 Or TimerID& > 15

        Return 0

    Else

        If TimerHandles&[TimerID&] <> 0

            timeKillEvent(TimerHandles&[TimerID&])
            Return 1

        EndIf

        Return 0

    EndIf

EndProc

Proc TimerGetMinResolution

    Return TimerResolution#.wPeriodMin&

EndProc

Proc TimerGetMaxResolution

    ENDPROC


Und ahora todavía una simplen Testcode:
KompilierenMarcaSeparación
Viel Spaß así
 
14.09.2006  
 



Hab todavía una bissel getestet, Delayzeiten bajo 10 ms nimmt el XProfan-Runtime krumm
 
14.09.2006  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

2.109 Views

Untitledvor 0 min.
PETER195618.07.2018
Tango14.07.2017
Thomas Freier18.12.2013
J. Strahl09.04.2012
Más...

Themeninformationen

Dieses Thema ha 1 subscriber:

unbekannt (2x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie