'=========================================================================== ' Subject: GET DIRECTORY INFORMATION Date: 10-25-99 (18:05) ' Author: Randall L. Glass Code: PB ' Origin: rlglass@yahoo.com Packet: PB.ABC '=========================================================================== '------------------------------------------------------------------------- ' ' GetDirInfo ' BY Randall L Glass ' CopyRight Aug3,1999 ' '--------------------------------------------------------------------------- ' ' Email rlglass@yahoo.com ' Snail Mail RR1,BOX 248,McLeansboro,IL 62859 '--------------------------------------------------------------------------- ' ' This Program is Public Domain(PowerBasic Code) ' ' You Must Call this routine after each DIR$ to get directory infomation ' '---------------------------------------------------------------------------- SUB GetDirInfo(DirDate$,DirTime$,DirSize???,DirAttrib?) PUBLIC LOCAL DirDate??,DirTime??,DirAttr?,Dsize??? ! mov AX, &H2F00 ; function 2Fh, get DTA location ! int &H21 ; call DOS ! MOV AX,ES:[BX + 24] ! MOV DirDate??,AX ! MOV AX,ES:[BX + 22] ! MOV DirTime??,AX ! MOV AX,ES:[BX +26] ! MOV DSize???[0],AX ! MOV AX,ES:[BX +28] ! MOV DSize???[2],AX ! MOV AL,ES:[BX +21] ! MOV DirAttr?,AL DirSize??? = DSize??? DirAttrib? = DirAttr? GetDateAndTime DirDate??,DirTime??,DirDate$,DirTime$ END SUB SUB GetDateAndTime(Filedate??,FileTime??,Filedate$,FileTime$) PUBLIC Year?? = (Filedate?? AND &B1111111000000000):SHIFT RIGHT Year??,9 INCR Year??,1980 Month?? = Filedate?? AND &B0000000111100000:SHIFT RIGHT Month??,5 Day?? = Filedate?? AND &B0000000000011111 Hours?? = FileTime?? AND &B1111100000000000:SHIFT RIGHT Hours??,11 Minutes?? = FileTime?? AND &B0000011111100000:SHIFT RIGHT Minutes??,5 Seconds?? = (FileTime?? AND &B0000000000011111) * 2 Month$ = LTRIM$(STR$(Month??)) Day$ = LTRIM$(STR$(Day??)) IF LEN(Month$) = 1 THEN Month$="0"+Month$ IF LEN(Day$) = 1 THEN Day$ = "0"+Day$ 'IF Hours?? > 12 THEN ' Hours?? = Hours?? -12:AmPm$ = "p & " 'ELSE ' AmPm$ = "a & " 'END IF Hours$ = LTRIM$(STR$(Hours??)) Minutes$ = LTRIM$(STR$(Minutes??)) Seconds$ = LTRIM$(STR$(Seconds??)) IF LEN(Hours$) = 1 THEN Hours$="0"+Hours$ IF LEN(Minutes$) = 1 THEN Minutes$="0"+Minutes$ IF LEN(Seconds$) = 1 THEN Seconds$="0"+Seconds$ Filedate$ = Month$ + "-" + Day$ + "-" + LTRIM$(STR$(Year??)) FileTime$ = Hours$ + ":" + Minutes$ + ":" + Seconds$ 'FileTime$ = Hours$ + ":" + Minutes$ + AmPm$ + Seconds$ +"s" END SUB