| |  |  | Miembros: Mensajes: Temas: Online: Ultimo Miembro: | | |  | | |
 | 
01-10-2005, 01:44:18
| | Un Nuevo Amigo | | Registrado: may 2004 Posts: 15
| | medir tiempo de reaccion- hola, la duda que tengo es la siguiente, resulta que debo medir cuanto tiempo se demora una persona al presionar un boton, la idea es que aparezca un circulo rojo y cuando aparezca la persona debera hacer click en un boton, despues de 10 reiteraciones debe hacer un promedio del tiempo de reaccion de la persona, alguien me da ideas!!!! por favor...
salu2 y gracias | 
01-10-2005, 13:11:43
|  | Gran Participación en el Foro | | Registrado: jun 2005 Posts: 173
| | En lo poco que puede comprender, pudiera darte la siguiente idea...
Para esto tendrias que tener un control timer que se inicializa cada vez que los controles toman el foco.
Cuando determines el tiempo que deseas desactiva el timer poniendo el valor del intervalo a 0...
Disculpa pero fue lo poco que pude entender...
Suerte, espero haberte ayudado...
__________________
---- Wilfredo Polanco ----
República Dominicana, Santo Domingo, D.N.
| 
01-10-2005, 16:07:09
|  | Gran Participación en el Foro | | Registrado: jul 2005 Ubicación: Libertad / Merlo prov Buenos Aires Posts: 206
| | Re: medir tiempo de reaccion- Cita: |
Empezado por cadrogui debo medir cuanto tiempo se demora una persona al presionar un boton, la idea es que aparezca un circulo rojo y cuando aparezca la persona debera hacer click en un boton, despues de 10 reiteraciones debe hacer un promedio del tiempo de reaccion de la persona, alguien me da ideas!!!! por favor... | Lo mas fácil es utilizar dos timer, uno para controlar el tiempo de reacción y el otro para la aparición de la imagen. Yo te he armado un ejemplo muy sencillo (a modo de ejemplo) en donde tienes dos timer, dos label, dos command y una imagen a mostrar. Este ejemplo utiliza el primer command para habilitar un timer que hace visible a la imagen en una posición al azar (dentro de un rango en el formulario) y al estar visible recien nos habilita el segundo command y el timer que utilizamos como contador. Bueno tras 10 repeticiones de la pulsación del command2 se muestra en un label el promedio de tiempo. Código: Dim contador As Long
Dim verfig As Boolean
Private Sub Command1_Click()
Randomize
valor = Int((10 * Rnd) + 1000)
Timer2.Interval = valor
Timer2.Enabled = True
Image1.Left = Int((1000 * Rnd) + 300)
Image1.Top = Int((1000 * Rnd) + 200)
Command1.Visible = False
Label2.Caption = ""
End Sub
Private Sub Command2_Click()
Static intentos As Integer
Static tiempo As Integer
Dim promedio As Double
Timer1.Enabled = False
Timer2.Enabled = False
Image1.Visible = False
Command2.Enabled = False
intentos = intentos + 1
Label1.Caption = "Han pasado " & contador & " milisegundos."
tiempo = tiempo + contador
If intentos = 10 Then
promedio = tiempo / 10
Label2.Caption = "El tiempo promedio es: " & promedio & " milisegundos."
intentos = 0
tiempo = 0
Command1.Visible = True
Command1.SetFocus
Exit Sub
End If
contador = 0
Command1.Visible = False
Command1_Click
End Sub
Private Sub Form_Load()
Command2.Enabled = False
Timer1.Enabled = False
Timer1.Interval = 100
Label1.Caption = ""
Label2.Caption = ""
Timer2.Enabled = False
Timer2.Interval = 1000
Image1.Visible = False
verfig = False
End Sub
Private Sub Timer1_Timer()
contador = contador + 100
End Sub
Private Sub Timer2_Timer()
If verfig Then
Image1.Visible = True
Command2.Enabled = True
Timer1.Enabled = True
End If
verfig = True
End Sub Espero que te sea útil.
P.D. "obviamente tu pudes variar los valores a tu antojo" | 
03-10-2005, 20:15:05
| | Un Nuevo Amigo | | Registrado: may 2004 Posts: 15
| | muchas gracias a todos realmente se han pasado, probare con el timer nuevo, y les muestro como esta el soft..
salu2 y gracias | 
04-10-2005, 15:52:26
| | Un Nuevo Amigo | | Registrado: may 2004 Posts: 15
| | gracias a todos, ya que me han ayudado mucho, le muestro el soft como esta quedando, pero aun tengo una gran dificultad, cuando el individuo realiza la serie de 10 intentos se calcula el promedio de tiempo que se demoro en ms, eso funciona perfect, despues se calcula el rango (promedio+50ms), (promedio-50ms), aqui esta lo realmente dificil con ahora el individuo realiza otra serie de 10 intentos, pero si responde dentro de los rangos esta correcto, de lo contrario esta incorrecto y se debe agrandar el rango osea la prueba se debe hacer mas facil, si por el contrario responde correctamente la prueba se debe hacer mas dificil osea el tiempo para responder se alarga, esto tiene relacion con algo que no pude realizar, cuando comienza a correr el tiempo y han pasado 250ms se debe lanzar una alerta, pero no he podido conseguir hacer esto, bueno espero me puedan dar algunas ideas para terminar este proyecto...
salu2 y gracias | 
04-10-2005, 16:56:17
|  | Gran Participación en el Foro | | Registrado: jul 2005 Ubicación: Libertad / Merlo prov Buenos Aires Posts: 206
| | Cita: |
Empezado por cadrogui cuando comienza a correr el tiempo y han pasado 250ms se debe lanzar una alerta, pero no he podido conseguir hacer esto | No he tenido mucho tiempo para revisar tu proyecto, pero he encontrado un error conceptual grave, ya que intentas que una función te cambie propiedades, y no es ese el concepto de función. Una función se emplea para devolder un valor deseado (y tan solo un valor), que tu utilices ese valor en una propiedad es otra cosa. Para poder cambiar propeidades se utilizan los procedimientos (SUB) y son estos los que debes usar en tu módulo.
Te he hecho estas reformas: Código: Public LetrA As String
Public StopWatch1 As ccrpStopWatch
Public Sub letras()
'el proposito de esta funcion es cambiar de forma aleatoria la letra "X", "O"
Randomize
valor = Int((2 * Rnd) + 1)
Form1.Label5.Caption = valor
If valor = 1 Then
LetrA = "X"
ElseIf valor = 2 Then
LetrA = "O"
End If
Form1.Label1.Caption = LetrA
End Sub
Public Sub VerificaStop()
' esta funcion debe lanzar una alerta cuando hayan pasado 250 ms
Dim stopp As Integer
stopp = Format(StopWatch1.Elapsed, "#,##0") & " ms"
Form1.Label10.Caption = stopp
If stopp >= 250 Then
MsgBox "expiro el tiempo" & stopp
Exit Sub
End If
MsgBox stopp
End Sub Esto no lo probe (pero debe funcionar) ya que no quiero instalar el ocx del timer. Ademas debes de eliminar o comentar la declaración Código: Private StopWatch1 As ccrpStopWatch del form1.
Espero seguir ayudandote luego. | 
05-10-2005, 02:39:28
| | Un Nuevo Amigo | | Registrado: may 2004 Posts: 15
| | muchas grcias por la correccion hoy he aprendido algo nuevo...
salu2 y gracias | | Herramientas | | | | Desplegado | Mode Lineal |
Normas de Publicación
| no Puedes crear nuevos temas no Puedes responder a temas no Puedes adjuntar archivos no Puedes editar tus mensajes Código [IMG] está habilitado Código HTML está deshabilitado | | | La franja horaria es GMT. Ahora son las 23:37:57.
Powered by vBulletin® Version 3.6.8 Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design
|  |