incorporar event key en ciclo for y contar letras

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

incorporar event key en ciclo for y contar letras

Notapor arivas_2005 » Lun Jun 19, 2017 4:29 am

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
Adjuntos
Para contar palabrasYotros.odt
(13.22 KiB) 11 veces
Libreoffice 4.7
Puppy slacko 6 y windows 7
arivas_2005
 
Mensajes: 112
Registrado: Mié Nov 16, 2011 6:01 pm

Re: incorporar event key en ciclo for y contar letras

Notapor arivas_2005 » Mié Jun 21, 2017 3:33 am

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.
Adjuntos
Para contar palabrasYotros_2.odt
(16.17 KiB) 12 veces
Libreoffice 4.7
Puppy slacko 6 y windows 7
arivas_2005
 
Mensajes: 112
Registrado: Mié Nov 16, 2011 6:01 pm

Re: incorporar event key en ciclo for y contar letras

Notapor mauricio » Mié Jun 21, 2017 6:19 pm

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
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 5.3 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5240
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.

Re: incorporar event key en ciclo for y contar letras

Notapor arivas_2005 » Vie Jun 23, 2017 3:41 am

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.
Adjuntos
Para contar palabrasYotros_RAPIDEZ_TECLEADO_LISTO.odt
(16.93 KiB) 6 veces
Libreoffice 4.7
Puppy slacko 6 y windows 7
arivas_2005
 
Mensajes: 112
Registrado: Mié Nov 16, 2011 6:01 pm

Re: incorporar event key en ciclo for y contar letras

Notapor mauricio » Vie Jun 23, 2017 4:08 am

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
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 5.3 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5240
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: Yahoo [Bot] y 7 invitados