
Const Property_DB_GET = 1
Const Property_DB_SET = 2

Const Property_DB_PEEK = 1
Const Property_DB_POKE = 2

Const Property_DB_POP = 4
Const Property_DB_CLR = 8

Const Property_DB_EXT = ".Property"

Dim Shared as longint DBDebugEnabled = ZERO

Type Property_DB_Type
	As Long Iterator
	As String Label, Value
	As FB.Image Ptr Image
End Type

Dim Shared As Property_DB_Type Bogus, Report

With Bogus
	.Iterator = -1
	.Label = EMPTY
	.Value = EMPTY
	.Image = 0
End With

Report = Bogus

Dim Shared As String Property_Text_Buffer
Property_Text_Buffer = EMPTY

Declare Function Property_Get ( Property_DB ( Any ) As Property_DB_Type, Label As String = EMPTY ) As Property_DB_Type

Declare Function Property_Set ( Property_DB ( Any ) As Property_DB_Type, Label As String = EMPTY, Value As String = EMPTY ) As Property_DB_Type

Declare Sub Property_Inc_Capacity ( Property_DB ( Any ) As Property_DB_Type, Counter As Long = 1 )

Declare Function Property_DB_CRLF_Buffer ( ByRef Buffer As String = EMPTY ) As String

Declare Sub Property_Digest_Word ( Property_DB ( Any ) As Property_DB_Type, ByRef Buffer As String = EMPTY )

Declare Sub Property_Show_Array_Direct ( Property_DB ( Any ) As Property_DB_Type )

Declare Sub Property_Show_Array_Bounds ( Property_DB ( Any ) As Property_DB_Type )

Declare Sub Property_Show_Array ( Property_DB ( Any ) As Property_DB_Type, ByRef Buff As String = EMPTY, ByRef Image As FB.Image Ptr = 0 )

Declare Sub Property_Bubble_Sort ( Property_DB ( Any ) As Property_DB_Type )

Declare Function Property_Binary_Find ( Property_DB ( Any ) As Property_DB_Type, sName As String = EMPTY, ByRef WhereToAdd As Long = 0 ) As Long

Declare Function Property_Database_Query ( Property_DB ( Any ) As Property_DB_Type, sName As String = EMPTY ) As Property_DB_Type

Declare Function Property_Database_Set Overload ( Property_DB ( Any ) As Property_DB_Type, sName As String = EMPTY, sValue As String = EMPTY ) As Long

Declare Function Property_Database_Set Overload ( Property_DB ( Any ) As Property_DB_Type , sName As String = EMPTY , sValue As LongInt = 0 ) As Long

Declare Function Property_Database_Set Overload ( Property_DB ( Any ) As Property_DB_Type , sName As String = EMPTY , sValue As FB.Image Ptr ) As Long

Declare Function Property_Database_Delete ( Property_DB ( Any ) As Property_DB_Type, sName As String = EMPTY ) As Long

	Declare Sub Property_Database_Save ( Property_DB ( Any ) As Property_DB_Type, Filename As String = EMPTY )

	Declare Sub Property_Database_Load ( Property_DB ( Any ) As Property_DB_Type, Filename As String = EMPTY )
	
Declare Function Property_Database_Export ( Property_DB ( Any ) As Property_DB_Type, ByRef Buffer As String = EMPTY ) As String

Declare Sub Property_Database_Import ( Property_DB ( Any ) As Property_DB_Type, ByRef Buffer As String = EMPTY )
	
	Declare Sub Property_Save_Raw_Buffer ( ByRef Buffer As String = EMPTY, Filename As String = EMPTY )

	Declare Sub Property_Load_Raw_Buffer ( ByRef Buffer As String = EMPTY, Filename As String = EMPTY)

Declare Function __Buffer ( ShortPath As String = EMPTY, ShortFilename As String = EMPTY ) As String

Declare Sub __Set_Sleep ( Index As Long = 0, Message As String = EMPTY, Value As String = EMPTY ) 

Declare Function __Direct_Buffer ( FullFilename As String = EMPTY ) As String

Declare Sub Property_Erase ( Property_DB ( Any ) As Property_DB_Type )

#Include Once ".\KSDK\Support\Property Core.bas"
