unit ConstTypeUnit; interface uses Classes; type { ptBudgetEstimate: 概算,ptEstimate1: 建议估算 ptEstimate2: 可行性估算 ptBillsBudget: 清单预算 ptFinal: 决算} // 2012.3.1 HXY新加 ptBillsBudget, ptFinal两个字段 TScProjType = (ptBills, ptBudget, ptBudgetEstimate, ptEstimate2, ptEstimate1, ptBillsBudget, ptFinal); TOpenType = (otNew, otOpen); TBidLotOperation = (boAdd, boDelete, boReName); TFormType = (ftImportStdLib, ftImportSmb); {Internal Save DataStruct} TBillsOrderItem = class private FID: Integer; FMajorIndex: Integer; FCharpterID: Integer; FHasChildren: Boolean; public property ID: Integer read FID write FID; property MajorIndex: Integer read FMajorIndex write FMajorIndex; property CharpterID: Integer read FCharpterID write FCharpterID; property HasChildren: Boolean read FHasChildren write FHasChildren; end; // Modified By MaiXinRong 2012-03-19 第二部分中800章的数量与单价 TFloatItem = class public Quantity2: Double; UnitPrice2: Double; end; {Copy Bills -------Paste Bills} TBillIDRecord = class private FOldID: Integer; FNewID: Integer; FParentID: Integer; FNextSiblingID: Integer; FParentChanged: Boolean; FNextSiblingChanged: Boolean; FCode: string; FName: string; FUnits: string; FMemoStr: string; FQuantity: Double; FQuantity2: Double; FUnitPrice: Currency; FTotalPrice: Currency; FUnitPrice2: Currency; FTotalPrice2: Currency; FB_Code: string; FDesignQuantity: Currency; FDesignQuantity2: Currency; FDesignPrice: Currency; FList: TList; public constructor Create; destructor Destroy; override; property OldID: Integer read FOldID write FOldID; property NewID: Integer read FNewID write FNewID; property ParentID: Integer read FParentID write FParentID; property NextSiblingID: Integer read FNextSiblingID write FNextSiblingID; property ParentChanged: Boolean read FParentChanged write FParentChanged; property NextSiblingChanged: Boolean read FNextSiblingChanged write FNextSiblingChanged; property Code: string read FCode write FCode; property B_Code: string read FB_Code write FB_Code; property Name: string read FName write FName; property Units: string read FUnits write FUnits; property MemoStr: string read FMemoStr write FMemoStr; property Quantity: Double read FQuantity write FQuantity; property Quantity2: Double read FQuantity2 write FQuantity2; property UnitPrice: Currency read FUnitPrice write FUnitPrice; property TotalPrice: Currency read FTotalPrice write FTotalPrice; property UnitPrice2: Currency read FUnitPrice2 write FUnitPrice2; property TotalPrice2: Currency read FTotalPrice2 write FTotalPrice2; property DesignQuantity: Currency read FDesignQuantity write FDesignQuantity; property DesignQuantity2: Currency read FDesignQuantity2 write FDesignQuantity2; property DesignPrice: Currency read FDesignPrice write FDesignPrice; property List: TList read FList; end; TDQRecord = class private FName: string; FUnits: string; FDQuantity: Double; FDQuantity2: Double; FMemostr: string; public property Name: string read FName write FName; property Units: string read FUnits write FUnits; property DQuantity: Double read FDQuantity write FDQuantity; property DQuantity2: Double read FDQuantity2 write FDQuantity2; property MemoStr: string read FMemostr write FMemostr; end; {Bills Position} PIDRecord = ^TIDRecord; TIDRecord = record PreID: Integer; // 前兄弟ID NextID: Integer; // 后兄弟ID end; { Third Part Bills } PBillsConfigRecord = ^TBillsConfigRecord; TBillsConfigRecord = record ID: Integer; ParentID: Integer; NextID: Integer; Code: string; BCode: string; Name: string; Units: string; Exprs: string; IsPreDefine: Boolean; ParentModified: Boolean; NextModified: Boolean; end; {All kinds of Events} TInternalEvent = procedure of object; TControlUIEvent = procedure (AEnabled: Boolean; AETree: Boolean = True) of object; TOpenProjectProc = procedure (const aName, aShortName: string; aProjType, aID: Integer) of object; implementation uses ConstMethodUnit; { TBillIDRecord } constructor TBillIDRecord.Create; begin FList := TList.Create; end; destructor TBillIDRecord.Destroy; begin ClearObjectList(FList); FList.Free; inherited; end; end.