Message Waiting Controller Code

<pre>

REM ** NORTEL MESSAGE WAITING CONTROLLER

REM ** EXTENSION NUMBERS ARE IN DATA STATEMENTS

RESTORE 1

FOR u = 1 TO 15

SHELL "dir C:line" + LTRIM$(STR$(u)) + "\m*.*> file.txt"

OPEN "file.txt" FOR INPUT AS #1

msgs = 0

DO WHILE NOT EOF(1)

LINE INPUT #1, testline$

IF LEFT$(testline$, 1) = "M" THEN msgs = msgs + 1

LOOP

READ ext$

IF msgs > 0 THEN

line$ = "RF" + ext$ + "F"

PRINT "User" + STR$(u) + " has" + STR$(msgs) + " messages"

ELSE

line$ = "RG" + ext$ + "G"

END IF

CLOSE #1

PRINT line$

FOR l = 1 TO LEN(line$)

letter$ = MID$(line$, l, 1)

SELECT CASE letter$

CASE IS = "0": OUT &H378, 19

CASE IS = "1": OUT &H378, 32

CASE IS = "2": OUT &H378, 34

CASE IS = "3": OUT &H378, 16

CASE IS = "4": OUT &H378, 36

CASE IS = "5": OUT &H378, 18

CASE IS = "6": OUT &H378, 20

CASE IS = "7": OUT &H378, 37

CASE IS = "8": OUT &H378, 35

CASE IS = "9": OUT &H378, 21

CASE IS = "F": OUT &H378, 67

CASE IS = "G": OUT &H378, 66

CASE IS = "H": OUT &H378, 65

CASE IS = "R": OUT &H378, 33

END SELECT

delay$ = MID$(STR$(TIMER), 8, 1)

DO WHILE MID$(STR$(TIMER), 8, 1) = delay$

LOOP

OUT &H378, 0

delay$ = MID$(STR$(TIMER), 8, 1)

DO WHILE MID$(STR$(TIMER), 8, 1) = delay$

LOOP

NEXT l

NEXT u

1 : DATA 319

2 : DATA 320

3 : DATA 321

4 : DATA 250

5 : DATA 220

6 : DATA 200

7 : DATA 300

8 : DATA 301

9 : DATA 302

10 : DATA 310

11 : DATA 311

12 : DATA 312

13 : DATA 313

14 : DATA 314

15 : DATA 315

16 : DATA 316

</pre>