Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Czas miedzy spacjami


Rekomendowane odpowiedzi

Opublikowano

witam.

mam taki kodzik który liczy czas miedzy przyciśnięciem spacji a Esc...

#include <Misc.au3>
#include <MsgBoxConstants.au3>

Local $hDLL = DllOpen("user32.dll")
While 1
if _IsPressed("20",$hDLL) Then
   $hStart = TimerInit() ;inicjacja timera

EndIf
If _IsPressed("1B",$hDLL) Then
	Global $iTD = TimerDiff($hStart) ;koniec odliczania czasu
	MsgBox(0, "Test timera:", "Upłynęło " & $iTD & " ms" )
	EndIf

   sleep(50)
   WEnd

jak zrobić aby liczył od spacji do spacji?

Opublikowano
#include <Misc.au3>
#include <MsgBoxConstants.au3>

Local $hDLL = DllOpen("user32.dll")
$hTimer = 0
$diff = 0
While 1
	if _IsPressed("20",$hDLL) Then
		If $hTimer <> 0 Then
			$diff = TimerDiff($hTimer)
			$hTimer = 0
			MsgBox(0, "Test timera:", "Uplynelo " & $diff & " ms" )
		Else
			$hTimer = TimerInit()
		EndIf
	EndIf

	sleep(50)
WEnd

 

 

 

Opublikowano

W sumie racja, moj blad. Wg. dokumentacji:

Cytat

_IsPressed() will return 1 until the key is released.

Wiec jezeli przytrzymasz klawisz to kod może wykonać sie wiecej niz raz. :/

Wiec moze tak :

#include <Misc.au3>
#include <MsgBoxConstants.au3>

HotKeySet("{SPACE}", "_TimeIt")

$hTimer = 0
$diff = 0

While 1
	Sleep(10)
WEnd

Func _TimeIt()
	If $hTimer <> 0 Then
		$diff = TimerDiff($hTimer)
		$hTimer = 0
		MsgBox(0, "Test timera:", "Uplynelo " & $diff & " ms" )
	Else
		$hTimer = TimerInit()
	EndIf
EndFunc

 

Albo tak:

#include <Misc.au3>
#include <MsgBoxConstants.au3>

Local $hDLL = DllOpen("user32.dll")
$hTimer = 0
$diff = 0
While 1
	if _IsPressed("20",$hDLL) Then
		If $hTimer <> 0 Then
			$diff = TimerDiff($hTimer)
			$hTimer = 0
			ConsoleWrite("Uplynelo " & $diff & " ms" & @CRLF)
		Else
			$hTimer = TimerInit()
			While _IsPressed("20",$hDLL)
				Sleep(10)
			WEnd
		EndIf
	EndIf

	sleep(10)
WEnd

 

 

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...