📄 cnstringlist.cpp
字号:
//---------------------------------------------------------------------------
#pragma hdrstop
#include "CNStringList.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
__fastcall TCNStringList::TCNStringList(void)
{
//TODO: Add your source code here
ItemListHeader = NULL;
Count = 0;
}
__fastcall TCNStringList::~TCNStringList(void)
{
//TODO: Add your source code here
Clear();
}
void __fastcall TCNStringList::Add(TCNString S)
{
//TODO: Add your source code here
ItemList *Item;
Item = new ItemList;
Item->Item = S;
if( Count == 0)
{
ItemListHeader = Item;
ItemListHeader->Pre = ItemListHeader;
ItemListHeader->Next= NULL;
}
else
{
if(ItemListHeader->Pre != NULL)
{
ItemListHeader->Pre->Next = Item;
Item->Pre = ItemListHeader->Pre;
}
Item->Next= NULL;
ItemListHeader->Pre = Item;
}
Count ++;
}
void __fastcall TCNStringList::Clear(void)
{
//TODO: Add your source code here
if( ItemListHeader == NULL) return;
ItemList *p = ItemListHeader->Next;
ItemList *q = ItemListHeader;
ItemListHeader->Pre->Next = NULL;
while( p )
{
delete q;
q = p;
p = p->Next;
}
if( q ) delete q;
Count = 0;
}
void __fastcall TCNStringList::Delete(int Index)
{
//TODO: Add your source code here
ItemList *p = GetItemOfIndex(Index);
if( p == NULL) return;
p->Pre->Next = p->Next;
if( p->Next )
{
p->Next->Pre = p->Pre;
}
else
{
ItemListHeader->Pre = p->Pre;
}
delete p;
Count --;
}
int __fastcall TCNStringList::IndexOf(TCNString S)
{
//TODO: Add your source code here
ItemList *p = ItemListHeader;
for(register i = 0; i < Count && p; i++)
{
if( S == p->Item) return i;
p = p->Next;
}
return -1;
}
TCNString __fastcall TCNStringList::Strings(int idx)
{
ItemList *p = GetItemOfIndex(idx);
if( p )
{
return p->Item;
}
else
{
return "";
}
}
ItemList * __fastcall TCNStringList::GetItemOfIndex(int Index)
{
//TODO: Add your source code here
ItemList *p = ItemListHeader;
if( Index > Count) return NULL;
for(register i = 0; i < Count && p; i++)
{
if( i == Index)
{
return p;
}
p = p->Next;
}
return NULL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -