// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Pfiblists.pas' rev: 10.00

#ifndef PfiblistsHPP
#define PfiblistsHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Pfiblists
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TCallObject;
class PASCALIMPLEMENTATION TCallObject : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	__fastcall virtual TCallObject(void);
public:
	#pragma option push -w-inl
	/* TObject.Destroy */ inline __fastcall virtual ~TCallObject(void) { }
	#pragma option pop
	
};


typedef TMetaClass* TCallClass;

class DELPHICLASS TObjStringList;
class PASCALIMPLEMENTATION TObjStringList : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	AnsiString operator[](int Index) { return Item[Index]; }
	
private:
	System::TObject* FOwner;
	Classes::TStringList* FList;
	Classes::TList* FHashList;
	bool FUseHash;
	System::TObject* __fastcall GetObject(const int Index);
	int __fastcall GetCount(void);
	AnsiString __fastcall GetItem(const int Index);
	int __fastcall HashFunc(char * Str);
	bool __fastcall FindInHash(const AnsiString Search, int &Hash, int &Index);
	
public:
	__fastcall TObjStringList(System::TObject* Owner, bool aUseHash);
	__fastcall virtual ~TObjStringList(void);
	void __fastcall FullClear(void);
	int __fastcall FindObject(const AnsiString ObjName, TMetaClass* ObjClass, bool &InitRes);
	bool __fastcall Find(const AnsiString S, int &Index);
	int __fastcall AddObject(const AnsiString S, System::TObject* AObject);
	void __fastcall Remove(const AnsiString S);
	void __fastcall Delete(int Index);
	__property System::TObject* Objects[int Index] = {read=GetObject};
	__property int Count = {read=GetCount, nodefault};
	__property AnsiString Item[int Index] = {read=GetItem/*, default*/};
	__property bool UseHash = {read=FUseHash, nodefault};
};


class DELPHICLASS TSortedList;
class PASCALIMPLEMENTATION TSortedList : public System::TObject 
{
	typedef System::TObject inherited;
	
public:
	int operator[](int Index) { return Item[Index]; }
	
private:
	Classes::TList* FList;
	int FTag;
	int __fastcall GetItem(const int Index);
	int __fastcall GetCount(void);
	
public:
	__fastcall TSortedList(void);
	__fastcall virtual ~TSortedList(void);
	void __fastcall IncValuesDiapazon(int FromValue, int ToValue, int Distance);
	void __fastcall IncValues(int FromValue, int Distance);
	int __fastcall Add(const void *Item);
	bool __fastcall Find(const void *Item, int &Index);
	int __fastcall IndexOf(const void *Item);
	void __fastcall Delete(const int Index);
	void __fastcall Remove(const void *Item);
	void __fastcall Clear(void);
	int __fastcall LastItem(void);
	__property int Item[int Index] = {read=GetItem/*, default*/};
	__property int Count = {read=GetCount, nodefault};
	__property int Tag = {read=FTag, write=FTag, nodefault};
};


typedef DynamicArray<AnsiString >  pFIBLists__5;

typedef DynamicArray<DynamicArray<AnsiString > >  pFIBLists__6;

class DELPHICLASS TStringCollection;
class PASCALIMPLEMENTATION TStringCollection : public System::TObject 
{
	typedef System::TObject inherited;
	
private:
	DynamicArray<DynamicArray<AnsiString > >  FData;
	int FHighBounds;
	int FCount;
	int FCapacity;
	void __fastcall Grow(void);
	void __fastcall SetCapacity(int NewCapacity);
	AnsiString __fastcall GetValue(int X, int Y);
	void __fastcall SetValue(int X, int Y, const AnsiString Value);
	System::PAnsiString __fastcall GetPValue(int X, int Y);
	
public:
	__fastcall TStringCollection(int aHighBounds);
	__fastcall virtual ~TStringCollection(void);
	int __fastcall Add(void);
	void __fastcall Clear(void);
	void __fastcall Insert(int Index);
	void __fastcall Delete(int Index);
	void __fastcall Exchange(int X1, int X2);
	void __fastcall SetPCharValue(int X, int Y, const char * Value, int Len);
	__property System::PAnsiString PValue[int X][int Y] = {read=GetPValue};
	__property AnsiString Value[int X][int Y] = {read=GetValue, write=SetValue/*, default*/};
	__property int HighX = {read=FHighBounds, nodefault};
	__property int CountY = {read=FCount, nodefault};
	__property int Capacity = {read=FCapacity, write=SetCapacity, nodefault};
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Pfiblists */
using namespace Pfiblists;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Pfiblists
