unit ULIObju;
{ Generated by MakeComp 1.03 from ULITYPE.PAS. Don't modify manually !!! }
interface
uses Classes, SysUtils, Graphics, UlanType, ULRecTyp, ULObju, 
  USPType,AAPGType,ULLType,UDLSType,
  ULIType;

type
  TULIObj = class(TULObj)
  protected
    function GetInstrumentTemplate: TULFileName;
    procedure SetInstrumentTemplate(AInstrumentTemplate: TULFileName);
    function GetColumn: TColumnName;
    procedure SetColumn(AColumn: TColumnName);
    function GetMobilePhase: TMobilePhase;
    procedure SetMobilePhase(AMobilePhase: TMobilePhase);
    function GetFlowRate: TFlowRate;
    procedure SetFlowRate(AFlowRate: TFlowRate);
    function GetFlowRateUnit: TFlowRateUnit;
    procedure SetFlowRateUnit(AFlowRateUnit: TFlowRateUnit);
    function GetDetection: TDetection;
    procedure SetDetection(ADetection: TDetection);
    function GetTemperature: TTemperature;
    procedure SetTemperature(ATemperature: TTemperature);
    function GetTemperatureUnit: TTemperatureUnit;
    procedure SetTemperatureUnit(ATemperatureUnit: TTemperatureUnit);
    function GetInstrumentFileName: TULFileName;
    procedure SetInstrumentFileName(AInstrumentFileName: TULFileName);
    function GetChannelName: TChannelName;
    procedure SetChannelName(AChannelName: TChannelName);
    function GetDuration: single;
    procedure SetDuration(ADuration: single);
    function GetSamplingInterval: single;
    procedure SetSamplingInterval(ASamplingInterval: single);
    function GetDataWaitTimeout: single;
    procedure SetDataWaitTimeout(ADataWaitTimeout: single);
    function GetIdleTime: single;
    procedure SetIdleTime(AIdleTime: single);
    function GetFileMask: string;
    procedure SetFileMask(AFileMask: string);
    function GetStoreScripts: boolean;
    procedure SetStoreScripts(AStoreScripts: boolean);
    function GetScripts: string;
    procedure SetScripts(AScripts: string);
    function GetSequenceKind: TSequenceKind;
    procedure SetSequenceKind(ASequenceKind: TSequenceKind);
    function GetMinRecLen: TULRecLen; override;
  public
    constructor Create(AOwner:TULObj);
    function GetULRecDesc: PULRecDesc; override;
  published
    property InstrumentTemplate: TULFileName
      read GetInstrumentTemplate write SetInstrumentTemplate;
    property Column: TColumnName
      read GetColumn write SetColumn;
    property MobilePhase: TMobilePhase
      read GetMobilePhase write SetMobilePhase;
    property FlowRate: TFlowRate
      read GetFlowRate write SetFlowRate;
    property FlowRateUnit: TFlowRateUnit
      read GetFlowRateUnit write SetFlowRateUnit;
    property Detection: TDetection
      read GetDetection write SetDetection;
    property Temperature: TTemperature
      read GetTemperature write SetTemperature;
    property TemperatureUnit: TTemperatureUnit
      read GetTemperatureUnit write SetTemperatureUnit;
    property InstrumentFileName: TULFileName
      read GetInstrumentFileName write SetInstrumentFileName;
    property ChannelName: TChannelName
      read GetChannelName write SetChannelName;
    property Duration: single
      read GetDuration write SetDuration;
    property SamplingInterval: single
      read GetSamplingInterval write SetSamplingInterval;
    property DataWaitTimeout: single
      read GetDataWaitTimeout write SetDataWaitTimeout;
    property IdleTime: single
      read GetIdleTime write SetIdleTime;
    property FileMask: string
      read GetFileMask write SetFileMask;
    property StoreScripts: boolean
      read GetStoreScripts write SetStoreScripts;
    property Scripts: string
      read GetScripts write SetScripts;
    property SequenceKind: TSequenceKind
      read GetSequenceKind write SetSequenceKind;
  end;

const
  ULIChildRecIDs: array[0..2] of TULRecID = (
    USPID,AAPGID,UDLSID
  );
  ULIFldDescs: array[0..17] of TULFldDesc = (
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4133;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'InstrumentTemplate';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TULFileName';
    ),
    (
     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: 'Column';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TColumnName';
    ),
    (
     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: 'MobilePhase';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TMobilePhase';
    ),
    (
     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: 'FlowRate';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TFlowRate';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: 'fu';
     EditMask: '';
     MaxID: 0;
     FieldName: 'FlowRateUnit';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TFlowRateUnit';
    ),
    (
     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: 'Detection';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TDetection';
    ),
    (
     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: 'Temperature';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TTemperature';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: 'tu';
     EditMask: '';
     MaxID: 0;
     FieldName: 'TemperatureUnit';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TTemperatureUnit';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4133;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'InstrumentFileName';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TULFileName';
    ),
    (
     Caption: '';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4113;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: ULLID;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'ChannelName';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TChannelName';
    ),
    (
     Caption: 'Duration of Analysis [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: 'Duration';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'single';
    ),
    (
     Caption: 'Sampling interval [s]';
     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: 'SamplingInterval';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'single';
    ),
    (
     Caption: 'How long wait for data [s]';
     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: 'DataWaitTimeout';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'single';
    ),
    (
     Caption: 'Sample Idle Time[s]';
     Hint: 'Interval between sequence samples (end of the first, start of the second)';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'IdleTime';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'single';
    ),
    (
     Caption: 'Sample File Mask';
     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: 'FileMask';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'string';
    ),
    (
     Caption: 'Store used scripts?';
     Hint: 'Store source code of all scrits used during acquisition?';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4097;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'StoreScripts';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'boolean';
    ),
    (
     Caption: 'Scripts';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4160;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: '';
     EditMask: '';
     MaxID: 0;
     FieldName: 'Scripts';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'string';
    ),
    (
     Caption: 'Sequence Kind';
     Hint: '';
     EditWidth: 0;
     BrowseWidth: 0;
     Flags: 4096;
     UserCoef: 0.00;
     NumDec: 0;
     ValuesSourceRecID: 0;
     FieldColorCount : 0;
     FieldColors : nil;
     Filter: '';
     DefDir: '';
     StripPrefix: 'sk';
     EditMask: '';
     MaxID: 0;
     FieldName: 'SequenceKind';
     KeyFieldName: '';
     ListFieldName: '';
     Typ: '';
     VarSize: false;
     PasType: 'TSequenceKind';
    )
  );

  ULIRecDesc: TULRecDesc = (
    Caption: 'Instrument';
    ChildRecIDsStr: 'USPID,AAPGID,UDLSID';
    ChildRecIDs: @ULIChildRecIDs;
    ChildRecIDCount: 3;
    FldCount: 18;
    Flds: @ULIFldDescs;
    Flags: rfChildAllowed OR rfRootChild OR rfHasPointer OR rfEnabled OR rfVisible;
    SortExp: '';
    EditFieldList: '';
    BrowseFieldList: '';
    MenuFieldList: '';
    BrowseChildRecIDs: '';
    NameProp: '';
    MainProp: '';
    DefDir: '';
    OpenFilter: '';
    SaveFilter: '';
    Table: '';
    Indexes: ''
   );

