home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magazyn Internet 2001 September
/
MICD2001_09_NR1.iso
/
Www
/
@t
/
dane
/
Sym.bas
< prev
next >
Wrap
BASIC Source File
|
2001-07-21
|
2KB
|
86 lines
DIM miesiac, dzien, godz, min AS INTEGER
DIM prz(7) AS SINGLE
OUT &H378, 0
FOR i = 0 TO 7: prz(i) = 0: NEXT i
SCREEN 12: CLS
LOCATE 1, 1: PRINT CHR$(201)
LOCATE 1, 49: PRINT CHR$(187)
FOR i = 2 TO 48: LOCATE 1, i: PRINT CHR$(205)
LOCATE 3, i: PRINT CHR$(205)
LOCATE 5, i: PRINT CHR$(205)
LOCATE 14, i: PRINT CHR$(205)
NEXT i
FOR i = 2 TO 13
LOCATE i, 1: PRINT CHR$(186)
LOCATE i, 49: PRINT CHR$(186)
NEXT i
LOCATE 14, 1: PRINT CHR$(200)
LOCATE 14, 49: PRINT CHR$(188)
LOCATE 3, 1: PRINT CHR$(204)
LOCATE 5, 1: PRINT CHR$(204)
LOCATE 3, 49: PRINT CHR$(185)
LOCATE 5, 49: PRINT CHR$(185)
COLOR 2: LOCATE 4, 11: PRINT "Symulator obecnosci domownikow"
COLOR 15
FOR i = 1 TO 8
LOCATE i + 5, 3: PRINT "Przekaznik "; i; ": ";
COLOR 7: PRINT "<NIE>": COLOR 15
NEXT i
LOCATE 16, 1: PRINT "<1...8> - zmiana stanu przekaznika 1...8"
PRINT "<Q> - wyjscie z programu"
prog: godz = VAL(LEFT$(TIME$, 2))
min = VAL(MID$(TIME$, 4, 2))
miesiac = VAL(LEFT$(DATE$, 2))
dzien = VAL(MID$(DATE$, 4, 2))
LOCATE 2, 3: PRINT " Czas: G"; godz; " M"; min; " Data: D"; dzien; " M"; miesiac
a$ = INKEY$
po: IF a$ <> "" THEN
IF a$ = "q" OR a$ = "Q" THEN OUT &H378, 0: END
IF VAL(a$) > 0 AND VAL(a$) < 9 THEN GOSUB czy
END IF
RESTORE
pic:
READ d: IF d = 0 THEN GOTO prog
READ g, m, mi, k, v
IF d = dzien AND mi = miesiac THEN
IF g = godz AND m = min THEN GOTO zmi
END IF
GOTO pic
czy: IF prz(VAL(a$) - 1) = 1 THEN
prz(VAL(a$) - 1) = -1
ELSE
prz(VAL(a$) - 1) = 1
END IF
cy: a = VAL(a$) - 1
LOCATE a + 6, 24
IF prz(a) = 1 THEN
PRINT "<TAK>"
ELSE COLOR 7: PRINT "<NIE>": COLOR 15
END IF
GOSUB dom: GOTO prog
zmi:
a$ = STR$(k)
IF prz(VAL(a$) - 1) = v THEN GOTO prog
GOTO czy
REM ---------------------------
REM 1 - cyfra - dzien
REM 2 - '' - godzina
REM 3 - '' - minuta
REM 4 - '' - miesiac
REM 5 - '' - numer przekaznika <1...8>
REM 6 - '' - stan <1 -wlonczony>, <-1 -wylonczony>
REM --- dane konczom sie zerem
DATA 23,20,1,8,3,-1,0
dom: b = prz(a)
IF a = 0 THEN c = c + 1 * b
IF a = 1 THEN c = c + 2 * b
IF a = 2 THEN c = c + 4 * b
IF a = 3 THEN c = c + 8 * b
IF a = 4 THEN c = c + 16 * b
IF a = 5 THEN c = c + 32 * b
IF a = 6 THEN c = c + 64 * b
IF a = 7 THEN c = c + 128 * b
OUT &H378, c
LOCATE 20, 3: PRINT "Wart. portu: "; c; " ": RETURN