2 DECLARE SUB mntime ()
\r
3 DECLARE SUB showit ()
\r
4 DECLARE SUB ekrf (a%)
\r
9 DECLARE SUB getnad (g%, n%, d%, k%)
\r
10 DECLARE SUB initp (b$)
\r
11 DECLARE SUB getmd (a$, m%, d%)
\r
12 DECLARE SUB son (a$)
\r
15 DECLARE SUB inita ()
\r
18 DECLARE SUB kell (a%)
\r
19 DECLARE SUB sync2 ()
\r
21 DECLARE SUB mnmain ()
\r
23 DECLARE SUB getkey (kla%)
\r
24 DECLARE SUB klnait (k%)
\r
25 DECLARE SUB heli (a%)
\r
28 DIM SHARED bit(0 TO 7)
\r
30 DIM SHARED hist(1 TO 3)
\r
31 DIM SHARED ap$(1 TO 500)
\r
33 DIM SHARED pp$(1 TO 500)
\r
35 DIM SHARED prt, prt2
\r
38 DIM SHARED sona$(1 TO 50)
\r
42 DIM SHARED pn$(1 TO 7)
\r
43 DIM SHARED bitt(1 TO 16)
\r
44 DIM SHARED modee, vilgu
\r
45 DIM SHARED tul(1 TO 2)
\r
56 IF apl = 0 THEN inita
\r
59 n1 = VAL(RIGHT$(a$, 4))
\r
60 n2 = VAL(LEFT$(a$, 2))
\r
62 n3 = VAL(RIGHT$(a$, 2))
\r
63 getnad n1, n2, n3, ndlp
\r
65 PRINT "n
\84dalap
\84ev:", pn$(ndlp)
\r
68 SELECT CASE sona$(1)
\r
70 getmd sona$(2), m1, d1
\r
71 getmd sona$(3), m2, d2
\r
73 IF m3 < m1 THEN GOTO 9
\r
74 IF m3 > m2 THEN GOTO 9
\r
75 IF m3 = m1 THEN IF d3 < d1 THEN GOTO 9
\r
76 IF m3 = m2 THEN IF d3 > d2 THEN GOTO 9
\r
79 getmd sona$(2), m1, d1
\r
80 getmd sona$(3), m2, d2
\r
82 IF m3 < m1 THEN GOTO 9
\r
83 IF m3 > m2 THEN GOTO 9
\r
84 IF m3 = m1 THEN IF d3 < d1 THEN GOTO 9
\r
85 IF m3 = m2 THEN IF d3 > d2 THEN GOTO 9
\r
86 IF ndlp <> VAL(sona$(4)) THEN GOTO 9
\r
89 getmd sona$(2), m1, d1
\r
91 IF (m1 = m2) AND (d1 = d2) THEN b$ = sona$(3)
\r
96 IF b$ <> lp$ THEN initp b$
\r
99 PRINT "p
\84evaplaan:", lp$
\r
105 IF a$ <> dato$ THEN chd
\r
110 SELECT CASE sona$(1)
\r
112 getmd sona$(2), h1, m1
\r
113 getmd TIME$, h2, m2
\r
114 ' PRINT h1, m1, h2, m2
\r
115 IF (h2 = h1) AND (m2 = m1) THEN
\r
116 IF sona$(3) = "sis" THEN b = 1
\r
117 IF sona$(3) = "val" THEN b = 2
\r
122 IF b > 0 THEN kell b
\r
128 PRINT "Kooli Kell v 1.2 2002.10.10"
\r
129 PRINT "Programmi autor Svjatoslav Agejenko"
\r
136 c = c + 16 * bitt(1)
\r
137 c = c + 32 * bitt(2)
\r
138 c = c + 64 * bitt(3)
\r
139 c = c + 128 * bitt(4)
\r
143 c = c + 16 * bitt(5)
\r
144 c = c + 32 * bitt(6)
\r
145 c = c + 64 * bitt(7)
\r
146 c = c + 128 * bitt(8)
\r
150 c = c + 16 * bitt(9)
\r
151 c = c + 32 * bitt(10)
\r
152 c = c + 64 * bitt(11)
\r
153 c = c + 128 * bitt(12)
\r
157 c = c + 16 * bitt(13)
\r
158 c = c + 32 * bitt(14)
\r
159 c = c + 64 * bitt(15)
\r
160 c = c + 128 * bitt(16)
\r
297 IF tmr > 5 THEN bitt(13) = tul(1): bitt(14) = tul(2) ELSE bitt(13) = 1: bitt(14) = 1
\r
306 b$ = LEFT$(TIME$, 5)
\r
307 IF b$ <> timo$ THEN chm
\r
309 hist(1) = hist(1) + 1
\r
310 IF hist(1) > 20000 THEN hist(1) = 15000
\r
311 hist(2) = hist(2) + 1
\r
312 IF hist(2) > 20000 THEN hist(2) = 15000
\r
313 hist(3) = hist(3) + 1
\r
314 IF hist(3) > 20000 THEN hist(3) = 15000
\r
318 IF hist(kl) > 1 AND hist(kl) < 9 THEN
\r
326 IF hist(1) = 10 THEN klnait 1: kla = 1: GOTO 4
\r
327 IF hist(2) = 10 THEN klnait 2: kla = 2: GOTO 4
\r
328 IF hist(3) = 10 THEN klnait 3: kla = 3: GOTO 4
\r
330 IF hist(1) > 11 AND hist(2) > 11 AND hist(3) > 11 THEN klnait 0
\r
346 IF kla > 3 THEN SOUND 4000, .1 ELSE SOUND 3000, .1
\r
352 SUB getmd (a$, m, d)
\r
354 m = VAL(LEFT$(b$, 2))
\r
355 d = VAL(RIGHT$(b$, 2))
\r
359 SUB getnad (g, n, d, k)
\r
365 p = p - 1: m = m + 12
\r
369 w = d + INT((13 * m - 1) / 5) + y + INT(y / 4) + INT(c / 4) - 2 * c
\r
370 k = w - 7 * INT(w / 7)
\r
371 IF k = 0 THEN k = 7
\r
400 FOR a = 800 TO 1000 STEP 10
\r
414 OPEN "aasta.ap" FOR INPUT AS #1
\r
416 IF EOF(1) <> 0 THEN GOTO 3
\r
427 OPEN b$ + ".pp" FOR INPUT AS #1
\r
429 IF EOF(1) <> 0 THEN GOTO 7
\r
473 IF a <> b THEN GOTO 8
\r
483 IF bit(4) = 1 AND bit(6) = 1 THEN bit(4) = 0: bit(6) = 0: kl = 3
\r
484 IF bit(6) = 1 THEN kl = 2
\r
485 IF bit(4) = 1 THEN kl = 1
\r
488 IF a$ = CHR$(0) + "K" THEN kl = 1
\r
489 IF a$ = CHR$(0) + "M" THEN kl = 2
\r
490 IF a$ = CHR$(0) + "P" THEN kl = 3
\r
496 IF k = 3 THEN c = 3 ELSE c = 1
\r
497 IF k = 6 THEN c = 14
\r
503 IF k = 1 THEN c = 3 ELSE c = 1
\r
504 IF k = 4 THEN c = 14
\r
510 IF k = 2 THEN c = 3 ELSE c = 1
\r
511 IF k = 5 THEN c = 14
\r
523 IF a = 3 THEN sync2
\r
525 IF a = 1 THEN kell 1
\r
526 IF a = 4 THEN kell 2
\r
528 IF a = 2 THEN mntime
\r
541 b = VAL(LEFT$(TIME$, 2))
\r
543 IF a = 1 THEN c = 1: b = b - 1
\r
544 IF a = 2 THEN c = 1: b = b + 1
\r
545 IF b < 0 THEN b = 0
\r
546 IF b > 23 THEN b = 23
\r
548 IF LEFT$(d$, 1) = " " THEN d$ = RIGHT$(d$, LEN(d$) - 1)
\r
549 IF LEN(d$) < 2 THEN d$ = "0" + d$
\r
550 e$ = d$ + RIGHT$(TIME$, 6)
\r
551 IF c = 1 THEN TIME$ = e$
\r
553 b = VAL(RIGHT$(LEFT$(TIME$, 5), 2))
\r
555 IF a = 1 THEN c = 1: b = b - 1
\r
556 IF a = 2 THEN c = 1: b = b + 1
\r
557 IF b < 0 THEN b = 0
\r
558 IF b > 59 THEN b = 59
\r
560 IF LEFT$(d$, 1) = " " THEN d$ = RIGHT$(d$, LEN(d$) - 1)
\r
561 IF LEN(d$) < 2 THEN d$ = "0" + d$
\r
562 e$ = LEFT$(TIME$, 3) + d$ + RIGHT$(TIME$, 3)
\r
563 IF c = 1 THEN TIME$ = e$
\r
567 IF modee = 1 THEN modee = 2 ELSE modee = 1
\r
570 IF a = 6 THEN GOTO 12
\r
599 a$ = LEFT$(TIME$, 5)
\r
601 b = VAL(LEFT$(a$, 2))
\r
605 b = VAL(RIGHT$(a$, 2))
\r
624 FOR c = 1 TO LEN(a$)
\r
625 d$ = RIGHT$(LEFT$(a$, c), 1)
\r
626 IF d$ = " " OR d$ = CHR$(9) THEN
\r
629 IF b = 1 THEN b = 0: mitus = mitus + 1
\r
630 sona$(mitus) = sona$(mitus) + d$
\r
638 pn$(1) = "esmasp
\84ev"
\r
639 pn$(2) = "teisip
\84ev"
\r
640 pn$(3) = "kolmap
\84ev"
\r
641 pn$(4) = "neljap
\84ev"
\r
643 pn$(6) = "laup
\84ev"
\r
644 pn$(7) = "p
\81hap
\84ev"
\r
662 OPEN "sync.txt" FOR INPUT AS #1
\r
675 b = VAL(RIGHT$(a$, 2))
\r
676 c = VAL(LEFT$(a$, 2))
\r
677 IF b >= 30 THEN c = c + 1
\r
679 IF c > 23 THEN c = c - 24
\r
680 a$ = RIGHT$(STR$(c), LEN(STR$(c)) - 1)
\r
681 b$ = RIGHT$(STR$(b), LEN(STR$(b)) - 1)
\r
682 IF LEN(a$) < 2 THEN a$ = "0" + a$
\r
683 IF LEN(b$) < 2 THEN b$ = "0" + b$
\r