unit
Objects;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 =
class
(TForm)
private
public
end
;
type
TDataTypeID = (DataTypeId_String, DataTypeId_SmallInt, DataTypeId_Integer,
DataTypeId_Word, DataTypeId_Boolean, DataTypeId_Float, DataTypeId_Currency,
DataTypeId_BCD, DataTypeId_FMTBCD, DataTypeId_Date, DataTypeId_Time,
DataTypeId_DateTime, DataTypeId_Timestamp, DataTypeId_Bytes, DataTypeId_Varbytes,
DataTypeId_Blob, DataTypeId_Memo, DataTypeId_Graphic, DataTypeId_FMTMemo,
DataTypeId_FixedChar, DataTypeId_WideString, DataTypeId_LargeInt, DataTypeId_Array,
DataTypeId_FixedWideChar, DataTypeId_WideMemo);
type
TAlignSpec=(AlignSpec_Left, AlignSpec_Right, AlignSpec_Center);
TDomainSpec =
class
(Tobject)
private
FName :
String
;
FDescription :
String
;
FDataTypeId : TDataTypeId;
FLength :
Cardinal
;
FCharLength :
Cardinal
;
FPrecision :
Cardinal
;
FScale :
Cardinal
;
FWidth :
Word
;
FAlignSpec : TAlignSpec;
FShowNull :
Boolean
;
FShowLeadNulls :
Boolean
;
FThousandsSeparator :
Boolean
;
public
property
Name:
String
read FName;
property
Description:
String
read FDescription;
property
DataTypeId: TDataTypeId read FDataTypeId;
property
Length:
Cardinal
read FLength;
property
CharLength:
Cardinal
read FCharLength;
property
Precision:
Cardinal
read FPrecision;
property
Scale:
Cardinal
read FScale;
property
Width:
Word
read FWidth;
property
Align: TAlignSpec read FAlignSpec;
property
ShowNull:
Boolean
read FShowNull;
property
ShowLeadNulls:
Boolean
read FShowLeadNulls;
property
ThousandsSeparator:
Boolean
read FThousandsSeparator;
end
;
TFieldSpec=
class
(Tobject)
private
FPosition :
integer
;
FName :
string
;
FDescription :
string
;
FCan_input :
Boolean
;
FCan_edit :
Boolean
;
FShow_in_grid :
Boolean
;
FShow_in_details :
Boolean
;
FIs_mean :
Boolean
;
FAutocalculated :
Boolean
;
FRequired :
Boolean
;
FTableSpec : TTableSpec;
FDomainSpec : TDomainSpec;
public
property
Position :
integer
read FPosition;
property
Name:
String
read FName;
property
Description:
String
read FDescription;
property
Can_input :
Boolean
read FCan_input;
property
Can_edit :
Boolean
read FCan_edit;
property
Show_in_grid :
Boolean
read FShow_in_grid;
property
Show_in_details :
Boolean
read FShow_in_details;
property
Is_mean :
Boolean
read FIs_mean;
property
Autocalculated :
Boolean
read FAutocalculated;
property
Required :
Boolean
read FRequired;
property
TableSpec : TTableSpec read FTableSpec;
property
DomainSpec : TDomainSpec read FDomainSpec;
end
;
TTableSpec=
class
(Tobject)
private
FName :
string
;
FDescription :
string
;
FCan_add :
Boolean
;
FCan_edit :
Boolean
;
FCan_delete :
Boolean
;
FFields :
array
[
1..100
]
of
TFieldSpec;
public
property
Name:
String
read FName;
property
Description:
String
read FDescription;
property
Can_add :
Boolean
read FCan_add;
property
Can_edit :
Boolean
read FCan_edit;
property
Can_delete :
Boolean
read FCan_delete;
property
Fields :
array
read FFields;
end
;
var
Form1: TForm1;
implementation
{$R *.dfm}
end
.