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

// (DO NOT EDIT: machine generated header) 'RpDBTabl.pas' rev: 4.00

#ifndef RpDBTablHPP
#define RpDBTablHPP

#pragma delphiheader begin
#pragma option push -w-
#include <RpTable.hpp>	// Pascal unit
#include <RpBase.hpp>	// Pascal unit
#include <RpDefine.hpp>	// Pascal unit
#include <DBTables.hpp>	// Pascal unit
#include <Db.hpp>	// Pascal unit
#include <Forms.hpp>	// Pascal unit
#include <Dialogs.hpp>	// Pascal unit
#include <Graphics.hpp>	// Pascal unit
#include <TypInfo.hpp>	// Pascal unit
#include <Controls.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <SysUtils.hpp>	// Pascal unit
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

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

namespace Rpdbtabl
{
//-- type declarations -------------------------------------------------------
typedef AnsiString TFieldName;

class DELPHICLASS TDBTableColumn;
#pragma pack(push, 4)
class PASCALIMPLEMENTATION TDBTableColumn : public Rptable::TTableColumn 
{
	typedef Rptable::TTableColumn inherited;
	
protected:
	AnsiString FFieldName;
	Db::TDataSet* FLookupDataSet;
	AnsiString FLookupKey;
	AnsiString FLookupDisplay;
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	void __fastcall SetLookupDataSet(Db::TDataSet* Value);
	virtual void __fastcall FillMemoBuf(void);
	
__published:
	__property AnsiString FieldName = {read=FFieldName, write=FFieldName};
	__property Db::TDataSet* LookupDataSet = {read=FLookupDataSet, write=SetLookupDataSet};
	__property AnsiString LookupKey = {read=FLookupKey, write=FLookupKey};
	__property AnsiString LookupDisplay = {read=FLookupDisplay, write=FLookupDisplay};
public:
	#pragma option push -w-inl
	/* TTableColumn.Create */ inline __fastcall virtual TDBTableColumn(Classes::TComponent* AOwner) : Rptable::TTableColumn(
		AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TTableColumn.Destroy */ inline __fastcall virtual ~TDBTableColumn(void) { }
	#pragma option pop
	
};

#pragma pack(pop)

class DELPHICLASS TDBTablePrinter;
#pragma pack(push, 4)
class PASCALIMPLEMENTATION TDBTablePrinter : public Rptable::TTablePrinter 
{
	typedef Rptable::TTablePrinter inherited;
	
protected:
	Db::TDataSet* FDataSet;
	AnsiString FMasterKey;
	AnsiString FDetailKey;
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
		);
	void __fastcall SetDataSet(Db::TDataSet* Value);
	virtual void __fastcall InitMaster(bool &Valid, Rptable::TTablePrinter* Master);
	virtual void __fastcall InitTable(bool &Valid);
	virtual void __fastcall GetNextRow(bool &Valid);
	
public:
	virtual Rptable::TTableColumn* __fastcall CreateColumn(AnsiString Description);
	
__published:
	__property AnsiString MasterKey = {read=FMasterKey, write=FMasterKey};
	__property AnsiString DetailKey = {read=FDetailKey, write=FDetailKey};
	__property Db::TDataSet* DataSet = {read=FDataSet, write=SetDataSet};
public:
	#pragma option push -w-inl
	/* TTablePrinter.Create */ inline __fastcall virtual TDBTablePrinter(Classes::TComponent* AOwner) : 
		Rptable::TTablePrinter(AOwner) { }
	#pragma option pop
	#pragma option push -w-inl
	/* TTablePrinter.Destroy */ inline __fastcall virtual ~TDBTablePrinter(void) { }
	#pragma option pop
	
};

#pragma pack(pop)

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

}	/* namespace Rpdbtabl */
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Rpdbtabl;
#endif
#pragma option pop	// -w-

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