303 lines
6.1 KiB
QBasic
303 lines
6.1 KiB
QBasic
'Generador de un reloj digital en pantalla'
|
||
DEFINT A-Z
|
||
|
||
DECLARE SUB PonNum (Digito$, Posicion)
|
||
DIM SHARED P(6), A
|
||
mir$ = "Reloj ( Jos‚ David Guill‚n 15/02/93 )"
|
||
IF MID$(mir$, 13, 1) <> "‚" THEN PRINT " Programa modificado 1": SYSTEM
|
||
IF MID$(mir$, 26, 1) <> "‚" THEN PRINT " Programa modificado 2": SYSTEM
|
||
|
||
P(1) = 0
|
||
P(2) = 80
|
||
P(3) = 200
|
||
P(4) = 280
|
||
|
||
P(5) = 400
|
||
P(6) = 440
|
||
|
||
SCREEN 9
|
||
Hora$ = LEFT$(TIME$, 2)
|
||
Min$ = MID$(TIME$, 4, 2)
|
||
|
||
Hora1$ = LEFT$(Hora$, 1)
|
||
A = 1
|
||
PonNum Hora1$, 1
|
||
Hora2$ = MID$(Hora$, 2, 1)
|
||
A = 2
|
||
PonNum Hora2$, 2
|
||
|
||
LINE (170, 20)-(180, 30), 12, BF
|
||
LINE (170, 60)-(180, 70), 12, BF
|
||
|
||
Min1$ = LEFT$(Min$, 1)
|
||
A = 3
|
||
PonNum Min1$, 3
|
||
|
||
Min2$ = MID$(Min$, 2, 1)
|
||
A = 4
|
||
PonNum Min2$, 4
|
||
|
||
|
||
LINE (370, 50)-(380, 60), 12, BF
|
||
LINE (370, 80)-(380, 90), 12, BF
|
||
|
||
|
||
DO
|
||
Hora$ = LEFT$(TIME$, 2)
|
||
Min$ = MID$(TIME$, 4, 2)
|
||
|
||
IF INKEY$ <> "" THEN SCREEN 0: PRINT mir$: SYSTEM
|
||
|
||
IF OldHor2$ <> LEFT$(Hora$, 1) THEN
|
||
Hora1$ = LEFT$(Hora$, 1)
|
||
A = 1
|
||
PonNum Hora1$, 1
|
||
END IF
|
||
OldHor2$ = LEFT$(Hora$, 1)
|
||
|
||
IF OldHor1$ <> MID$(Hora$, 2, 1) THEN
|
||
Hora2$ = MID$(Hora$, 2, 1)
|
||
A = 2
|
||
PonNum Hora2$, 2
|
||
END IF
|
||
OldHor1$ = MID$(Hora$, 2, 1)
|
||
|
||
IF OldMin2$ <> LEFT$(Min$, 1) THEN
|
||
Min1$ = LEFT$(Min$, 1)
|
||
A = 3
|
||
PonNum Min1$, 3
|
||
END IF
|
||
OldMin2$ = LEFT$(Min$, 1)
|
||
|
||
IF OldMin1$ <> MID$(Min$, 2, 1) THEN
|
||
Min2$ = MID$(Min$, 2, 1)
|
||
A = 4
|
||
PonNum Min2$, 4
|
||
|
||
END IF
|
||
OldMin1$ = MID$(Min$, 2, 1)
|
||
|
||
IF INKEY$ <> "" THEN SCREEN 0: PRINT mir$: SYSTEM
|
||
|
||
seg$ = MID$(TIME$, 7, 1)
|
||
A = 5
|
||
PonNum seg$, 5
|
||
seg$ = MID$(TIME$, 8, 1)
|
||
A = 6
|
||
PonNum seg$, 6
|
||
|
||
|
||
LOOP
|
||
|
||
SUB PonNum (Digito$, Posicion)
|
||
|
||
SELECT CASE VAL(RTRIM$(LTRIM$(Digito$)))
|
||
CASE 0
|
||
D1 = 1: D2 = 1: D3 = 1: D4 = 1: D5 = 0: D6 = 1: D7 = 1
|
||
|
||
CASE 1
|
||
D1 = 0: D2 = 0: D3 = 1: D4 = 0: D5 = 0: D6 = 1: D7 = 0
|
||
|
||
CASE 2
|
||
D1 = 0: D2 = 1: D3 = 1: D4 = 1: D5 = 1: D6 = 0: D7 = 1
|
||
|
||
|
||
CASE 3
|
||
D1 = 0: D2 = 1: D3 = 1: D4 = 0: D5 = 1: D6 = 1: D7 = 1
|
||
|
||
|
||
CASE 4
|
||
D1 = 1: D2 = 0: D3 = 1: D4 = 0: D5 = 1: D6 = 1: D7 = 0
|
||
|
||
|
||
CASE 5
|
||
D1 = 1: D2 = 1: D3 = 0: D4 = 0: D5 = 1: D6 = 1: D7 = 1
|
||
|
||
|
||
CASE 6
|
||
D1 = 1: D2 = 1: D3 = 0: D4 = 1: D5 = 1: D6 = 1: D7 = 1
|
||
|
||
|
||
CASE 7
|
||
D1 = 0: D2 = 1: D3 = 1: D4 = 0: D5 = 0: D6 = 1: D7 = 0
|
||
|
||
|
||
CASE 8
|
||
D1 = 1: D2 = 1: D3 = 1: D4 = 1: D5 = 1: D6 = 1: D7 = 1
|
||
|
||
|
||
CASE 9
|
||
D1 = 1: D2 = 1: D3 = 1: D4 = 0: D5 = 1: D6 = 1: D7 = 1
|
||
|
||
|
||
END SELECT
|
||
|
||
IF Posicion < 5 THEN
|
||
|
||
IF D1 = 1 THEN
|
||
PSET (0 + P(A), 0), 4
|
||
DRAW "D40 R15 U26 H15"
|
||
DRAW "F13 BL5 P4,4"
|
||
ELSE
|
||
PSET (0 + P(A), 0), 0
|
||
DRAW "D40 R15 U26 H15"
|
||
DRAW "F13 BL5 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D2 = 1 THEN
|
||
PSET (3 + P(A), 0), 4
|
||
DRAW "R63 G15 L33 H15"
|
||
DRAW "BR5 BD5 BR23 P4,4"
|
||
ELSE
|
||
PSET (3 + P(A), 0), 0
|
||
DRAW "R63 G15 L33 H15"
|
||
DRAW "BR5 BD5 BR23 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D3 = 1 THEN
|
||
PSET (69 + P(A), 0), 4
|
||
DRAW " D40 L15 U25 E15"
|
||
DRAW "G13 BR5 P4,4"
|
||
ELSE
|
||
PSET (69 + P(A), 0), 0
|
||
DRAW " D40 L15 U25 E15"
|
||
DRAW "G13 BR5 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D4 = 1 THEN
|
||
PSET (0 + P(A), 42), 4
|
||
DRAW " D50 E15 U20 H15"
|
||
DRAW "F13 BL5 P4,4"
|
||
ELSE
|
||
PSET (0 + P(A), 42), 0
|
||
DRAW " D50 E15 U20 H15"
|
||
DRAW "F13 BL5 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D5 = 1 THEN
|
||
PSET (3 + P(A), 42), 4
|
||
DRAW " R63 G15 L33 H15"
|
||
DRAW "BR5 BD5 BR23 P4,4"
|
||
ELSE
|
||
PSET (3 + P(A), 42), 0
|
||
DRAW " R63 G15 L33 H15"
|
||
DRAW "BR5 BD5 BR23 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D6 = 1 THEN
|
||
PSET (69 + P(A), 42), 4
|
||
DRAW " D50 H15 U20 E15"
|
||
DRAW "G13 BR5 P4,4"
|
||
ELSE
|
||
PSET (69 + P(A), 42), 0
|
||
DRAW " D50 H15 U20 E15"
|
||
DRAW "G13 BR5 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D7 = 1 THEN
|
||
PSET (3 + P(A), 93), 4
|
||
DRAW " E15 R33 F15 L62"
|
||
DRAW "BR23 BU5 P4,4"
|
||
ELSE
|
||
PSET (3 + P(A), 93), 0
|
||
DRAW " E15 R33 F15 L62"
|
||
DRAW "BR23 BU5 P0,0"
|
||
|
||
END IF
|
||
|
||
'********************************************************
|
||
'**************** EL GRAN " ELSE " *********************
|
||
'********************************************************
|
||
|
||
ELSE
|
||
|
||
IF D1 = 1 THEN
|
||
PSET (0 + P(A), 45), 4
|
||
DRAW "D20 R8 U13 H8"
|
||
DRAW "F7 BL3 P4,4"
|
||
ELSE
|
||
PSET (0 + P(A), 45), 0
|
||
DRAW "D20 R8 U13 H8"
|
||
DRAW "F7 BL3 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D2 = 1 THEN
|
||
PSET (3 + P(A), 45), 4
|
||
DRAW "R32 G8 L17 H8"
|
||
DRAW "BR3 BD3 BR12 P4,4"
|
||
ELSE
|
||
PSET (3 + P(A), 45), 0
|
||
DRAW "R32 G8 L17 H8"
|
||
DRAW "BR3 BD3 BR12 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D3 = 1 THEN
|
||
PSET (37 + P(A), 45), 4
|
||
DRAW "D20 L8 U13 E8"
|
||
DRAW "G8 BR3 P4,4"
|
||
ELSE
|
||
PSET (37 + P(A), 45), 0
|
||
DRAW "D20 L8 U13 E8"
|
||
DRAW "G8 BR3 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D4 = 1 THEN
|
||
PSET (0 + P(A), 67), 4
|
||
DRAW "D25 E8 U10 H8"
|
||
DRAW "F8 BL3 P4,4"
|
||
ELSE
|
||
PSET (0 + P(A), 67), 0
|
||
DRAW "D25 E8 U10 H8"
|
||
DRAW "F8 BL3 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D5 = 1 THEN
|
||
PSET (3 + P(A), 67), 4
|
||
DRAW "R32 G8 L17 H8"
|
||
DRAW "BR3 BD3 BR12 P4,4"
|
||
ELSE
|
||
PSET (3 + P(A), 67), 0
|
||
DRAW "R32 G8 L17 H8"
|
||
DRAW "BR3 BD3 BR12 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D6 = 1 THEN
|
||
PSET (37 + P(A), 67), 4
|
||
DRAW "D25 H8 U10 E8"
|
||
DRAW "G8 BR3 P4,4"
|
||
ELSE
|
||
PSET (37 + P(A), 67), 0
|
||
DRAW "D25 H8 U10 E8"
|
||
DRAW "G8 BR3 P0,0"
|
||
|
||
END IF
|
||
|
||
IF D7 = 1 THEN
|
||
PSET (3 + P(A), 93), 4
|
||
DRAW "E8 R17 F8 L34"
|
||
DRAW "BR12 BU3 P4,4"
|
||
ELSE
|
||
PSET (3 + P(A), 93), 0
|
||
DRAW "E8 R17 F8 L34"
|
||
DRAW "BR12 BU3 P0,0"
|
||
|
||
END IF
|
||
|
||
END IF
|
||
|
||
|
||
|
||
END SUB
|
||
|