Category : C++ Source Code
Archive   : BCEXAMP.ZIP
Filename : FILEDATA.H

 
Output of file : FILEDATA.H contained in archive : BCEXAMP.ZIP
// Borland C++ - (C) Copyright 1991 by Borland International

// Contents ----------------------------------------------------------------
//
// fileDataClass
// filesByNameClass
// filesByDateClass
// filesBySizeClass
//
// FileData
//
// FilesByName
// FilesByName::isEqual
// FilesByName::isLessThan
//
// FilesByDate
// FilesByDate::isEqual
// FilesByDate::isLessThan
//
// FilesBySize
// FilesBySize::isEqual
// FilesBySize::isLessThan
//
// Description
//
// Defines file data classes. These classes are used by DIRECTRY.CPP,
// which is part of the directory listing example program for the
// Turbo C++ class library.
//
// End ---------------------------------------------------------------------

// Interface Dependencies ---------------------------------------------------

#ifndef __FILEDATA_H
#define __FILEDATA_H

#ifndef __DIR_H
#include
#define __DIR_H
#endif

#ifndef __CLSDEFS_H
#include
#endif

#ifndef __SORTABLE_H
#include
#endif

#ifndef __STRNG_H
#include
#endif

#ifndef __LDATE_H
#include
#endif

#ifndef __LTIME_H
#include
#endif

// End Interface Dependencies ------------------------------------------------


// Macro //

// Summary -----------------------------------------------------------------
//
// Defines a values for the file classes. We start from the first
// available user class number. The class numbers are defined
// in CLSDEFS.H, in the class library INCLUDE directory.
//
// End ---------------------------------------------------------------------

#define fileDataClass __firstUserClass
#define filesByNameClass (fileDataClass+1)
#define filesByDateClass (filesByNameClass+1)
#define filesBySizeClass (filesByDateClass+1)

// Class //

class FileData: public Sortable
{
public:
FileData( ffblk& );
virtual classType isA() const { return fileDataClass; }
virtual char *nameOf() const { return "FileData"; }
virtual int isEqual( const Object& ) const = 0;
virtual int isLessThan( const Object& ) const = 0;
virtual hashValueType hashValue() const { return 0; }
virtual void printOn( ostream& ) const;
protected:
String fileName;
Date fileDate;
Time fileTime;
long fileSize;
};

// Description -------------------------------------------------------------
//
// Defines a base file class. Class FileData is derived from the
// class Sortable, which is part of the class library.
//
// Constructor
//
// FileData
//
// Constructs a FileData object from the DOS file block.
//
// Public Members
//
// isA
//
// Returns the class type of FileData.
//
// nameOf
//
// Returns a pointer to the character string "FileData."
//
// isEqual
//
// Determines whether two file data objects are equal.
// Redeclared as pure virtual.
//
// isLessThan
// Determines whether one file data object is less than another.
// Redeclared as pure virtual.
//
// hashValue
//
// Returns a pre-defined hash value for a FileData object.
//
// printOn
//
// Prints the contents of a file data object.
//
// End ---------------------------------------------------------------------


// Class //

class FilesByName: public FileData
{
public:
FilesByName( ffblk& blk ) : FileData( blk ) {}
virtual classType isA() const { return filesByNameClass; }
virtual char *nameOf() const { return "FilesByName"; }
virtual int isEqual( const Object& ) const;
virtual int isLessThan( const Object& ) const;
};

// Description -------------------------------------------------------------
//
// Defines a file class which is sorted by name. Class FilesByName
// is derived from the class FileData, which is a user-defined
// base class.
//
// Constructor
//
// FilesByName
//
// Constructs a FilesByName object from the DOS file block.
//
// Public Members
//
// isA
//
// Returns the class type of FilesByName.
//
// nameOf
//
// Returns a pointer to the character string "FilesByName."
//
// isEqual
//
// Determines whether two file data objects are equal.
//
// isLessThan
// Determines whether one file data object is less than another.
//
// Inherited Members
//
// hashValue
//
// Inherited from FileData.
//
// printOn
//
// Inherited from FileData.
//
// End ---------------------------------------------------------------------


// Class //

class FilesByDate: public FileData
{
public:
FilesByDate( ffblk& blk ) : FileData( blk ) {}
virtual classType isA() const { return filesByDateClass; }
virtual char *nameOf() const { return "FilesByDate"; }
virtual isEqual( const Object& ) const;
virtual isLessThan( const Object& ) const;
};

// Description -------------------------------------------------------------
//
// Defines a file class which is sorted by date. Class FilesByDate
// is derived from the class FileData, which is a user-defined
// base class.
//
// Constructor
//
// FilesByDate
//
// Constructs a FilesByDate object from the DOS file block.
//
// Public Members
//
// isA
//
// Returns the class type of FilesByDate.
//
// nameOf
//
// Returns a pointer to the character string "FilesByDate."
//
// isEqual
//
// Determines whether two file data objects are equal.
//
// isLessThan
// Determines whether one file data object is less than another.
//
// Inherited Members
//
// hashValue
//
// Inherited from FileData.
//
// printOn
//
// Inherited from FileData.
//
// End ---------------------------------------------------------------------


// Class //

class FilesBySize: public FileData
{
public:
FilesBySize( ffblk& blk ) : FileData( blk ) {}
virtual classType isA() const { return filesBySizeClass; }
virtual char *nameOf() const { return "FilesBySize"; }
virtual isEqual( const Object& ) const;
virtual isLessThan( const Object& ) const;
};

// Description -------------------------------------------------------------
//
// Defines a file class which is sorted by size. Class FilesBySize
// is derived from the class FileData, which is a user-defined
// base class.
//
// Constructor
//
// FilesBySize
//
// Constructs a FilesBySize object from the DOS file block.
//
// Public Members
//
// isA
//
// Returns the class type of FilesBySize.
//
// nameOf
//
// Returns a pointer to the character string "FilesBySize."
//
// isEqual
//
// Determines whether two file data objects are equal.
//
// isLessThan
// Determines whether one file data object is less than another.
//
// Inherited Members
//
// hashValue
//
// Inherited from FileData.
//
// printOn
//
// Inherited from FileData.
//
// End ---------------------------------------------------------------------

#endif // __FILEDATA_H //


  3 Responses to “Category : C++ Source Code
Archive   : BCEXAMP.ZIP
Filename : FILEDATA.H

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/