Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Log macro execution time
#1
Macro TimeKeeper help
Code:
Select All      Help
;Measures time spent in macro (or part of macro), and writes to a log file.

;EXAMPLE

#compile "__TimeKeeper"
TimeKeeper x.Begin("$desktop$\test TimeKeeper.txt" "" "test" 1)

mes "macro"

x.End("success")


Attached Files
.qml   TimeKeeper.qml (Size: 1.89 KB / Downloads: 680)
#2
Gintaras, thanks again. Excelent product.

Regards.

Leonel.
#3
Hi Everyone, somebody know how to put in parallel execution of TimeKeepers macro to control the time expend in simultaneuos tasks (5 at least) ???

Thanks in advance.

Leonel
#4
they would all have to be functions and name the files something different.
A new blog on QM coding and automation.

The Macro Hook
#5
Hi Gintaras, again. Thanks for the last explanations about the multitask in the time keeper function. It work well.

Now, I've some problems with some kind of task to control. I create some control of task with a countdown in seconds using type "MES t.timeout". The problem is when it task are been controlling in his countdown, it stop without a reason, others it countdown work well.

Like ever, I'll apprecciate your help. Thanks in advance.

Regards...

Leonel

PD: Some new about a new upgrade ?

The part of the code I'm usig for this is the next:

TimeKeeper x.Begin("$desktop$\test TimeKeeper.txt" plogid descr 1)

mes- "Dedicando Tiempo a: %s" descr " en Actividad: %s" plogid

t.style="O"
t.x=coordenadax
t.y=coordenaday
if(tiempo>0) t.timeout=tiempo
t.default='Y'
i=mes("Dedicando Tiempo a: %s" descr " en Actividad: %s" plogid t)
s.from("Dedicado a: " descr)
i=mes(s plogid t)

if(sw_comentario=1) inp- comentario "Comentario:"

x.End(comentario)
-------------------------------------------------------------------------------------------------
The complete function is:

Macro: Time Spend

Measures time spent in macro (or part of macro), and writes to a log file.

Plog Control Time

*****************************
Sólo para Llamar a Ejecutable
run "C:\Documents and Settings\lespinozaa\Mis documentos\My QM\Time Spend.exe"
ret
Comentariar para Nuevo Exe.
*****************************
function str'porinvocacion

#compile "__TimeKeeper"

str plogid descr comentario s fname fdir
int i coordenadax coordenaday tiempo sw_comentario
MES t

Para dejar mensaje en pantalla auxiliar _monitor=1 en coordenadas x,y
Parámetros

_monitor=1

Tiempo de Espera. Default =0 sin tiempo de autocerrado
tiempo=0

Ingreso de comentario. Default =1 debe ingresar comentario
sw_comentario=1

Ubicación del Mensaje
coordenadax=5
coordenaday=900

Ubicación Archivo de Menu
fdir = "$desktop$\Menus\99.- Temporales\"
fname = "Menu Time Keeper.txt"

XyMonitorToNormal(_monitor &coordenadax &coordenaday)


fname - fdir


fname.expandpath(fname)
iff-(fname) fname - "No Existe Archivo: "; mes(fname "" "!"); end

--- Selecciona donde agregar el sitio
s.getfile(fname)
str menuItems=s

if empty(porinvocacion)
MenuPopup m
m.AddItems(menuItems)
here you can add/remove/disable items depending on conditions: if(condition) m.AddItems(...).
sel m.Show()
Actividades Administrativas
case 1 inp- plogid "Actividad:" ; descr = "Tarea Administrativa"
case 2 inp- plogid "Plog ID:" ; descr = "Revisión de Plog"
case 3 plogid = "Rutinaria"; descr = "Revisión de Correo diario"; coordenadax=1300;
case 4 plogid = "Generación Informe diario de Plogs"; descr = "Informe de Plogs"
case 5 plogid = "Rutinaria"; descr = "Almuerzo Diario"; sw_comentario=0; coordenadax=1300;
case 6 plogid = "Rutinaria"; inp- descr "Capacitación en:"; coordenadax=1300;
case 7 plogid = "Conference por Revisión de Plog(s):"; inp- descr "Plog(s):"
case 8 plogid = "Conference de Coordinación"; inp- descr "Coordinar qué:"
case 9 plogid = "Especiales"; descr = "Cuenta Regresiva con Auto Cierre"; inp- tiempo "Tiempo en Minutos:"; tiempo = tiempo*60; coordenadax=850
case 10 plogid = "Especiales"; descr = "Cuenta Regresiva con Auto Cierre"; inp- tiempo "Tiempo en Horas:"; tiempo = tiempo*3600; coordenadax=850
case 11 plogid = "Especiales"; descr="Registro Inmediato sin comentario"; tiempo=1; sw_comentario=0; coordenadax=850
case 12 plogid = "Especiales"; descr="Registro Inmediato con comentario"; tiempo=1; coordenadax=850
case 13 plogid = "Rutinaria"; descr = "Inicio día..."; sw_comentario=0; comentario="Inicio de actividades."; coordenadax=1300;
case 14 plogid = "Rutinaria"; descr = "Fin día..."; sw_comentario=0; comentario="Fin del día, regreso a casa."; coordenadax=1300;
case 15 plogid = "Especiales"; descr = "Mejorando mi trabajo"; coordenadax=850
Actividades de Mantención Menú y revisión de data saliendo de la captura.
case 996 s="$desktop$\test TimeKeeper.txt"; run s; ret
case 997 s="$desktop$\Menus\99.- Temporales\Menu Time Keeper.txt"; run s; ret
case 998 mac+ getopt(itemid); ret
case 999 s="$desktop$\Menus\99.- Temporales\Ideas x Mejorar.txt"; run s; ret
case else
Se Mueve al principio para reutilizar MES t fuera del bloque
int i
MES t
t.style="O"
t.timeout=1
t.default='Y'
i=mes("No existe esa Opción" "Continuará:" t)
ret
err+
else
, plogid=porinvocacion
descr = "Revisión de Plog"


TimeKeeper x.Begin("$desktop$\test TimeKeeper.txt" plogid descr 1)

mes- "Dedicando Tiempo a: %s" descr " en Actividad: %s" plogid

Mejorando estilo del mensaje
t.style="O"
t.x=coordenadax
t.y=coordenaday
if(tiempo>0) t.timeout=tiempo
t.default='Y'
i=mes("Dedicando Tiempo a: %s" descr " en Actividad: %s" plogid t)
s.from("Dedicado a: " descr)
i=mes(s plogid t)

if(sw_comentario=1) inp- comentario "Comentario:"

x.End(comentario)

BEGIN PROJECT
main_function Time Spend
exe_file $my qm$\Time Spend.exe
icon <default>
manifest $qm$\default.exe.manifest
res
on_before
on_after
on_run
flags 6
end_hotkey 801
guid {B8814A32-A1DE-4C7F-AE0F-E457BFF47BA4}
END PROJECT


Forum Jump:


Users browsing this thread: 1 Guest(s)