📄 groupitems.h
字号:
#pragma once
/*
In order to use this class , your class shall have following functions include;
Copy construction : for example
CDbConnectionItem( const CDbConnectionItem & conn);
Assign operator
CDbConnectionItem& operator = ( const CDbConnectionItem& item);
A function to find it is me
BOOL ItIsMe ( TI code );
Write XML file function
BOOL WriteToResult ( CXMLResult & rst);
Reas XML fiel function
BOOL ReadFromResult (int i , CXMLResult &rst);
};
*/
template < class T, class TI>
class CGroupItems
{
long m_Max;
public:
CGroupItems(){m_Max = 0;};
~CGroupItems(){};
protected:
CArray<T,T&> m_Items;
public:
virtual BOOL ReadFromResult ( CXMLResult & rst)
{
long num= 0 ;
if(!rst.GetRecordNum (num))
return FALSE;
for ( long l = 0 ; l < num ; l ++ )
{
T temp;
if (!temp.ReadFromResult (l,rst))
return FALSE;
m_Items.Add(temp);
}
return TRUE;
}
virtual BOOL WriteToResult ( CXMLResult &rst)
{
for ( int i = 0 ; i < m_Items.GetSize(); i++)
{
if (!m_Items[i].WriteToResult (rst))
return FALSE;
}
return TRUE;
}
BOOL InitFromFile ( const CString &filename)
{
CXMLResult result;
if (!result.LoadFromFile (filename))
return FALSE;
return ReadFromResult(result);
}
BOOL InitFromString( const CString & strRst)
{
CXMLResult result;
if (!result.LoadFromString (strRst))
return FALSE;
return ReadFromResult(result);
}
BOOL SaveToFile ( const CString & file)
{
CXMLResult result;
result.InitCmd();
return WriteToResult(result);
}
T GetItem ( long i )
{
if ( i >= 0 && i < m_Items.GetSize())
return m_Items[i];
return T();
}
T operator[](long i )
{
return GetItem(i);
}
virtual void AddItem ( T& item)
{
m_Items.Add( item);
m_Max ++;
}
virtual int Find (const TI& code )
{
for ( int i = 0 ; i < m_Items.GetSize(); i++)
{
if (m_Items[i].ItIsMe(code ))
return i;
}
return -1;
}
long GetNewCode ()
{
return m_Max+1;
}
long GetItemCount() const
{
return (long)m_Items.GetSize ();
}
virtual bool DeleteItem( long index)
{
m_Items.RemoveAt (index);
return true;
}
virtual bool ModifyItem (int index, T& item)
{
m_Items[index] = item;
return true;
}
virtual bool Clear()
{
m_Items.RemoveAll ();
m_Max = -1;
return true;
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -