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