Página 1 de 1

cronómetro

Publicado: 20 Sep 2014, 05:44
por taoru
buenas!, programé un cronómetro para jugar a preguntas con mis amigos, ya que es accesible y puede ser utilizado por lectores de pantalla para personas ciegas se hizo bastante usado y me gustaría mejorarlo, hacerlo accesible para gente ciega y para gente que ve (aclaro, soy programador ciego).

aquí lo dejo para probar:
https://dl.dropboxusercontent.com/u/100311958/crono.rar

tiene temporizador y cronómetro, se le da play con control+enter, se da pausa con el mismo comando y continuar con control+shift+enter.
con teclado me anda bastante bien...pero me dijo una persona que con el mouse tarda en reaccionar, lo podrían probar y darme sugerencias, sobre todo estética que debo cambiarle o que sugerencias me da para que se vea mejor o para que sea mas accesible visualmente.

para ajustar el tiempo del cronómetro se hace con las flechas:
control mas flecha arriba o abajo para sumar y restar segundos.
y control flecha izquierda y derecha para restar y sumar minutos.

todavía tengo un par de errores que no se como solucionarlo pero estoy revisándolo.
como por ejemplo que no se cierra si está el tiempo corriendo.

consulto: al estar activado se cambia el tiempo en el titulo, hay forma que parpadee el título o algo, cambie de color o algo para que se vea llamativo?.
cualquier sugerencia sería agradecido, si quieren publico el code del form.

los msgbox utilisé el extmsgbox así lo podía hacer multidioma.
gracias por tomarse el tiempo de verlo.

Re: cronómetro

Publicado: 20 Sep 2014, 13:39
por arkcrew
Hola,

Más que parpadear, te sugeriría que utilizases los beep de autoit para producir sonidos más prolongados o cortos según el tiempo, algo como los semáforos que hay para las personas ciegas.

También a la hora de agilizar, no se si sería más cómodo que en vez de utilizar control para parar o iniciar, utilizases espacio e intro solamente, creo que sería algo más rápido.

Saludos!

Re: cronómetro

Publicado: 20 Sep 2014, 15:42
por taoru
arkcrew escribió:Hola,

Más que parpadear, te sugeriría que utilizases los beep de autoit para producir sonidos más prolongados o cortos según el tiempo, algo como los semáforos que hay para las personas ciegas.
hola!, gracias por tu sugerencia.
1. sabías que esos semáforos son complicados?, depende el país pero ejemplo en argentina no sirven.
los autos no respetan el semáforo y el ruido no te deja escuchar la gente que pasa así que mas que ayuda, estorban, no tiene que ser ruido continuado si no separados. porque si no molesta para escuchar a la gente...o en el caso de la pc al lector de pantalla.
ejemplo en este caso para jugar está bien que haga el tick el reloj pero si es para esperar en la pc, puse que cilencie el tick así no molesta.
pero esto es solo un comentario al margen, gege.
2. lo de parpadiar me refiero si me dan alguna ayuda o sugerencia para que se vea vistoso también para la gente que ve. ya que la pc la podemos usar nosotros pero también puede usarla un hermano, algún amigo o familiar. y entonces es accesible para todos.
creo que sería bueno que haga algoun efecto visual cuando suene la alarma o cosa así...pero ahí ya necesito sugerencias de ustedes porque ya en eso si que no puedo opinar nada, jaja.
tampoco se si los controles se ve bien o el tamaño de la ventana es el correcto y si el menú se ve bien.
creo que visualmente quedaría mejor si le pongo los botones play, stop, pause, no?, eso se me ocurrió después.
arkcrew escribió:También a la hora de agilizar, no se si sería más cómodo que en vez de utilizar control para parar o iniciar, utilizases espacio e intro solamente, creo que sería algo más rápido.

Saludos!
le puse los comandos para que pueda ser manejado aunque no estés en la ventana del programa.
si utilizo una tecla común puede ocacionar algún problema cuando estés fuera del programa.

ahora si hablamos dentro, como el sonido del tick está dentro de un bucle y luego de hacer el tick duerme con sleep si le pongo un accesskey dentro del programa como que no lo toma para parar.
tendré que buscar otra función y dejar de usar el while.
se me ocurriía reprogramarlo y hacerlo con alguna función que se ejecute por segundo.
ahí si tomaría el enter o el espacio dentro del programa, o bien utilizar las fs, f4, f3, etc.

con respecto al extmsgbox se ven bien los mensajes de cierre?.
tengo que ver la forma de reprogramar esa librería, no me gusta:
1. que al pulsar tab se te mueve por los botones y después se mueve creo que a un ícono, no tendría que verse el ícono como un ítem para tabular.
y 2. tendría que tomar accesskey con la inicial del botón si esta no se repite.
ejemp: si tienes aceptar y cancelar puedas pulsar esos botones pulsando la a o la c.