implementation

{TULIObj}
function TULIObj.GetMinRecLen: TULRecLen;
begin
  GetMinRecLen := sizeof(TULIRec);
end;

constructor TULIObj.Create(AOwner: TULObj);
begin
  inherited Create(TComponent(AOwner), ULIID);
  DataWaitTimeout := DefDataWaitTimeout;
  FileMask := 'Sample*';
end;

function TULIObj.GetULRecDesc: PULRecDesc;
begin
  Result := @ULIRecDesc;
end;

procedure TULIObj.SetInstrumentTemplate(AInstrumentTemplate: TULFileName);
begin
  if PULIRec(Rec)^.InstrumentTemplate <> AInstrumentTemplate then begin
    PULIRec(Rec)^.InstrumentTemplate := AInstrumentTemplate;
    if ULIFldDescs[0].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetInstrumentTemplate: TULFileName;
begin
  GetInstrumentTemplate := PULIRec(Rec)^.InstrumentTemplate;
end;

procedure TULIObj.SetColumn(AColumn: TColumnName);
begin
  if PULIRec(Rec)^.Column <> AColumn then begin
    PULIRec(Rec)^.Column := AColumn;
    if ULIFldDescs[1].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetColumn: TColumnName;
begin
  GetColumn := PULIRec(Rec)^.Column;
end;

procedure TULIObj.SetMobilePhase(AMobilePhase: TMobilePhase);
begin
  if PULIRec(Rec)^.MobilePhase <> AMobilePhase then begin
    PULIRec(Rec)^.MobilePhase := AMobilePhase;
    if ULIFldDescs[2].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetMobilePhase: TMobilePhase;
begin
  GetMobilePhase := PULIRec(Rec)^.MobilePhase;
end;

procedure TULIObj.SetFlowRate(AFlowRate: TFlowRate);
begin
  if PULIRec(Rec)^.FlowRate <> AFlowRate then begin
    PULIRec(Rec)^.FlowRate := AFlowRate;
    if ULIFldDescs[3].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetFlowRate: TFlowRate;
begin
  GetFlowRate := PULIRec(Rec)^.FlowRate;
end;

procedure TULIObj.SetFlowRateUnit(AFlowRateUnit: TFlowRateUnit);
begin
  if PULIRec(Rec)^.FlowRateUnit <> AFlowRateUnit then begin
    PULIRec(Rec)^.FlowRateUnit := AFlowRateUnit;
    if ULIFldDescs[4].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetFlowRateUnit: TFlowRateUnit;
begin
  GetFlowRateUnit := PULIRec(Rec)^.FlowRateUnit;
end;

procedure TULIObj.SetDetection(ADetection: TDetection);
begin
  if PULIRec(Rec)^.Detection <> ADetection then begin
    PULIRec(Rec)^.Detection := ADetection;
    if ULIFldDescs[5].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetDetection: TDetection;
