// Borland C++ Builder
// Copyright (c) 1995, 1998 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'AHMTAutoStores.pas' rev: 3.00

#ifndef AHMTAutoStoresHPP
#define AHMTAutoStoresHPP
#include <Controls.hpp>
#include <AHMStandardConst.hpp>
#include <Graphics.hpp>
#include <ComCtrls.hpp>
#include <StdCtrls.hpp>
#include <AHMStdClass.hpp>
#include <Registry.hpp>
#include <IniFiles.hpp>
#include <Dialogs.hpp>
#include <Classes.hpp>
#include <Messages.hpp>
#include <Windows.hpp>
#include <SysUtils.hpp>
#include <SysInit.hpp>
#include <System.hpp>

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

namespace Ahmtautostores
{
//-- type declarations -------------------------------------------------------
enum TAHMStdRootKey { hkeyClassesRoot, hkeyCurrentUser, hkeyLocalMachine, hkeyUsers, hkeyCurrentConfig, 
	hkeyDynData };

enum TAHMStdDatatype { sRegistry, sIniFile };

class DELPHICLASS TAHMStdRegistry;
class PASCALIMPLEMENTATION TAHMStdRegistry : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	TAHMStdRootKey FRootKey;
	System::AnsiString FPath;
	void __fastcall SetPath(const System::AnsiString Value);
	
public:
	__fastcall TAHMStdRegistry(void);
	__fastcall virtual ~TAHMStdRegistry(void);
	
__published:
	__property TAHMStdRootKey Rootkey = {read=FRootKey, write=FRootKey, default=1};
	__property System::AnsiString Path = {read=FPath, write=SetPath};
};

class DELPHICLASS TAHMStdIniFile;
class PASCALIMPLEMENTATION TAHMStdIniFile : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	System::AnsiString FFilename;
	
public:
	__fastcall TAHMStdIniFile(void);
	__fastcall virtual ~TAHMStdIniFile(void);
	
__published:
	__property System::AnsiString IniFilename = {read=FFilename, write=FFilename};
};

class DELPHICLASS TAHMStdDataStore;
class PASCALIMPLEMENTATION TAHMStdDataStore : public Classes::TPersistent 
{
	typedef Classes::TPersistent inherited;
	
private:
	bool FEnabled;
	TAHMStdDatatype FDatatype;
	TAHMStdRegistry* FRegistry;
	TAHMStdIniFile* FIniFile;
	Classes::TNotifyEvent FOnError;
	System::AnsiString FSection;
	System::AnsiString FPassword;
	void __fastcall SetPassword(const System::AnsiString Value);
	
public:
	__fastcall TAHMStdDataStore(void);
	__fastcall virtual ~TAHMStdDataStore(void);
	
__published:
	__property Classes::TNotifyEvent OnError = {read=FOnError, write=FOnError};
	__property bool Enabled = {read=FEnabled, write=FEnabled, default=1};
	__property System::AnsiString Section = {read=FSection, write=FSection};
	__property System::AnsiString Password = {read=FPassword, write=SetPassword};
	__property TAHMStdDatatype Datatype = {read=FDatatype, write=FDatatype, default=0};
	__property TAHMStdRegistry* Registry = {read=FRegistry, write=FRegistry};
	__property TAHMStdIniFile* Inifile = {read=FIniFile, write=FIniFile};
};

