////////////////////////////////////////////////////////////////////// // V7DataProvider.h: interfaice extent data providers for V7. // Written by Dmitriy Oshchepkov aka DmitrO, mailto: dmitro@russian.ru // Version: 1.0 ////////////////////////////////////////////////////////////////////// #pragma once #include "DataProvider.h" class CV7DataRow { public: virtual const CValue& GetValue(int nIndex) const = 0; static void FormatValue(const CValue& Value, CString& strValue) { if (Value.GetTypeCode() == 1) //NUMBER_TYPE_1C) { if (Value == 0L) strValue.Empty(); else { strValue = Value.Format(); strValue.TrimLeft(' '); } } else strValue = Value.Format(); }; }; class CV7DataProvider { public: virtual CV7DataRow* GetV7DataRow(CDataRow* pDataRow) const = 0; //to avoid dynamic cast for each row virtual void GetRowValue(CDataRow* pDataRow, CValue& value) const {}; virtual CDataRow* BuildRowByValue(const CValue& value) {return NULL;}; };