1000 ! CRERUSER (c) LID@N DATA 1010 ! 1020 ! - Utvecklat 1030 ! - av: LID@N DATA 1040 ! - 1050 ! - Projekt: REMOTE ABC800:serien 1060 ! - Konstrukt|r: Johan Bostr|m 1070 ! - Vers: 1.0 1080 ! - P}b|rjat: 850419 1090 ! - [ndring: 850419 1100 ! 1110 ! 1115 EXTEND : INTEGER 1120 Passlist=-1 1130 ; CHR$(12) 1140 ; 'CRERUSER ver 1.0' 1150 ; 1160 DEF FNCreruser 1170 Userant=0 1180 NAME 'USERS.SYS' AS 'SIDEUSR.SYS' 1190 OPEN 'SIDEUSR.SYS' AS FILE 2 1200 INPUT 'Login-namn:'Login$ 1210 Found=0 1220 INPUT #2,Login2$ 1230 IF Login$=Login2$ Found=-1 1240 WHILE NOT Found AND Login2$<>'#*#' 1250 Userant=Userant+1 1260 INPUT #2,Pass2$ 1270 INPUT #2,Login2$ 1280 IF Login2$=Login$ Found=-1 1290 WEND 1300 ! 1310 CLOSE 1320 IF Found Q=FNUserbort 1330 IF NOT Found Q=FNNyuser 1340 ; CHR$(12); 1350 RETURN -1 1360 FNEND 1370 ! * 1380 ! 1390 ! USERBORT 1400 ! 1410 DEF FNUserbort 1420 ; 1430 PRINT 'Ska ' Login$ ' raderas? (J/N)'; : INPUT ''Svar$ 1440 Svar$=CHR$(ASCII(Svar$) AND 223) 1450 IF Svar$<>'J' CLOSE : KILL 'USERS.SYS' : NAME 'SIDEUSR.SYS' AS 'USERS.SYS' : RETURN 0 1460 OPEN 'SIDEUSR.SYS' AS FILE 2 1470 PREPARE 'USERS.SYS' AS FILE 1 1480 Login2$='' 1490 WHILE Login2$<>'#*#' 1500 INPUT #2,Login2$ 1510 INPUT #2,Pass2$ 1520 IF Login2$<>Login$ ; #1,Login2$ : ; #1,Pass2$ 1530 WEND 1540 CLOSE 1,2 1550 KILL 'SIDEUSR.SYS' 1560 RETURN 0 1570 FNEND 1580 ! * 1590 ! 1600 ! NYUSER 1610 ! 1620 DEF FNNyuser 1630 CLOSE 1640 OPEN 'SIDEUSR.SYS' AS FILE 2 1650 PREPARE 'USERS.SYS' AS FILE 1 1660 ; 1670 ; Login$ ' finns ej. Ska login skapas? (J/N)'; 1680 INPUT Svar$ : Svar$=CHR$(ASCII(Svar$) AND 223) 1690 IF Svar$<>'J' RETURN 0 1700 FOR I=1 TO Userant 1710 INPUT #2,Login2$ 1720 INPUT #2,Pass2$ 1730 ; #1,Login2$ : ; #1,Pass2$ 1740 NEXT I 1750 ; #1,Login$ 1760 Pass2$='' : Pass$='#*#' 1770 WHILE Pass$<>Pass2$ 1780 ; 'Ange l|senord:'; 1790 Pass$=FNL|sen$ 1800 ; : ; 'Dubbelkoll. Skriv samma l|sen igen.'; 1810 Pass2$=FNL|sen$ 1820 IF Pass$<>Pass2$ ; : ; 'L|senorden olika! F|rs|k igen.' 1830 ; 1840 WEND 1850 ; #1,Pass$ 1860 ; #1,'#*#' 1870 ; #1,'#*#' 1880 CLOSE 1890 KILL 'SIDEUSR.SYS' 1900 RETURN 0 1910 FNEND 1920 ! * 1930 ! 1940 ! USRLIST 1950 ! 1960 DEF FNUsrlist 1970 OPEN 'USERS.SYS' AS FILE 1 1980 INPUT 'Listfil (CON:)'Fil$ 1990 IF Fil$=SPACE$(LEN(Fil$)) Fil=0 ELSE OPEN Fil$ AS FILE 2 : Fil=2 2000 Login$='' 2010 Rad=10 2020 ; #Fil : ; #Fil 'Listning av anv{ndare REMOTE' : ; #Fil 2030 INPUT #1,Login$ 2040 INPUT #1,Pass$ 2050 WHILE Login$<>'#*#' 2060 ; #Fil Login$; 2070 IF Passlist ; #Fil TAB(30) Pass$ ' ' ELSE ; #Fil 2080 Rad=Rad+1 : IF Rad>20 AND Fil=0 GET Q$ 2090 INPUT #1,Login$ 2100 INPUT #1,Pass$ 2110 WEND 2120 CLOSE 1 2130 IF Fil=0 ; 'Listning avslutad. Tryck RETURN.'; : INPUT ''Q$ 2140 ; CHR$(12); 2150 IF Fil CLOSE Fil 2160 RETURN -1 2170 FNEND 2180 ! * 2190 ! 2200 ! MENY 2210 ! 2220 DEF FNMeny 2230 CLOSE 2240 ; : ; : ; 2250 ; '1. Radera / skapa anv{ndare' 2260 ; '2. Lista anv{ndare' 2270 ; 2280 ; '0. Avsluta' 2290 ; 2300 Svar$='' 2310 WHILE ASCII(Svar$)>50 OR ASCII(Svar$)<48 2320 INPUT 'V{lj rutin:'Svar$ 2330 WEND 2340 Svar=ASCII(Svar$)-47 2350 ON Svar GOTO 2360,2370,2380 2360 RETURN 0 2370 RETURN FNCreruser 2380 RETURN FNUsrlist 2390 FNEND 2400 ! * 2410 ! 2420 ! L\SEN 2430 ! 2440 DEF FNL|sen$ LOCAL A$=1,B$=20,A,L 2450 WHILE -1 2460 GET A$ 2470 L=LEN(B$) : A=ASCII(A$) 2480 IF A=13 RETURN B$ 2490 IF A=8 IF L>0 B$=LEFT$(B$,L-1) : ; CHR$(8,32,8); 2500 IF L<20 IF A>31 AND A<128 B$=B$+A$ : ; '*'; 2510 IF A=24 ; STRING$(L,8)+STRING$(L,32)+STRING$(L,8); : B$='' 2520 WEND 2530 FNEND 2540 ! * 2550 ! 2560 ! HUVUDPROGRAM 2570 ! 2580 WHILE FNMeny : WEND 2590 IF P$='' P$='NUL:'