class DELPHICLASS TAHMControlStore;
class PASCALIMPLEMENTATION TAHMControlStore : public Classes::TComponent 
{
	typedef Classes::TComponent inherited;
	
private:
	Classes::TNotifyEvent FOnError;
	TAHMStdDataStore* FDataStore;
	
public:
	__fastcall virtual TAHMControlStore(Classes::TComponent* AOwner);
	__fastcall virtual ~TAHMControlStore(void);
	System::AnsiString __fastcall ReadStr(System::AnsiString Key, System::AnsiString Error);
	System::Variant __fastcall ReadVariant(System::AnsiString Key, const System::Variant &Error);
	int __fastcall ReadInt(System::AnsiString Key, int Error);
	bool __fastcall ReadBool(System::AnsiString Key, bool Error);
	Graphics::TColor __fastcall ReadColor(System::AnsiString Key, Graphics::TColor Error);
	System::TDateTime __fastcall ReadTime(System::AnsiString Key, System::TDateTime Error);
	System::TDateTime __fastcall ReadDate(System::AnsiString Key, System::TDateTime Error);
	System::TDateTime __fastcall ReadDateTime(System::AnsiString Key, System::TDateTime Error);
	System::AnsiString __fastcall ReadCrypt(System::AnsiString Key, System::AnsiString Error);
	void __fastcall WriteCrypt(System::AnsiString Key, System::AnsiString Value);
	void __fastcall ReadStrs(Classes::TStringList* &Values);
	void __fastcall WriteTime(System::AnsiString Key, System::TDateTime Value);
	void __fastcall WriteDate(System::AnsiString Key, System::TDateTime Value);
	void __fastcall WriteDateTime(System::AnsiString Key, System::TDateTime Value);
	void __fastcall WriteVariant(System::AnsiString Key, const System::Variant &Value);
	void __fastcall WriteStr(System::AnsiString Key, System::AnsiString Value);
	void __fastcall WriteInt(System::AnsiString Key, int Value);
	void __fastcall WriteColor(System::AnsiString Key, Graphics::TColor Value);
	void __fastcall WriteBool(System::AnsiString Key, bool Value);
	void __fastcall DeleteKey(System::AnsiString Key);
	void __fastcall Erase(void);
	
__published:
	__property Classes::TNotifyEvent OnError = {read=FOnError, write=FOnError};
	__property TAHMStdDataStore* DataStore = {read=FDataStore, write=FDataStore};
};

class DELPHICLASS TAHMStoreEdit;
class PASCALIMPLEMENTATION TAHMStoreEdit : public Stdctrls::TEdit 
{
	typedef Stdctrls::TEdit inherited;
	
private:
	System::AnsiString FStoreKey;
	System::AnsiString FValue;
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	TAHMControlStore* FControlStore;
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	void __fastcall SavetoStore(void);
	
public:
	virtual void __fastcall Loaded(void);
	__fastcall virtual ~TAHMStoreEdit(void);
	DYNAMIC void __fastcall Change(void);
	
__published:
	__property TAHMControlStore* Store = {read=FControlStore, write=FControlStore};
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property System::AnsiString StoreKey = {read=FStoreKey, write=FStoreKey};
public:
	/* TCustomEdit.Create */ __fastcall virtual TAHMStoreEdit(Classes::TComponent* AOwner) : Stdctrls::
		TEdit(AOwner) { }
	
public:
	/* TWinControl.CreateParented */ __fastcall TAHMStoreEdit(HWND ParentWindow) : Stdctrls::TEdit(ParentWindow
		) { }
	
};

class DELPHICLASS TAHMStoreCheckbox;
class PASCALIMPLEMENTATION TAHMStoreCheckbox : public Stdctrls::TCheckBox 
{
	typedef Stdctrls::TCheckBox inherited;
	
private:
	System::AnsiString FStoreKey;
	bool FValue;
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	TAHMControlStore* FControlStore;
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	void __fastcall SavetoStore(void);
	
public:
	virtual void __fastcall Loaded(void);
	__fastcall virtual ~TAHMStoreCheckbox(void);
	DYNAMIC void __fastcall Click(void);
	
__published:
	__property TAHMControlStore* Store = {read=FControlStore, write=FControlStore};
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property System::AnsiString StoreKey = {read=FStoreKey, write=FStoreKey};
public:
	/* TCustomCheckBox.Create */ __fastcall virtual TAHMStoreCheckbox(Classes::TComponent* AOwner) : Stdctrls::
		TCheckBox(AOwner) { }
	
public:
	/* TWinControl.CreateParented */ __fastcall TAHMStoreCheckbox(HWND ParentWindow) : Stdctrls::TCheckBox(
		ParentWindow) { }
	
};

