home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c082_144 / 7.ddi / CLASSEXM.ZIP / FILEDATA.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-10  |  1.8 KB  |  71 lines

  1. #ifndef __IOSTREAM_H
  2. #include <iostream.h>
  3. #endif
  4.  
  5. #ifndef __IOMANIP_H
  6. #include <iomanip.h>
  7. #endif
  8.  
  9. #ifndef __DIR_H
  10. #include <dir.h>
  11. #define __DIR_H
  12. #endif
  13.  
  14. #ifndef __FILEDATA_H
  15. #include "filedata.h"
  16. #endif
  17.  
  18. FileData::FileData( ffblk& blk ) :
  19.     fileName( blk.ff_name ),
  20.     fileDate( (blk.ff_fdate >> 5) & 0x000F,
  21.               blk.ff_fdate & 0x0001F,
  22.               (blk.ff_fdate >> 9) + 1980 ),
  23.     fileSize( blk.ff_fsize ),
  24.     fileTime( blk.ff_ftime >> 11,
  25.               (blk.ff_ftime >> 5) & 0x3F,
  26.               blk.ff_ftime & 0x1F )
  27. {
  28. }
  29.  
  30. void FileData::printOn( ostream& outputStream ) const
  31. {
  32.     outputStream << setw( 14 ) << setiosflags( ios::left )   << fileName
  33.                  << setw( 18 ) << fileDate
  34.                  << setw( 17 ) << resetiosflags( ios::left ) << fileTime
  35.                  << setw( 10 ) << fileSize << " bytes";
  36. }
  37.  
  38. int FilesByName::isEqual( const Object& testFile ) const
  39. {
  40.     return fileName == ( (FilesByName&)testFile ).fileName;
  41. }
  42.  
  43. int FilesByName::isLessThan( const Object& testFile ) const
  44. {
  45.     return fileName < ( (FilesByName&)testFile ).fileName;
  46. }
  47.  
  48. int FilesByDate::isEqual( const Object& testFile ) const
  49. {
  50.     return fileDate == ( (FilesByDate&)testFile ).fileDate &&
  51.            fileTime == ( (FilesByDate&)testFile ).fileTime;
  52. }
  53.  
  54. int FilesByDate::isLessThan( const Object& testFile ) const
  55. {
  56.     if( fileDate == ( (FilesByDate&)testFile ).fileDate )
  57.         return fileTime < ( (FilesByDate&)testFile ).fileTime;
  58.     else
  59.         return fileDate < ( (FilesByDate&)testFile ).fileDate;
  60. }
  61.  
  62. int FilesBySize::isEqual( const Object& testFile ) const
  63. {
  64.     return fileSize == ( (FilesBySize&)testFile ).fileSize;
  65. }
  66.  
  67. int FilesBySize::isLessThan( const Object& testFile ) const
  68. {
  69.     return fileSize < ( (FilesBySize&)testFile ).fileSize;
  70. }
  71.