begin
  GetDetection := PULIRec(Rec)^.Detection;
end;

procedure TULIObj.SetTemperature(ATemperature: TTemperature);
begin
  if PULIRec(Rec)^.Temperature <> ATemperature then begin
    PULIRec(Rec)^.Temperature := ATemperature;
    if ULIFldDescs[6].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetTemperature: TTemperature;
begin
  GetTemperature := PULIRec(Rec)^.Temperature;
end;

procedure TULIObj.SetTemperatureUnit(ATemperatureUnit: TTemperatureUnit);
begin
  if PULIRec(Rec)^.TemperatureUnit <> ATemperatureUnit then begin
    PULIRec(Rec)^.TemperatureUnit := ATemperatureUnit;
    if ULIFldDescs[7].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetTemperatureUnit: TTemperatureUnit;
begin
  GetTemperatureUnit := PULIRec(Rec)^.TemperatureUnit;
end;

procedure TULIObj.SetInstrumentFileName(AInstrumentFileName: TULFileName);
begin
  if PULIRec(Rec)^.InstrumentFileName <> AInstrumentFileName then begin
    PULIRec(Rec)^.InstrumentFileName := AInstrumentFileName;
    if ULIFldDescs[8].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetInstrumentFileName: TULFileName;
begin
  GetInstrumentFileName := PULIRec(Rec)^.InstrumentFileName;
end;

procedure TULIObj.SetChannelName(AChannelName: TChannelName);
begin
  if PULIRec(Rec)^.ChannelName <> AChannelName then begin
    PULIRec(Rec)^.ChannelName := AChannelName;
    if ULIFldDescs[9].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetChannelName: TChannelName;
begin
  GetChannelName := PULIRec(Rec)^.ChannelName;
end;

procedure TULIObj.SetDuration(ADuration: single);
begin
  if PULIRec(Rec)^.Duration <> ADuration then begin
    PULIRec(Rec)^.Duration := ADuration;
    if ULIFldDescs[10].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetDuration: single;
begin
  GetDuration := PULIRec(Rec)^.Duration;
end;

procedure TULIObj.SetSamplingInterval(ASamplingInterval: single);
begin
  if PULIRec(Rec)^.SamplingInterval <> ASamplingInterval then begin
    PULIRec(Rec)^.SamplingInterval := ASamplingInterval;
    if ULIFldDescs[11].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetSamplingInterval: single;
begin
  GetSamplingInterval := PULIRec(Rec)^.SamplingInterval;
end;

procedure TULIObj.SetDataWaitTimeout(ADataWaitTimeout: single);
begin
  if PULIRec(Rec)^.DataWaitTimeout <> ADataWaitTimeout then begin
    PULIRec(Rec)^.DataWaitTimeout := ADataWaitTimeout;
    if ULIFldDescs[12].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetDataWaitTimeout: single;
begin
  GetDataWaitTimeout := PULIRec(Rec)^.DataWaitTimeout;
end;

procedure TULIObj.SetIdleTime(AIdleTime: single);
begin
  if PULIRec(Rec)^.IdleTime <> AIdleTime then begin
    PULIRec(Rec)^.IdleTime := AIdleTime;
    if ULIFldDescs[13].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetIdleTime: single;
begin
  GetIdleTime := PULIRec(Rec)^.IdleTime;
end;

procedure TULIObj.SetFileMask(AFileMask: string);
begin
  if PULIRec(Rec)^.FileMask <> AFileMask then begin
    PULIRec(Rec)^.FileMask := AFileMask;
    if ULIFldDescs[14].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetFileMask: string;
begin
  GetFileMask := PULIRec(Rec)^.FileMask;
end;

procedure TULIObj.SetStoreScripts(AStoreScripts: boolean);
begin
  if PULIRec(Rec)^.StoreScripts <> AStoreScripts then begin
    PULIRec(Rec)^.StoreScripts := AStoreScripts;
    if ULIFldDescs[15].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetStoreScripts: boolean;
begin
  GetStoreScripts := PULIRec(Rec)^.StoreScripts;
end;

procedure TULIObj.SetScripts(AScripts: string);
begin
  if PULIRec(Rec)^.Scripts <> AScripts then begin
    PULIRec(Rec)^.Scripts := AScripts;
    if ULIFldDescs[16].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetScripts: string;
begin
  GetScripts := PULIRec(Rec)^.Scripts;
end;

procedure TULIObj.SetSequenceKind(ASequenceKind: TSequenceKind);
begin
  if PULIRec(Rec)^.SequenceKind <> ASequenceKind then begin
    PULIRec(Rec)^.SequenceKind := ASequenceKind;
    if ULIFldDescs[17].VarSize then 
      ClearFieldsLen;
    DoChange;
  end;
end;

function TULIObj.GetSequenceKind: TSequenceKind;
begin
  GetSequenceKind := PULIRec(Rec)^.SequenceKind;
end;

{/TULIObj}

end.