class DELPHICLASS TAHMStoreRadioButton;
class PASCALIMPLEMENTATION TAHMStoreRadioButton : public Stdctrls::TRadioButton 
{
	typedef Stdctrls::TRadioButton inherited;
	
private:
	System::AnsiString FStoreKey;
	bool FValue;
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	TAHMControlStore* FControlStore;
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	void __fastcall SavetoStore(void);
	
public:
	virtual void __fastcall Loaded(void);
	__fastcall virtual ~TAHMStoreRadioButton(void);
	DYNAMIC void __fastcall Click(void);
	
__published:
	__property TAHMControlStore* Store = {read=FControlStore, write=FControlStore};
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property System::AnsiString StoreKey = {read=FStoreKey, write=FStoreKey};
public:
	/* TRadioButton.Create */ __fastcall virtual TAHMStoreRadioButton(Classes::TComponent* AOwner) : Stdctrls::
		TRadioButton(AOwner) { }
	
public:
	/* TWinControl.CreateParented */ __fastcall TAHMStoreRadioButton(HWND ParentWindow) : Stdctrls::TRadioButton(
		ParentWindow) { }
	
};

class DELPHICLASS TAHMStoreCombobox;
class PASCALIMPLEMENTATION TAHMStoreCombobox : public Stdctrls::TComboBox 
{
	typedef Stdctrls::TComboBox inherited;
	
private:
	System::AnsiString FStoreKey;
	System::AnsiString FValue;
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	TAHMControlStore* FControlStore;
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	void __fastcall SavetoStore(void);
	
public:
	virtual void __fastcall Loaded(void);
	__fastcall virtual ~TAHMStoreCombobox(void);
	DYNAMIC void __fastcall Change(void);
	
__published:
	__property ItemIndex ;
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property TAHMControlStore* Store = {read=FControlStore, write=FControlStore};
	__property System::AnsiString StoreKey = {read=FStoreKey, write=FStoreKey};
public:
	/* TCustomComboBox.Create */ __fastcall virtual TAHMStoreCombobox(Classes::TComponent* AOwner) : Stdctrls::
		TComboBox(AOwner) { }
	
public:
	/* TWinControl.CreateParented */ __fastcall TAHMStoreCombobox(HWND ParentWindow) : Stdctrls::TComboBox(
		ParentWindow) { }
	
};

class DELPHICLASS TAHMStoreMemo;
class PASCALIMPLEMENTATION TAHMStoreMemo : public Comctrls::TRichEdit 
{
	typedef Comctrls::TRichEdit inherited;
	
private:
	System::AnsiString FStoreKey;
	System::AnsiString FValue;
	TAHMControlStore* FControlStore;
	Ahmstdclass::TAHMAboutSControlStr FAboutStr;
	
protected:
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	void __fastcall SavetoStore(void);
	
public:
	virtual void __fastcall Loaded(void);
	__fastcall virtual ~TAHMStoreMemo(void);
	DYNAMIC void __fastcall Change(void);
	
__published:
	__property Ahmstdclass::TAHMAboutSControlStr About = {read=FAboutStr, write=FAboutStr};
	__property TAHMControlStore* Store = {read=FControlStore, write=FControlStore};
	__property System::AnsiString StoreKey = {read=FStoreKey, write=FStoreKey};
public:
	/* TCustomRichEdit.Create */ __fastcall virtual TAHMStoreMemo(Classes::TComponent* AOwner) : Comctrls::
		TRichEdit(AOwner) { }
	
public:
	/* TWinControl.CreateParented */ __fastcall TAHMStoreMemo(HWND ParentWindow) : Comctrls::TRichEdit(
		ParentWindow) { }
	
};

//-- var, const, procedure ---------------------------------------------------
extern PACKAGE HKEY AHMStdHKeys[6];

}	/* namespace Ahmtautostores */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Ahmtautostores;
#endif
//-- end unit ----------------------------------------------------------------
#endif	// AHMTAutoStores
