Este componente informa sobre el tiempo transcurrido entre dos momentos
distintos.
El funcionamiento es el siguiente :
1.- Para marcar el inicio llamamos al método Run
del componente.
2.- Para saber el tiempo transcurrido desde el inicio (Run)
hasta ahora podemos llamar ha varios métodos : Interval,
AsSeconds, AsHours,...
3.- Para marcar un nuevo Inicio llamamos al método Click.
4.- Para marcar un instante final llamamos al método Stop.
5.- Para saber si el componente está o no activo (hay un momento
inicial - run- pero no un momento final
-stop-), tenemos la propiedad Active.
Nota: Si se ha llamado a Run pero
no a Stop, el tiempo que devuelven los distintos
métodos se refieren al momento actual. Si se ha llamado a Stop
entonces los valores devueltos se refieren a la diferencia entre el momento
de arranque (Run) y el de parada (Stop).
Propiedades :
Active: Índica si el
componente está activo(run) o ya se
ha parado (Sólo lectura).
Initial : Momento inicial (-1 si no se
ha llamado a run). (sólo lectura).
Final : Momento final (-1 si no se ha llamado
a stop). (sólo lectura).
Notes : Propiedades relacionadas con las
notas.
Una Nota
es una entrada en una lista que maneja el componente que está
compuesta por dos partes, lo que denominaremos Tick que
se corresponde con un número en milisegundos que representa
el momento en que la nota se guardo, este tiempo puede ser desde
que se arrancó el ordenador o desde que se puso en funcionamiento
una instancia de este componente, esto dependerá de la
propiedad SourceTick que veremos
más adelante y una cadena (opcional) que se le pasa como
parámetro cuando se llama al método Note
para crear una nota.
|
TickSeparator : Cadena de
caracteres que separará el Tick del mensaje de la nota cuando
se llama al método GetAllNotes.
NoteSeparator : Cadena que separará
una nota de otra cuando se llama al método GetAllNotes
TickSource : Indicará si el tiempo
guardado se refiere al momento de activación del control (stInterval)
o al momento de arranque del ordenador (stSystem)
TickFormat : Formato con que se mostrará
los 'Tick' de las distintas notas devueltas por GetAllNotes
: anMilliseconds, anSeconds,
anMinutes y anHours.
Todos son Int64. Para hacer las transformaciones de milisegundos a horas,
por ejemplo, sólo se toma la parte entera del resultado, así
si el resultado fuera 2 horas y 34 minutos, sólo aparecerán
las 2 horas.
Clear : Cada vez que se activa el componente
se borra la lista de posibles notas anteriores, dependiendo de si esta
propiedad vale True.
Métodos :
Run : Marca un instante inicial.
Activa el control. Borra o no la lista de notas dependiendo del valor
de la propiedad Notes.Clear.
Stop : Marca un instante final. Desactiva
el control.
Click : Marca un instante inicial distinto
al marcado en Run (sobre escribe el instante
inicial)
Interval : Milisegundos transcurridos desde
el instante inicial (momento de activación del componente) al final
(momento en que se ejecutó Stop) o al momento actual.
Current : Devuelve un entero que se corresponde
con el valor en milisegundos que lleva el ordenador funcionando.
AsSeconds, AsIntSeconds
: Segundos transcurridos desde el instante inicial al final o en momento
actual (con decimales o formato entero). Si se le pasa un valor en milisegundos
>=0 entonces devuelve el valor en segundos.
AsMinutes, AsIntMinutes
: Minutos transcurridos desde el instante inicial al final o en momento
actual (con decimales o formato entero). Si se le pasa un valor en milisegundos
>=0 entonces devuelve el valor en minutos.
AsHours, AsIntHours
: Horas transcurridas desde el instante inicial al final o en momento
actual (con decimales o formato entero).Si se le pasa un valor en milisegundos
>=0 entonces devuelve el valor en horas.
AsDateTime : Tiempo transcurrido desde
el instante inicial al final o en momento actual. Devuelve un TDateTime.
Si se le pasa un valor en milisegundos >=0 entonces devuelve el valor
en formato datatime.
AsTimeStamp : Tiempo transcurrido desde
el instante inicial al final o en momento actual. Devuelve un TTimeStamp.
Si se le pasa un valor en milisegundos >=0 entonces devuelve el valor
en formato timestamp.
Note: Añade una entrada a una lista
de notas gestionada por el componente. Esta nota contiene el instante
(Tick) en el que se ejecuta y puede tener una cadena de carateres si se
le pasa como parámetro.
GetNote: Devuelve un 'record' con dos campos
: (1) Tick : con el valor en milisegundos que llevaba el ordenador funcionando
o el control activo (depende de la propiedad Notes.TickSource)
cuando se escribió la nota y (2) La cadena de caracteres que se
le hubiera pasado cuando se escribió la nota
DeleteNote : Borra la nota cuyo índice
se pasa como parámetro.
NotesCount : Número de notas en
la lista.
Ejemplos :
Tick1.Run;
ShowMessage(InttoStr(Tick1.Interval));
Muestra el tiempo (en milisegundos) desde que ejecutamos Run hasta ahora.
Showmessage(InttoStr(Tick1.AsIntMinutes));
Muestra el tiempo en minutos completos desde que ejecutamos Run hasta
ahora.
A:=Tick1.AsIntMinutes(64500);
A vale 1. Transforma 64500 milisegundos en minutos completos.
A:=Tick1.AsMinutes(64500);
A valdría 1,075. Transforma 64500 milisegundos en minutos.
Eventos :
OnRun : Se produce en el momento
de llamar al método Run, justo después de marcar el instante
inicial.
OnStop: Se produce en el momento inmediatamente
posterior a la llamada a Stop.
OnClick: Se produce en el momento inmediatamente
posterior a la llamada a Click.
Descárgate un ejemplo
|
|