none
Reaktionszeitmessung mit MSR

    Frage

  • Hey,

    ich muss für mein Projekt ein Programm in MS Access erstellen, in welchem ein Quiz ist und ein Reaktionstest. Das Quiz habe ich schon fertig, nur muss ich noch den Reaktionstest machen.

    Ich habe bereits eine Random-Funktion. Es soll so programmiert werden, dass nach der Randomzeit die Leuchte (DTR) auf dem MSR-Board leuchtet und sobald man den Knopf drückt, die Zeitmessung stoppt. Die Zeit soll dann gemessen werden.

    Hat jemand eine Ahnung, wie ich das programmieren muss?

    Hab im übrigen die 32-bit Version.

    MfG

    Oliver


    Montag, 29. Januar 2018 11:07

Alle Antworten

  • Hallo Oliver,

    dein Problem ist recht leicht in VB zu lösen.

    ------------------------------------------------------------------------------------------------

    Public Function dblRZ(ByVal fStart As Boolean) As Double
    On Error GoTo Err_dblRZ
    '--statische Variable definieren
    '  (Wert bleibt gespeichert wenn die Funktion verlassen wird)
    Static dblR As Double
     
      If fStart = True Then
        '-- aktuelle Systemzeit mit Millisekunden in der Variablen dblR speichern
        dblR = Timer
        dblRZ = 0
      Else
        If dblR <> 0 Then
          dblRZ = (Timer - dblR) * 1000 '--- Zeitdifferenz in Millisekunden ausweisen
        Else
          dblRZ = 0
        End If
      End If

    Exit_dblRZ:
      Exit Function

    Err_dblRZ:
      MsgBox Err.Number & vbNewLine & Err.Description
      Resume Next
    End Function

    ___________________________________

    Die Funktionsweise  kannst Du hier testen:

    Private Sub test()
    Dim intI As Integer, lngI As Long, sngZ As Single
     
      For intI = 1 To 10
        '-- Timer initialisieren
        Call dblRZ(True)
        
        '-- beschäftigt den Rechner etwas
        For lngI = 1 To 100000
          sngZ = Sqr(Log(lngI)) * Sin(lngI)
        Next lngI
        '---
        '--- Ergebnis ins Debug Fenster schreiben
        Debug.Print "Laufzeit " & intI & ": " & dblRZ(False) & " ms"

      Next intI
     
    End Sub

    '--- Ausgabe auf meinem PC

    Laufzeit 1: 11,71875 ms
    Laufzeit 2: 35,15625 ms
    Laufzeit 3: 11,71875 ms
    Laufzeit 4: 19,53125 ms
    Laufzeit 5: 11,71875 ms
    Laufzeit 6: 15,625 ms
    Laufzeit 7: 19,53125 ms
    Laufzeit 8: 11,71875 ms
    Laufzeit 9: 15,625 ms
    Laufzeit 10: 31,25 ms



    Samstag, 17. Februar 2018 12:46