1 #ifndef _RAR_STRLIST_
2 #define _RAR_STRLIST_
3 
4 class StringList
5 {
6   private:
7     Array<wchar> StringData;
8     size_t CurPos;
9 
10     size_t StringsCount;
11 
12     size_t SaveCurPos[16],SavePosNumber;
13   public:
14     StringList();
15     void Reset();
16     void AddStringA(const char *Str);
17     void AddString(const wchar *Str);
18     bool GetStringA(char *Str,size_t MaxLength);
19     bool GetString(wchar *Str,size_t MaxLength);
20     bool GetString(wchar *Str,size_t MaxLength,int StringNum);
21     wchar* GetString();
22     bool GetString(wchar **Str);
23     void Rewind();
ItemsCount()24     size_t ItemsCount() {return StringsCount;};
GetCharCount()25     size_t GetCharCount() {return StringData.Size();}
26     bool Search(const wchar *Str,bool CaseSensitive);
27     void SavePosition();
28     void RestorePosition();
29 };
30 
31 #endif
32