1 REM Ins{nd av Lars Davidsson <7020> 1986-09-28 19.58.05 (SEND) 10 ! Program PASSWD.BAC av Tomas Enblom 20 ! 30 Z$=CHR$(245%,229%,221%,229%,213%,221%,225%,221%,70%,4%,221%,110%,2%,221%,102%,3%) 40 Z$=Z$+CHR$(167%,126%,23%,119%,35%,16%,250%,221%,225%,225%,241%,201%) 50 ; CHR$(12) 60 GOTO 650 70 ; '****************************************' 80 ON ERROR GOTO 510 90 ! 100 ! 110 ! 120 ; : ; : ; ' user:'; : INPUT LINE U$ 130 ; : ; ' user password:'; : GOSUB 410 140 U$=LEFT$(U$,LEN(U$)-2) : IF LEN(U$)<10% THEN U$=U$+SPACE$(10%-LEN(U$)) 150 P$=LEFT$(P$,LEN(P$)-1) : IF LEN(P$)<10% THEN P$=P$+SPACE$(10%-LEN(P$)) 160 Z=CALL(VARPTR(Z$),VAROOT(P$)) 170 ! 180 ! 190 ! 200 OPEN 'user' AS FILE 1 210 GET #1%,M9$ COUNT 1% 220 FOR I%=1% TO ASCII(M9$) 230 IF ASCII(M9$)=0% THEN 510 240 GET #1%,U1$ COUNT 10% 250 IF U1$=U$ THEN 290 260 GET #1%,U1$ COUNT 10% 270 NEXT I% 280 GOTO 510 290 ! 300 ! 310 ! 320 ; : ; : ; : ; 330 ; ' new password stored' 340 PUT #1%,P$ 350 ; : ; : ; 360 CLOSE 1% 370 END 380 ! 390 ! 400 ! 410 P$="" 420 A$="" 430 WHILE A$<>CHR$(13) 440 GET A$ 450 P$=P$+A$ 460 WEND 470 RETURN 480 ! 490 ! 500 ! 510 ; : ; : ; 520 ; ' user does not exist - create user' 530 ; ' '; : GET F$ : IF F$<>"Y" THEN 80 540 ; ' yes -well then' 550 PUT #1%,U$ 560 ; : ; : ; : ; ' new user stored' 570 PUT #1%,P$ 580 ; ' new password stored' 590 POSIT #1%,0% 600 PUT #1%,CHR$(ASCII(M9$)+1%) 610 CLOSE 1% 620 ; : ; : ; : ; 630 END 640 ! 650 ! 660 ! 670 ; CHR$(12) 680 ; '***************************************' 690 ; : ; ' 1. User list' 700 ; ' 2. New password/New user' 710 ; ' 3. Delete user' 720 ; : ; ' =>'; : GET A$ : ; A$ 730 ; : IF A$="2" THEN 70 740 IF A$="1" THEN 770 750 IF A$="3" THEN 970 760 ; ' Try again !' : ; CUR(7,5); : GET A$ : ; A$ : GOTO 730 770 ! 780 ! 790 ! 800 ; '***************************************' 810 ; 'Utfil :'; : INPUT LINE U$ : U$=LEFT$(U$,LEN(U$)-2) 820 IF U$="" THEN ; CUR(10,0) ' ' : U$='CON:' 830 OPEN U$ AS FILE 2 840 OPEN 'USER' AS FILE 1 850 GET #1,L$ : L=ASCII(L$) 860 IF L$=CHR$(0) THEN 920 870 FOR I=1 TO L 880 GET #1,L$ COUNT 10 890 GET #1,P$ COUNT 10 900 ; #2,L$ 910 NEXT I 920 CLOSE 1 930 CLOSE 2 940 END 950 ! 960 ! Delete user 970 ! 980 ; '***************************************' 990 ; ' delete user:'; : INPUT LINE U$ 1000 U$=LEFT$(U$,LEN(U$)-2) : ; : ; : ; ' DO YOU REALY WANT TO KILL ';U$;' '; : INPUT S$ : IF S$<>"YES" THEN ; CHR$(12) : GOTO 650 1010 ! 1020 U$=U$+SPACE$(10-LEN(U$)) 1030 OPEN 'USER' AS FILE 1 1040 GET #1,A$ : L=ASCII(A$) 1050 FOR I=1 TO L 1060 GET #1,L$ COUNT 10 1070 GET #1,P$ COUNT 10 1080 IF L$=U$ THEN 1140 1090 NEXT I 1100 ; : ; : ; " Can't find user" 1110 CLOSE 1120 END 1130 ! 1140 FOR Z=I TO L 1150 GET #1,L$ COUNT 10 1160 GET #1,P$ COUNT 10 1170 POSIT #1,(Z-1)*20+1 1180 PUT #1,L$ 1190 PUT #1,P$ 1200 POSIT #1,(Z+1)*20+1 1210 NEXT Z 1220 POSIT #1,0 1230 PUT #1,CHR$(L-1) 1240 CLOSE