'=========================================================================== ' Subject: ON SCREEN DIGITAL CLOCK Date: 07-24-98 (16:19) ' Author: Dieter Folger Code: PB ' Origin: folger@bamberg.baynet.de Packet: DATETIME.ABC '=========================================================================== '----------------------------------------------- ' DCLOCK.BAS for Power Basic ' Shows system time as a digital clock ' Can be used as screen saver ' Freeware (c) by Dieter Folger '----------------------------------------------- DEFINT A-Z: SCREEN 12 x = 200: y = 200 'upper left position of display C(0) = 0: C(1) = 3'background black, segments green FOR i = 0 TO 9: READ Segment(i): NEXT FOR i = 1 TO 7: READ x(i), y(i): NEXT FOR i = 1 TO 3: READ xp(i), yp(i): NEXT Digit$(1) = "F2 D11 G2 H2 U11 E2 B D1 P" 'segment vertical Digit$(0) = "E2 R14 F2 G2 L14 H2 B R1 P" 'segment diagonal DO xt = 0 FOR i = 1 TO 6 T = VAL(MID$(REMOVE$(TIME$, ":"), i, 1)) FOR j = 1 TO 7 'draw segments C$ = STR$(C(1)): Segm$ = Digit$(1) IF j MOD 2 = 0 THEN Segm$ = Digit$(0) IF BIT(Segment(T), j - 1) = 0 THEN C$ = STR$(C(0)) DRAW "BM"+STR$(x(j)+x+xt)+","+STR$(y(j)+y) DRAW "C" + C$ + Segm$ + C$ + "," + C$ NEXT INCR xt, 32 IF i MOD 2 = 0 THEN INCR xt, 15 NEXT FOR i = 1 TO 3 'dots CIRCLE (xp(i) + x, yp(i) + y), 3, C(1) PAINT (xp(i) + x + 1, yp(i) + y + 1), C(1) NEXT LOOP WHILE INKEY$ = "" END ' s6 Example of number 4: ' ÄÄÄÄ 1 0 0 1 1 0 1 = 77 decimal ' s7³ s4 ³s5 s1 s2 s3 s4 s5 s6 s7 ' ÄÄÄÄ ' s3³ s2 ³s1 ' ÄÄÄ- ' 0 1 2 3 4 5 6 7 8 9 bitmaps of numbers DATA 119,68,62,110,77,107,123,70,127,111 'position of segments: DATA 9,11,10,10,29,11,10,27,9,28,10,44,29,28 'position of dots: DATA 153,42,75,20,76,38