home *** CD-ROM | disk | FTP | other *** search
- PROGRAM TP4Dir;
- USES
- DOS;
- VAR
- Path : STRING;
- SRec : SearchRec;
- PROCEDURE PutLead(I:INTEGER);
- BEGIN
- IF (I>=10) THEN
- WRITE(I:2)
- ELSE
- WRITE('0',I:1)
- END;{of PutLead}
- PROCEDURE PutDateTime(Dt:DateTime);
- VAR
- H : INTEGER;
- Ch : CHAR;
- BEGIN
- WITH Dt DO
- BEGIN
- WRITE(Month:2,'-');
- PutLead(Day);
- WRITE(' ');
- IF (Hour>=12) THEN
- Ch:='p'
- ELSE
- Ch:='a';
- H := Hour MOD 12;
- IF (H=0) THEN
- H := 12;
- WRITE(H:2,':');
- PutLead(Min);
- WRITE(Ch);
- END;{of WITH}
- END;{of PutDateTime}
- PROCEDURE PutName(Name:STRING);
- VAR
- DotPos : INTEGER;
- Ext : STRING[3];
- BEGIN
- DotPos := Pos('.',Name);
- IF (DotPos<>0) THEN
- BEGIN
- Ext := Copy(Name,DotPos+1,Length(Name)-DotPos);
- Delete(Name,DotPos,1+Length(Name)-DotPos)
- END{of IF}
- ELSE
- Ext:='';
- WRITE(Name,' ':(10-Length(Name)),Ext,' ':(5-Length(Ext)))
- END;{of PutName}
- PROCEDURE PutSRec(SRec:SearchRec);
- VAR
- Dt : DateTime;
- BEGIN
- WITH SRec DO
- BEGIN
- PutName(Name);
- IF ((Attr AND Directory)<>0) THEN
- WRITE(' <DIR>')
- ELSE
- BEGIN
- WRITE(Size:10,' ');
- UnpackTime(Time,Dt);
- PutDateTime(Dt);
- END;{of IF}
- WRITELN;
- END{of WITH}
- END;{of PutSRec}
- BEGIN
- REPEAT
- WRITE('Enter Path:');
- READLN(Path);
- IF (Path<>'') THEN
- BEGIN
- FindFirst(Path,AnyFile,SRec);
- WHILE (DosError=0) DO
- BEGIN
- PutSRec(SRec);
- FindNext(SRec)
- END;{of WHILE}
- WRITELN
- END;{of IF}
- UNTIL Path=''
- END.