//--------------------------------------------------------------------------- #ifndef FileListH #define FileListH //--------------------------------------------------------------------------- #include "BinaryFile.h" template class FileList { public: // constructor FileList(){} // destructor ~FileList(){} // list operations void Open(AnsiString FileName); // open if existing file, create otherwise void Close(); void Insert(LRecord Item); // insert record in order void Search(LRecord &SearchItem); // find first record that is at or after SearchItem void GetCurrent(LRecord &Item); // read current record void GetNext(LRecord &Item); // read next record void GetFirst(LRecord &Item); // read first record void Delete(); // delete current record void ModifyCurrent(LRecord &Item); //rewrite current record bool AtEnd(); // true if current is last record in list. void Pack(); // rewrites list with list order in order. private: int Previous, Current; struct ListInfo { int Head, DeleteList; }; struct ListNode { LRecord item; int Next; }; BinaryFile BF; }; #include "FileList.cpp" #endif