Timer (PRIM_TIMR)

Executes code at intervals

Ancestors - Object (PRIM_OBJT)

Details

The Timer control is used to execute code at intervals.

The Interval property defines the millisecond gap between each Tick.

The single threaded nature of the LANSA runtime means that a timer tick is queued. Any activity already in progress will complete before the timer ticks.

Example

This example demonstrates basic timer functionality.

     Begin_Com Role(*EXTENDS #PRIM_WEB) Height(457) Width(1169)

Define_Com Class(#PRIM_VS.Style) Name(#Style1) Backgroundbrush(#Brush1) Foregroundbrush(#Brush2)
Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush2) Color(Theme50)
Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush1) Color(Theme500)

Define_Com Class(#prim_timr) Name(#Timer) Startup(Manual)

Define_Com Class(#PRIM_PHBN) Name(#StartStop) Caption('Start') Displayposition(1) Left(24) Parent(#COM_OWNER) Tabposition(1) Top(32) Width(169)
Define_Com Class(#PRIM_SPDT) Name(#Interval) Displayposition(2) Left(96) Parent(#COM_OWNER) Showselection(False) Showselectionhilight(False) Tabposition(2) Top(96) Width(96)
Define_Com Class(#PRIM_LABL) Name(#Label1) Caption('Interval') Displayposition(3) Ellipses(Word) Height(25) Left(24) Parent(#COM_OWNER) Tabposition(3) Tabstop(False) Top(96) Verticalalignment(Center) Width(57)
Define_Com Class(#PRIM_LABL) Name(#Ticking) Displayposition(4) Ellipses(Word) Height(90) Left(208) Parent(#COM_OWNER) Tabposition(4) Tabstop(False) Top(31) Verticalalignment(Center) Width(242) Alignment(Center) Style(#Style1) Caption('Ticking') Visible(False)

Evtroutine Handling(#Com_owner.CreateInstance)

#Interval := #Timer.Interval

Endroutine

Evtroutine Handling(#Interval.Changed)

#Interval := #Interval.Value.Max( 1 #Interval.Value )
#Timer.Interval := #Interval

Endroutine

Evtroutine Handling(#StartStop.Click)

If (#Timer.IsStarted)

#Timer.Stop
#StartStop.Caption := "Start"
#Ticking.visible := False

Else

#Timer.Start
#StartStop.Caption := "Stop"

Endif

Endroutine

Evtroutine Handling(#Timer.Tick)

#Ticking.visible := *Not #Ticking.Visible

Endroutine

End_Com

Properties

Name

Description

ComponentClassName

ComponentClassName is the name of the component's class. Inherited from Object (PRIM_OBJT)

ComponentMembers

ComponentMembers provides access to all the member components of this component Inherited from Object (PRIM_OBJT)

ComponentPatternName

ComponentPatternName is used to qualify the class of the component. Inherited from Object (PRIM_OBJT)

ComponentTag

Generic space allowing a value to be stored for the instance Inherited from Object (PRIM_OBJT)

ComponentType

ComponentType gives you access to the type information about the component Inherited from Object (PRIM_OBJT)

ComponentTypeName

ComponentTypeName is the fully qualified name of the component's class. Inherited from Object (PRIM_OBJT)

Interval

Number of milliseconds between each tick

IsStarted

Returns true if the timer is currently running

Name

Name identifies the component Inherited from Object (PRIM_OBJT)

Owner

Owner owns this component Inherited from Object (PRIM_OBJT)

Parent

The component instance to which this instance is attached. The visual container for a control or the collector of a set of child instances Inherited from Object (PRIM_OBJT)

Startup

Defines whether the timer is started automatically or manually

Events

Name

Description

CreateInstance

CreateInstance is signaled when an instance of a component is created [Inherited from Timer (PRIM_TIMR)

DestroyInstance

DestroyInstance is signaled when an instance of a component is about to be destroyed [Inherited from Timer (PRIM_TIMR)

Tick

Fired whenever the specified interval has elapsed

Methods

Name

Description

Start

Start method starts the timer

Stop

Stop method stops the timer


See also

All Component Classes

Technical Reference

  • No labels