la función msgbox normal de autoit esa no se puede reprogramar o ponerle otro nombre a los botones, no?.
y visualmente que me aconsejarían mejorar?.
con el mouse que tal les funcionó?.

ya tengo un par de cosas para ir poniéndole mas funciones a futuro, pero vamos paso a paso.

gracias.

Re: cronómetro

Publicado: 20 Sep 2014, 21:53
por Dany
Hola tauru quizás haciéndolo con GUISetOnEvent y AdlibRegister soluciones muchos problemas y reduscas codigo. el Editbox donde sale tu nombre podría ser mas pequeño. los mensajes estan ven bien.

Saludos

Re: cronómetro

Publicado: 21 Sep 2014, 01:06
por PDF
Hola taoru. Admirable!
taoru escribió:2. lo de parpadiar me refiero si me dan alguna ayuda o sugerencia para que se vea vistoso también para la gente que ve. ya que la pc la podemos usar nosotros pero también puede usarla un hermano, algún amigo o familiar. y entonces es accesible para todos.
Bueno esta es mi sugerencia para ti:

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$AutoItv3GUI = GUICreate("VirtualCrono", 402, 401, -1, -1)
$Edit1 = GUICtrlCreateEdit("", 72, 64, 249, 113, BitOR($ES_CENTER,$ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN,$ES_READONLY))
GUICtrlSetData($Edit1, "0:00")
GUICtrlSetFont(-1, 72, 800, 0, "Arial")

$Button1 = GUICtrlCreateButton("Iniciar", 128, 216, 131, 65)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
GUICtrlSetBkColor(-1, 0x008000)
$Button2 = GUICtrlCreateButton("Restablecer", 152, 296, 75, 25)
$Input1 = GUICtrlCreateInput("VirtualCrono 1.1 (Miguel Barraza)", 112, 360, 177, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd
Lo puedes adaptar a tu codigo aunque podrias compartir con nosotros el código de tu ventana para poder ayudarte mejor. Le añadí un boton de iniciar y uno de restablecer , el boton de iniciar lo puedes hacer funcionar tambien para que al iniciar cambie el texto a detener y funcione tambien para detener. También le debes agregar los menús..
Creo que en lugar de usar un sleep dentro de un bucle, lo que puedes hacer es usar una función AdlibRegister como te propone el compañero Dany...
También puedes utilizar GUISetAccelerators para evitar el problema de las teclas comunes..

Saludos!

Re: cronómetro

Publicado: 21 Sep 2014, 15:06
por taoru
hola!, lo de AdlibRegister me di cuenta después.
así que dije, para la prox versión lo modifico, así el while no me duerme el script. gracias dani por la sugerencia, al iniciarlo no me había dado cuenta de hacerlo así, pero de esta otra forma quedará mucho mejor.

lo de GUISetAccelerators: si lo utilizo, pero también debo poner el comando de iniciar y de parar desde fuera del programa, por si lo estás usando mientras escribes en word o mandas un mail, etc. solo esos comandos de iniciar, parar y pausar los quería hacer externos.

con respecto al form, gracias por lo que me mandas, ahora lo reviso y publico el code del form que uso.

Re: cronómetro

Publicado: 23 Sep 2014, 01:22
por taoru
hola!.
dani, la verdad nunca programé con GUISetOnEvent, lo estuve leyendo y parece mas que interesante, voy a reprogramar todo desde 0 otra vez pero utilizando esta otra forma, parece mucho mejor.

pdf, gracias por el formulario, también lo agregaré en la nueva versión, ya cuando lo tenga todo modificado lo reprublico por aquí asi lo revisan.

solo tengo una duda en el formulario que no entendí.
en $edit1 debería ir colocando el tiempo, verdad?.
porque ese cuadro al ser de solo lectura el lector de pantalla no me lo lee, pero si ahí se ve bien el tiempo lo pongo ahí y en el titulo, así cada uno revisa y mira donde queda mas cómodo.

gracias por su tiempo!.

Re: cronómetro

Publicado: 23 Sep 2014, 01:52
por PDF
taoru escribió:solo tengo una duda en el formulario que no entendí.
en $edit1 debería ir colocando el tiempo, verdad?.
porque ese cuadro al ser de solo lectura el lector de pantalla no me lo lee, pero si ahí se ve bien el tiempo lo pongo ahí y en el titulo, así cada uno revisa y mira donde queda mas cómodo.
Así es taoru, ahí debe ir el tiempo, y tienes razón no lo lee si esta en modo solo lectura, quizás puedes usar un botón en lugar de él para que lo lea y así evitar que sea modificado.
Además tienes que modificarlo para el modo OnEvent.

Cualquier consulta, cuentas con nosotros... Saludos!