unit ULPRObju;
{ Generated by MakeComp 1.03 from ULPRTYPE.PAS. Don't modify manually !!! }
interface
uses Classes, SysUtils, Graphics, UlanType, ULRecTyp, ULObju, 
  ULPRType;

type
  TULPRObj = class(TULObj)
  protected
    function GetX1: TXValue;
    procedure SetX1(AX1: TXValue);
    function GetY1: TYValue;
    procedure SetY1(AY1: TYValue);
    function GetIndex1: TPointCount;
    procedure SetIndex1(AIndex1: TPointCount);
    function GetX2: TXValue;
    procedure SetX2(AX2: TXValue);
    function GetY2: TYValue;
    procedure SetY2(AY2: TYValue);
    function GetIndex2: TPointCount;
    procedure SetIndex2(AIndex2: TPointCount);
    function GetX: TXValue;
    procedure SetX(AX: TXValue);
    function GetWidth: TXValue;
    procedure SetWidth(AWidth: TXValue);
    function GetHeight: TYValue;
    procedure SetHeight(AHeight: TYValue);
    function GetAreaSize: TAreaSize;
    procedure SetAreaSize(AAreaSize: TAreaSize);
    function GetRatio: TRatio;
    procedure SetRatio(ARatio: TRatio);
    function GetPeakName: TPeakName;
    procedure SetPeakName(APeakName: TPeakName);
    function GetAmount: TCompoundAmount;
    procedure SetAmount(AAmount: TCompoundAmount);
    function GetUsrPeakCoef: TUsrPeakCoef;
    procedure SetUsrPeakCoef(AUsrPeakCoef: TUsrPeakCoef);
    function GetBaseY1: TYValue;
    procedure SetBaseY1(ABaseY1: TYValue);
    function GetBaseY2: TYValue;
    procedure SetBaseY2(ABaseY2: TYValue);
    function GetGroupName: TPeakGroupName;
    procedure SetGroupName(AGroupName: TPeakGroupName);
    function GetWindow: TXValue;
    procedure SetWindow(AWindow: TXValue);
    function GetResponse: TResponse;
    procedure SetResponse(AResponse: TResponse);
    function GetInternalStandard: boolean;
    procedure SetInternalStandard(AInternalStandard: boolean);
    function GetDataName: string;
    procedure SetDataName(ADataName: string);
    function GetMinRecLen: TULRecLen; override;
  public
    constructor Create(AOwner:TULObj);
    function GetULRecDesc: PULRecDesc; override;
    function GetSortNum: extended; override;
  published
    property X1: TXValue
      read GetX1 write SetX1;
    property Y1: TYValue
      read GetY1 write SetY1;
    property Index1: TPointCount
      read GetIndex1 write SetIndex1;
    property X2: TXValue
      read GetX2 write SetX2;
    property Y2: TYValue
      read GetY2 write SetY2;
    property Index2: TPointCount
      read GetIndex2 write SetIndex2;
    property X: TXValue
      read GetX write SetX;
    property Width: TXValue
      read GetWidth write SetWidth;
    property Height: TYValue
      read GetHeight write SetHeight;
    property AreaSize: TAreaSize
      read GetAreaSize write SetAreaSize;
    property Ratio: TRatio
      read GetRatio write SetRatio;
    property PeakName: TPeakName
      read GetPeakName write SetPeakName;
    property Amount: TCompoundAmount
      read GetAmount write SetAmount;
    property UsrPeakCoef: TUsrPeakCoef
      read GetUsrPeakCoef write SetUsrPeakCoef;
    property BaseY1: TYValue
      read GetBaseY1 write SetBaseY1;
    property BaseY2: TYValue
      read GetBaseY2 write SetBaseY2;
    property GroupName: TPeakGroupName
      read GetGroupName write SetGroupName;
    property Window: TXValue
      read GetWindow write SetWindow;
    property Response: TResponse
      read GetResponse write SetResponse;
    property InternalStandard: boolean
      read GetInternalStandard write SetInternalStandard;
    property DataName: string
      read GetDataName write SetDataName;
  end;

const
  ULPRFldDescs: array[0..20] of TULFldDesc = (
    (
     Caption: 'X1 [min]';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 60.00;
     NumDec: 2;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'X1';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TXValue';
    ),
    (
     Caption: 'Y1 [AU]';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Y1';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TYValue';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Index1';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TPointCount';
    ),
    (
     Caption: 'X2 [min]';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 60.00;
     NumDec: 2;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'X2';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TXValue';
    ),
    (
     Caption: 'Y2 [AU]';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Y2';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TYValue';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Index2';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TPointCount';
    ),
    (
     Caption: 'X [min]';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 60.00;
     NumDec: 2;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'X';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TXValue';
    ),
    (
     Caption: 'Width [min]';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 60.00;
     NumDec: 2;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Width';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TXValue';
    ),
    (
     Caption: 'Height [AU]';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Height';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TYValue';
    ),
    (
     Caption: 'Area';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'AreaSize';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TAreaSize';
    ),
    (
     Caption: 'Content [%]';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.01;
     NumDec: 2;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Ratio';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TRatio';
    ),
    (
     Caption: 'Name';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'PeakName';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TPeakName';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Amount';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TCompoundAmount';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'UsrPeakCoef';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TUsrPeakCoef';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'BaseY1';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TYValue';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'BaseY2';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TYValue';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'GroupName';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TPeakGroupName';
    ),
    (
     Caption: 'Window [min]';
     Hint: 'In what interval the peaks are considered to be the same';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 60.00;
     NumDec: 2;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Window';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TXValue';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Response';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TResponse';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'InternalStandard';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'boolean';
    ),
    (
     Caption: 'Data name';
     Hint: 'In what data line the peak should be located (e.g.: B for blue line in AAA)';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'DataName';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'string';
    )
  );

  ULPRRecDesc: TULRecDesc = (
    Caption: 'Peak';
    ChildRecIDsStr: '';
    ChildRecIDs: nil;
    ChildRecIDCount: 0;
    FldCount: 21;
    Flds: @ULPRFldDescs;
    Flags: rfEnabled OR rfVisible OR rfSortedByNumber;
    SortExp: 'X';
    EditFieldList: 'PeakName,GroupName,Window,UsrPeakCoef,X,Width,AreaSize,Ratio,Amount,Response,InternalStandard,DataName';
    BrowseFieldList: 'X,PeakName,AreaSize,UsrPeakCoef,Response,Amount,Window,InternalStandard,DataName';
    MenuFieldList: '';
    BrowseChildRecIDs: '';
    NameProp: '';
    MainProp: '';
    DefDir: '';
    OpenFilter: '';
    SaveFilter: '';
    Table: '';
    Indexes: ''
   );

implementation

{TULPRObj}
function TULPRObj.GetMinRecLen: TULRecLen;
begin
  GetMinRecLen := sizeof(TULPRRec);
end;

constructor TULPRObj.Create(AOwner: TULObj);
begin
  inherited Create(TComponent(AOwner), ULPRID);
  Window := 10;
end;

function TULPRObj.GetULRecDesc: PULRecDesc;
begin
  Result := @ULPRRecDesc;
end;

function TULPRObj.GetSortNum: Extended;
begin
  Result := X;
end;
procedure TULPRObj.SetX1(AX1: TXValue);
begin
  if PULPRRec(Rec)^.X1 <> AX1 then begin
    PULPRRec(Rec)^.X1 := AX1;
    if ULPRFldDescs[0].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetX1: TXValue;
begin
  GetX1 := PULPRRec(Rec)^.X1;
end;

procedure TULPRObj.SetY1(AY1: TYValue);
begin
  if PULPRRec(Rec)^.Y1 <> AY1 then begin
    PULPRRec(Rec)^.Y1 := AY1;
    if ULPRFldDescs[1].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetY1: TYValue;
begin
  GetY1 := PULPRRec(Rec)^.Y1;
end;

procedure TULPRObj.SetIndex1(AIndex1: TPointCount);
begin
  if PULPRRec(Rec)^.Index1 <> AIndex1 then begin
    PULPRRec(Rec)^.Index1 := AIndex1;
    if ULPRFldDescs[2].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetIndex1: TPointCount;
begin
  GetIndex1 := PULPRRec(Rec)^.Index1;
end;

procedure TULPRObj.SetX2(AX2: TXValue);
begin
  if PULPRRec(Rec)^.X2 <> AX2 then begin
    PULPRRec(Rec)^.X2 := AX2;
    if ULPRFldDescs[3].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetX2: TXValue;
begin
  GetX2 := PULPRRec(Rec)^.X2;
end;

procedure TULPRObj.SetY2(AY2: TYValue);
begin
  if PULPRRec(Rec)^.Y2 <> AY2 then begin
    PULPRRec(Rec)^.Y2 := AY2;
    if ULPRFldDescs[4].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetY2: TYValue;
begin
  GetY2 := PULPRRec(Rec)^.Y2;
end;

procedure TULPRObj.SetIndex2(AIndex2: TPointCount);
begin
  if PULPRRec(Rec)^.Index2 <> AIndex2 then begin
    PULPRRec(Rec)^.Index2 := AIndex2;
    if ULPRFldDescs[5].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetIndex2: TPointCount;
begin
  GetIndex2 := PULPRRec(Rec)^.Index2;
end;

procedure TULPRObj.SetX(AX: TXValue);
begin
  if PULPRRec(Rec)^.X <> AX then begin
    PULPRRec(Rec)^.X := AX;
    if ULPRFldDescs[6].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetX: TXValue;
begin
  GetX := PULPRRec(Rec)^.X;
end;

procedure TULPRObj.SetWidth(AWidth: TXValue);
begin
  if PULPRRec(Rec)^.Width <> AWidth then begin
    PULPRRec(Rec)^.Width := AWidth;
    if ULPRFldDescs[7].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetWidth: TXValue;
begin
  GetWidth := PULPRRec(Rec)^.Width;
end;

procedure TULPRObj.SetHeight(AHeight: TYValue);
begin
  if PULPRRec(Rec)^.Height <> AHeight then begin
    PULPRRec(Rec)^.Height := AHeight;
    if ULPRFldDescs[8].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetHeight: TYValue;
begin
  GetHeight := PULPRRec(Rec)^.Height;
end;

procedure TULPRObj.SetAreaSize(AAreaSize: TAreaSize);
begin
  if PULPRRec(Rec)^.AreaSize <> AAreaSize then begin
    PULPRRec(Rec)^.AreaSize := AAreaSize;
    if ULPRFldDescs[9].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetAreaSize: TAreaSize;
begin
  GetAreaSize := PULPRRec(Rec)^.AreaSize;
end;

procedure TULPRObj.SetRatio(ARatio: TRatio);
begin
  if PULPRRec(Rec)^.Ratio <> ARatio then begin
    PULPRRec(Rec)^.Ratio := ARatio;
    if ULPRFldDescs[10].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetRatio: TRatio;
begin
  GetRatio := PULPRRec(Rec)^.Ratio;
end;

procedure TULPRObj.SetPeakName(APeakName: TPeakName);
begin
  if PULPRRec(Rec)^.PeakName <> APeakName then begin
    PULPRRec(Rec)^.PeakName := APeakName;
    if ULPRFldDescs[11].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetPeakName: TPeakName;
begin
  GetPeakName := PULPRRec(Rec)^.PeakName;
end;

procedure TULPRObj.SetAmount(AAmount: TCompoundAmount);
begin
  if PULPRRec(Rec)^.Amount <> AAmount then begin
    PULPRRec(Rec)^.Amount := AAmount;
    if ULPRFldDescs[12].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetAmount: TCompoundAmount;
begin
  GetAmount := PULPRRec(Rec)^.Amount;
end;

procedure TULPRObj.SetUsrPeakCoef(AUsrPeakCoef: TUsrPeakCoef);
begin
  if PULPRRec(Rec)^.UsrPeakCoef <> AUsrPeakCoef then begin
    PULPRRec(Rec)^.UsrPeakCoef := AUsrPeakCoef;
    if ULPRFldDescs[13].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetUsrPeakCoef: TUsrPeakCoef;
begin
  GetUsrPeakCoef := PULPRRec(Rec)^.UsrPeakCoef;
end;

procedure TULPRObj.SetBaseY1(ABaseY1: TYValue);
begin
  if PULPRRec(Rec)^.BaseY1 <> ABaseY1 then begin
    PULPRRec(Rec)^.BaseY1 := ABaseY1;
    if ULPRFldDescs[14].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetBaseY1: TYValue;
begin
  GetBaseY1 := PULPRRec(Rec)^.BaseY1;
end;

procedure TULPRObj.SetBaseY2(ABaseY2: TYValue);
begin
  if PULPRRec(Rec)^.BaseY2 <> ABaseY2 then begin
    PULPRRec(Rec)^.BaseY2 := ABaseY2;
    if ULPRFldDescs[15].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetBaseY2: TYValue;
begin
  GetBaseY2 := PULPRRec(Rec)^.BaseY2;
end;

procedure TULPRObj.SetGroupName(AGroupName: TPeakGroupName);
begin
  if PULPRRec(Rec)^.GroupName <> AGroupName then begin
    PULPRRec(Rec)^.GroupName := AGroupName;
    if ULPRFldDescs[16].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetGroupName: TPeakGroupName;
begin
  GetGroupName := PULPRRec(Rec)^.GroupName;
end;

procedure TULPRObj.SetWindow(AWindow: TXValue);
begin
  if PULPRRec(Rec)^.Window <> AWindow then begin
    PULPRRec(Rec)^.Window := AWindow;
    if ULPRFldDescs[17].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetWindow: TXValue;
begin
  GetWindow := PULPRRec(Rec)^.Window;
end;

procedure TULPRObj.SetResponse(AResponse: TResponse);
begin
  if PULPRRec(Rec)^.Response <> AResponse then begin
    PULPRRec(Rec)^.Response := AResponse;
    if ULPRFldDescs[18].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetResponse: TResponse;
begin
  GetResponse := PULPRRec(Rec)^.Response;
end;

procedure TULPRObj.SetInternalStandard(AInternalStandard: boolean);
begin
  if PULPRRec(Rec)^.InternalStandard <> AInternalStandard then begin
    PULPRRec(Rec)^.InternalStandard := AInternalStandard;
    if ULPRFldDescs[19].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetInternalStandard: boolean;
begin
  GetInternalStandard := PULPRRec(Rec)^.InternalStandard;
end;

procedure TULPRObj.SetDataName(ADataName: string);
begin
  if PULPRRec(Rec)^.DataName <> ADataName then begin
    PULPRRec(Rec)^.DataName := ADataName;
    if ULPRFldDescs[20].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULPRObj.GetDataName: string;
begin
  GetDataName := PULPRRec(Rec)^.DataName;
end;

{/TULPRObj}

end.
