FETZER@NMFECC.ARPA (04/08/88)
Looks like all of a sudden everyone is interested in having a running clock on the screen. My solution was to reserve the last line of the screen for the clock, that way it doesn't interfere with anything. One problem you might run into: most screen oriented editors, for example, reset the scrolling region to the entire screen upon exiting. I've gotten around that by writing a dcl procedure to start the editor and take care of the scrolling after it exits. One might simply move the line 'print*,esc....' inside the do loop, though, and have everything reset each time the clock is updated. Incidentally, you will probably want to change how often the clock update occurs, I do it every 15 sec. Here it is: PROGRAM CLOCK C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C ! ! C ! CLOCK.FOR ! C ! ! C ! This program is meant to be spawned in a subprocess. The ! C ! cursor position and attributes are saved, the video is set to ! C ! reverse-dim, and the cursor is moved by direct address command ! C ! to the appropriate screen location to print the date and time. ! C ! Then the video is set back to normal and the cursor position ! C ! and attributes are restored. ! C ! ! C !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! CHARACTER*9 DAT CHARACTER*8 TIM CHARACTER*1 ESC DIMENSION ITIME(2) ITIME(1)=-15E7 ITIME(2)=-1 ESC = CHAR(27) print*,esc,'[0;23r' 30 CALL DATE(DAT) CALL TIME(TIM) SEC = SECNDS(0.0) print100,esc,'7',esc,'[1;7m',esc,'[24;63H',DAT,' ', 1 TIM,esc,'[0m',esc,'8' 100 format ('+',A1,A1,A1,A5,A1,A7,A9,A1,A8,A1,A3,A1,A1,$) CALL SYS$SCHDWK (,,ITIME,) CALL SYS$HIBER GOTO 30 END --------------------------------------------------------------- | Michael Fetzer | | | | U. C. S. D. T. S. R. Inc. | | Dept. of Physics B-019 3933 1/2 Riviera Dr. | | La Jolla, CA San Diego CA 92109 | | (619) 534-5304 (619) 270-4965 | | | | Internet: FETZER@nmfecc.ARPA | | MFEnet: FETZER@ccc.mfenet | | BITNET: FETZER%ccc.mfenet@SDSC.BITNET | | HEPnet: CSA::"FETZER@ccc.mfenet" | ---------------------------------------------------------------