David G. McDivi #2 / 2
|
 Urgent, need XDIR routine...
' DEFINT A-Z ' DECLARE FUNCTION INSTRL(DUMA$,DUMB$) ' TYPE SEARCH RESERVE AS STRING * 21 ATTR AS STRING * 1 TIME AS INTEGER DATE AS INTEGER SIZE AS LONG NAME AS STRING * 13 END TYPE TYPE REGTYPEX AX AS INTEGER BX AS INTEGER CX AS INTEGER DX AS INTEGER BP AS INTEGER SI AS INTEGER DI AS INTEGER FLAGS AS INTEGER DS AS INTEGER ES AS INTEGER END TYPE ' DECLARE SUB INTERRUPTX(INTNUM AS INTEGER,_ INREG AS REGTYPEX,_ OUTREG AS REGTYPEX) ' SUB DELD(PATH$,DSPL) ' DIM S AS STRING * 255 DIM R AS REGTYPEX DIM X AS REGTYPEX ' DSPS = 0 FC = 0 FH = FC REDIM FD(FH) AS SEARCH DEL$ = PATH$ DCA: X.AX = 47 * 256 CALL INTERRUPTX(33,X,X) R.DS = VARSEG(FD(FC)) R.DX = VARPTR(FD(FC)) R.AX = 26 * 256 CALL INTERRUPTX(33,R,R) S = DEL$ + "\*.*" + CHR$(0) R.DS = VARSEG(S) R.DX = VARPTR(S) R.CX = 255 R.AX = 78 * 256 DCB: CALL INTERRUPTX(33,R,R) X.DS = X.ES X.DX = X.BX X.AX = 26 * 256 CALL INTERRUPTX(33,X,X) IF R.AX = 0 THEN P = INSTR(FD(FC).NAME,CHR$(0)) NAM$ = LEFT$(FD(FC).NAME,P-1) IF NAM$ >< "." AND NAM$ >< ".." THEN NAM$ = DEL$ + "\" + NAM$ IF (ASC(FD(FC).ATTR) AND 16) > 0 THEN FC = FC + 1 IF FC > FH THEN FH = FC REDIM PRESERVE FD(FH) AS SEARCH END IF DEL$ = NAM$ GOTO DCA END IF X.AX = 47 * 256 CALL INTERRUPTX(33,X,X) IF DSPL > 0 THEN IF DSPS = 0 THEN DSPS = 1 CALL PAGEN(1) END IF PRINT NAM$ END IF CALL DELFILE(NAM$) END IF DCC: R.DS = VARSEG(FD(FC)) R.DX = VARPTR(FD(FC)) R.AX = 26 * 256 CALL INTERRUPTX(33,R,R) R.AX = 79 * 256 GOTO DCB END IF IF FC > 0 THEN CALL RMD(DEL$) DEL$ = LEFT$(DEL$,INSTRL(DEL$,"\")-1) FC = FC - 1 GOTO DCC END IF IF DSPS > 0 THEN CALL PAGEP EXIT SUB ' END SUB ' ' UPDATED: 03-10-95 [ID]:DGM3AWB3AWBNEL ' UPDATED: 07-25-95 [ID]:dgmZch1psxkZch ' DEFINT A-Z ' SUB RMD(D$) ' ON LOCAL ERROR GOTO ERRA RMDIR D$ ERRA: EXIT SUB ' END SUB ' ' UPDATED: 03-10-95 [ID]:DGM3AWB3AWBNEs
|