095 ! PROGRAM USERSDEL.SYS 100 ! PROGRAM TO DELETE USER FROM PDSUPF DATA FILE 110 DIM #4,DD%(255,31) 120 DIM PS$[6],PX%(2),UC$[9],U1$[3]V,U2$[3]V 130 DIM NA%(4),PW%(2),DV$[4],NB%(4),NM$[12],LN$[72]V 140 ! FORMAT OF PDSUPF RECORD (LENGTH=64 BYTES) 150 ! NAME (8 BYTES) 160 ! UIC (2 BYTES) 170 ! PASSW (4 BYTES, COMPLEMENT OF RAD50) 180 ! BLANK (2 BYTES) 190 ! PRIV (2 BYTES) 200 ! BLANK (22. BYTES) ACCOUNTING INFORMATION WE DON'T USE 210 ! DEVICE (4 BYTES) IN ASCII XXN: 220 ! BLANK (20. BYTES) BATCH PRI,BATCH PW # TASKS, ETC 230 PRINT "USER NAME "; 240 INPUT NM$ 250 FOR I=1 TO 4 260 NB%(I)=AR5(SBS$(NM$,3*I-2,3)) 270 NEXT I 280 OPEN #4,"[1,100]PDSUPF.DAT/FX/BN/LN:64/RN/RO" 290 RE=1 300 INPUT #4@RE,FU%,LU% 310 NU=LU%-FU%+1 320 RE=FU% 330 FOR NK=1 TO NU 340 INPUT #4@RE,NA%(1),NA%(2),NA%(3),NA%(4),UI%,PW%(1),PW%(2),X%,PR%,A%,B%,C%,D%,E%,F%,G%,H%,I%,J%,K%,DV$ 350 FOR IK=1 TO 4 360 IF NA%(IK)<>NB%(IK) GOTO 390 370 NEXT IK 380 GOTO 410 390 RE=RE+1 400 NEXT NK 402 PRINT "USER NOT IN PDS FILE" 404 GOTO 760 410 PRINT CHR$(12);"USER NAME U I C PWD PRIV. DEVICE" 420 PRINT R5A$(NA%(1));R5A$(NA%(2));R5A$(NA%(3));R5A$(NA%(4)); 430 PRINT TAB(14);" "; 440 U=UI% 450 GC=INT(U/256) 460 PC=INT(U-256*GC) 470 IF GC<0 THEN GC=GC-OCT("177400") 480 UC$="["+OCT$(GC)+","+OCT$(PC)+"]" 490 PRINT UC$;" "; 500 PX%(1)=-1-PW%(1) 510 PX%(2)=-1-PW%(2) 520 PRINT R5A$(PX%(1));R5A$(PX%(2));TAB(32); 530 PRINT OCT$(PR%);TAB(40);DV$ 540 CLOSE 600 PRINT 680 OPEN #4,"[1,100]PDSUPF.DAT/BL/UP" 685 ! ZERO FIRST WORD OF ACTUAL UPF RECORD 690 DD%(RE-1,0)=0 695 ! COMPUTE AND ZERO 4 WORDS OF NAME TABLE 700 RN%=2+(RE-FU%)/8 705 DF=RE-FU% 710 RO%=4*8*(DF/8-INT(DF/8)) 720 FOR I=1 TO 4 730 DD%(RN%-1,RO%+I-1)=0 735 NEXT I 740 CLOSE 4 750 PRINT "USER DELETED" 760 CLOSE 770 RUN "USERSMENU.SYS"