4  F=F0=F1=X=Y=Z=M=C=I=B=0
5  DIM A$[255],B$[255],C$[255],D$[255],E$[255]
7  FILES *,*
8  ASSIGN "ZMEMON.B000",1,A,"NAMES"
9  IF  NOT A THEN 12
10  PRINT "Zmemon file inaccessable"
11  END 
12  ASSIGN "EDTMEM.B000",2,A
13  IF  NOT A THEN 19
14  PRINT "EDTMEM Scratch file is inaccessable"
15  END 
19  PRINT "* Manage *"
20  PRINT "Authorization code please:";
30  LINPUT A$
40  SYSTEM R,"ech-on"
50  A$=UOS$(A$)
60  IF  NOT POS(A$,"*MEMO*") THEN 70
65  GOTO 90
70  PRINT "Sorry,not valid,try again"
80  END 
84  F0=F1=F2=X=Y=C=B=0
85  READ #1,1
86  READ #2,1
90  PRINT "Enter: Add,Delete,List (A,D or L) -->";
100  LINPUT A$
120  GOTO POS("ADL",A$) OF 200,300,400
140  PRINT "Sorry, must be A,D or L, try again"
150  GOTO 100
200  ADVANCE #1;32767,R
205  IF  NOT R THEN 200
207  GOTO 210
209  PRINT "Illegal user name.";LIN(0);LIN(1);
210  PRINT "New user name:";
215  LINPUT B$
220  FOR X=1 TO LEN(B$)
225  IF NUM(B$[X,X])<65 AND NUM(B$[X,X])#46 OR NUM(B$[X,X])>90 THEN 209
230  NEXT X
235  PRINT "Password:";
240  LINPUT C$
245  IF LEN(C$)<8 THEN 260
250  PRINT "Password must be 8 chars. in length or less"
255  GOTO 235
260  B$[X+1]=","
265  B$[X+2]=C$
267  B$=UOS$(B$)
270  PRINT #1;B$
275  GOTO 85
300  PRINT "Which user:";
305  LINPUT D$
310  IF  END #F THEN 360
315  IF  END #F1 THEN 375
320  F=1
325  F1=2
330  READ #F;C$
335  IF POS(C$,D$) THEN 350
337  PRINT #F1;C$
340  GOTO 330
350  C$=""
353  F0=1
355  GOTO 330
360  IF F#1 THEN 370
361  IF  NOT F0 THEN 390
362  READ #1,1
363  READ #2,1
364  F=2
365  F1=1
366  GOTO 330
370  GOTO 84
375  IF F=1 THEN 380
376  PRINT "Error, cannot copy back to zmemon file"
377  PRINT "Someone has sjortened it."
378  END 
380  PRINT '7'7'7"Error, scratch file too small to hold contents of zmemon file";LIN(1);LIN(0);"try enlarging file: EDTMEM.B000 to ";(REC(2)+3)
382  END 
390  PRINT "No such user"
395  GOTO 300
400  PRINT 
403  IF  END #1 THEN 475
405  READ #1;D$
410  FOR Y=1 TO LEN(D$)
415  IF NUM(D$[Y,Y])<28 THEN 425
420  NEXT Y
422  GOTO 450
425  D$[Y,Y]=CHR$(NUM(D$[Y,Y])+96)
430  GOTO 420
450  PRINT D$
455  GOTO 405
475  PRINT 
480  GOTO 85
9999  END 
