#if !defined(_SMTMEMOFILE_H__INCLUDED_) #define _SMTMEMOFILE_H__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "MemoFile.h" class CSMTMemoFile : public CMemoFile { DECLARE_DYNAMIC(CSMTMemoFile) // Constructors public: CSMTMemoFile(); // Attributes public: SMT_HEAD m_SMTHead; public: ~CSMTMemoFile(); virtual BOOL Open(LPCTSTR lpszName, UINT nOpenFlag); virtual void Close(); virtual UINT GetMemoFileType(); virtual BOOL ReadMemoRecord(DBF_ULONG lOffsetRec, DBF_LONG& nLen, CTDbfString& strMemo); virtual BOOL ReadMemoRecord(DBF_ULONG lOffsetRec, DBF_LONG& nLen, unsigned char** pMemoData); virtual BOOL WriteMemoRecord(DBF_ULONG& lOffsetRec, DBF_LONG& lLenMemo, CTDbfString& strMemo); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: BOOL ReadHeader(); BOOL WriteHeader(); private: DBF_LONG AddMemoRecord(CTDbfString& strMemo); void UpdateMemoRecord(DBF_ULONG lOffsetRec, CTDbfString& strMemo); void DeleteMemoRecord(DBF_ULONG lDelRec, DBF_UINT nDelBlockCnt); BOOL UndeleteMemoRecord(DBF_ULONG& lOffsetRec, CTDbfString& strMemo); }; //{{AFX_INSERT_LOCATION}} #endif // !defined(_MEMOFILE_H__INCLUDED_)