Página 1 de 1

incorporar event key en ciclo for y contar letras

NotaPublicado: Lun Jun 19, 2017 4:29 am
por arivas_2005
Saludos

Necesito saber como puedo detectar la pulsación de la tecla "Retroceso" mediante código
Lo necesito hacer en un documento en el intento de calcular las letras, palabras, párrafos y páginas que se puedan digitar en un tiempo límite

Realmente no encuentro como insertar el evento keypress para que conforme se va tecleando, se contabilicen las pulsaciones de las teclas RETROCESO y SUPRIMIR y que al final se extraiga la estadistica de las pulsaciones hechas, letras, palabras, párrafos y páginas digitadas

el proceso de esperar mientras se teclea definible por minutos, se ejecuta con la macro
mientras_digita_texto_y_pasa_tiempo
luego esta al terminar el tiempo, llama la otra macro que hace los conteos para mostrarlos
contar_palabras_y_estadisticas_al_finalizar_digitado

pero no le encuentro donde poner el evento key para que cuente mientras se digita


Hace algún tiempo que estoy con la prueba y error sobre el tema y no avanzo.

Adjunto el documento con la idea codificada..
gracias de antemano por sus colaboraciones

Re: incorporar event key en ciclo for y contar letras

NotaPublicado: Mié Jun 21, 2017 3:33 am
por arivas_2005
Saludos

Encontre algo relacionado con mi tema en
https://forum.openoffice.org/en/forum/v ... 20&t=45516

Incorporé el código en mi archivo siguiendo la forma que tiene en el fichero ejemplo del link

Y si detecta las pulsaciones, pero el contador no acumula las pulsaciones
Adjunto el archivo con las lineas de codigo agregadas para buscar la solución a mi solicitud.

En resumen, lo que busco es hacer la macro para ver si se puede determinar la rapidez de tecleado y a la vez saber si borran poco o mucho en relacion al tecleado total.

Re: incorporar event key en ciclo for y contar letras

NotaPublicado: Mié Jun 21, 2017 6:19 pm
por mauricio
Solo establece las variables donde cuentas como globales:
Código: Seleccionar todo   Expandir vistaContraer vista
Global nteclasBACK
Global nteclasDELETE

Al iniciar, establecelas a cero:
Código: Seleccionar todo   Expandir vistaContraer vista
sub sStartXKeyHandler         
   nteclasBACK = 0
   nteclasDELETE = 0

Al finalizar muestras los totales:
Código: Seleccionar todo   Expandir vistaContraer vista
sub sStopXKeyHandler
   if not IsNull(oXKeyHandler) then 'only if still running
      ThisComponent.CurrentController.removeKeyHandler(oXKeyHandler)
      oXKeyHandler = Nothing 'To know later this handler has stop.
   end If
   Call  contar_palabras_y_estadisticas_al_finalizar_digitado
end sub

pero... hay un problema, del cual ya te daras cuenta...

Saludos

Re: incorporar event key en ciclo for y contar letras

NotaPublicado: Vie Jun 23, 2017 3:41 am
por arivas_2005
Saludos
Gracias Mauricio

Le cuento que lo llevo así ya...
En mi opinion ya lo podré usar para calcular la velocidad de escritura con el teclado.
Si tiene oportunidad de mejorar su aspecto y funcionalidad, será de gran ayuda para quienes queremos realizar esa medición

Como no pude activar el 'evento key handler' por medio de macro con el botón( y tampoco pude detener tal 'evento key handler'), se me ocurrió agregar la macro 'key .. ' con el evento "abrir documento" para ese propósito y el botoncito para arrancar el tiempo de tecleado.
También, tal como lo he logrado armar, solo sirve para una vez.

Asi que, queda pendiente hacerlo de uso para varias veces y si es posible accionar las dos macros a la vez: la del key handler y la del contador de tiempo, y otras cosas..... !

Nuevamente gracias.

Re: incorporar event key en ciclo for y contar letras

NotaPublicado: Vie Jun 23, 2017 4:08 am
por mauricio
Estoy dispuesto a dedicarle algo de tiempo, pero con un lenguaje serio :lol: :lol: como Python...

Me parece muy interesante hacer una interfaz que sirva para medir el tiempo y la velocidad de tecleo del usuario.

Saludos