Events: Difference between revisions

m
→‎{{header|REXX}}: added/changed whitespace and comments, aligned statements, used a template for the output section.
m (→‎{{header|REXX}}: added/changed whitespace and comments, aligned statements, used a template for the output section.)
Line 1,109:
<br>Here is a &nbsp; ''time-driven'' &nbsp; example of events happening, based on specific timer ticks.
<lang rexx>/*REXX program demonstrates a method of handling events (this is a time─driven pgm).*/
signal on halt /*allow the user to HALT (Break) the programpgm.*/
parse arg timeEvent /*allow the "event" to be specified. */
if timeEvent='' then timeEvent=5 5 /*Not specified? Then use the default.*/
 
event?: do forever /*determine if an event has occurred. */
theEvent= right(time(), 1) /*maybe it's an event, ─or─ maybe not.*/
if pos(theEvent, timeEvent)\==>0 then signal happening
end /*forever*/
 
say 'Control should never get here!' /*This is a logic can─never─happen ! */
halt: say '════════════ program halted.'; exit 0 /*stick a fork in it, we're all done. */
/*──────────────────────────────────────────────────────────────────────────────────────*/
happening: say 'an event occurred at' time()", the event is:" theEvent
do while theEvent==right(time(), 1) /*spin until a tic (a second) changes. */
nop /*replace NOP with the "process" code.*/
end /*while*/ /*NOP is a special REXX statement. , does nothing*/
signal event? signal event? /*see if another event has happened. */</lang>
'''{{out|output''' |text=&nbsp; when using the input of: &nbsp; &nbsp; <tt> 1 &nbsp; 3 &nbsp; 5 &nbsp; 0 &nbsp; 7 &nbsp; 9 </tt>}}
<pre>
an event occurred at 16:13:29, the event is: 9