⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ganttdatabinder3.pas

📁 Gantt source file example to use in delphi 7
💻 PAS
📖 第 1 页 / 共 2 页
字号:

{*******************************************************************}
{                                                                   }
{                      Delphi XML Data Binding                      }
{                                                                   }
{         Generated on: 20/04/2007 10:56:42                         }
{       Generated from: D:\Fish Soft\Gantt Creator\GanttModel.xml   }
{   Settings stored in: D:\Fish Soft\Gantt Creator\GanttModel.xdb   }
{                                                                   }
{*******************************************************************}
unit GanttDataBinder3;

interface

uses xmldom, XMLDoc, XMLIntf;

type

{ Forward Decls }

  IXMLRoot_ElementType = interface;
  IXMLGantt_ChartType = interface;
  IXMLGantt_Chart_DetailsType = interface;
  IXMLGantt_ProjectsType = interface;
  IXMLGantt_ProjectType = interface;
  IXMLGantt_Project_ItemsType = interface;
  IXMLProject_ItemType = interface;
  IXMLItem_BrushType = interface;
  IXMLItem_PenType = interface;
  IXMLItem_LinkType = interface;

{ IXMLRoot_ElementType }

  IXMLRoot_ElementType = interface(IXMLNode)
    ['{0197FE8E-8C86-49A3-ABF3-929975CB8E2F}']
    { Property Accessors }
    function Get_Gantt_Chart: IXMLGantt_ChartType;
    { Methods & Properties }
    property Gantt_Chart: IXMLGantt_ChartType read Get_Gantt_Chart;
  end;

{ IXMLGantt_ChartType }

  IXMLGantt_ChartType = interface(IXMLNode)
    ['{68D48272-6325-4A95-94B1-875DB6AE7CB0}']
    { Property Accessors }
    function Get_Gantt_Chart_Details: IXMLGantt_Chart_DetailsType;
    function Get_Gantt_Projects: IXMLGantt_ProjectsType;
    { Methods & Properties }
    property Gantt_Chart_Details: IXMLGantt_Chart_DetailsType read Get_Gantt_Chart_Details;
    property Gantt_Projects: IXMLGantt_ProjectsType read Get_Gantt_Projects;
  end;

{ IXMLGantt_Chart_DetailsType }

  IXMLGantt_Chart_DetailsType = interface(IXMLNode)
    ['{2DAC9625-4E04-44D6-B364-E126C5673879}']
    { Property Accessors }
    function Get_Gantt_Title: WideString;
    function Get_Start_Month: Integer;
    function Get_Number_of_Months: Integer;
    function Get_Project_Title_Colour: WideString;
    function Get_Project_Height: Integer;
    function Get_Day_Width: Integer;
    function Get_Shadow_Colour: WideString;
    function Get_Gantt_Version: WideString;
    procedure Set_Gantt_Title(Value: WideString);
    procedure Set_Start_Month(Value: Integer);
    procedure Set_Number_of_Months(Value: Integer);
    procedure Set_Project_Title_Colour(Value: WideString);
    procedure Set_Project_Height(Value: Integer);
    procedure Set_Day_Width(Value: Integer);
    procedure Set_Shadow_Colour(Value: WideString);
    procedure Set_Gantt_Version(Value: WideString);
    { Methods & Properties }
    property Gantt_Title: WideString read Get_Gantt_Title write Set_Gantt_Title;
    property Start_Month: Integer read Get_Start_Month write Set_Start_Month;
    property Number_of_Months: Integer read Get_Number_of_Months write Set_Number_of_Months;
    property Project_Title_Colour: WideString read Get_Project_Title_Colour write Set_Project_Title_Colour;
    property Project_Height: Integer read Get_Project_Height write Set_Project_Height;
    property Day_Width: Integer read Get_Day_Width write Set_Day_Width;
    property Shadow_Colour: WideString read Get_Shadow_Colour write Set_Shadow_Colour;
    property Gantt_Version: WideString read Get_Gantt_Version write Set_Gantt_Version;
  end;

{ IXMLGantt_ProjectsType }

  IXMLGantt_ProjectsType = interface(IXMLNodeCollection)
    ['{0707B6F5-324C-4DA6-B734-BA68C0408EC5}']
    { Property Accessors }
    function Get_Gantt_Project(Index: Integer): IXMLGantt_ProjectType;
    { Methods & Properties }
    function Add: IXMLGantt_ProjectType;
    function Insert(const Index: Integer): IXMLGantt_ProjectType;
    property Gantt_Project[Index: Integer]: IXMLGantt_ProjectType read Get_Gantt_Project; default;
  end;

{ IXMLGantt_ProjectType }

  IXMLGantt_ProjectType = interface(IXMLNode)
    ['{EAAB338F-D8B4-4D89-BC71-B4F49300F0F4}']
    { Property Accessors }
    function Get_Gantt_Project_Name: WideString;
    function Get_Gantt_Project_Resource1: WideString;
    function Get_Gantt_Project_Resource2: WideString;
    function Get_Gantt_Project_Items: IXMLGantt_Project_ItemsType;
    procedure Set_Gantt_Project_Name(Value: WideString);
    procedure Set_Gantt_Project_Resource1(Value: WideString);
    procedure Set_Gantt_Project_Resource2(Value: WideString);
    { Methods & Properties }
    property Gantt_Project_Name: WideString read Get_Gantt_Project_Name write Set_Gantt_Project_Name;
    property Gantt_Project_Resource1: WideString read Get_Gantt_Project_Resource1 write Set_Gantt_Project_Resource1;
    property Gantt_Project_Resource2: WideString read Get_Gantt_Project_Resource2 write Set_Gantt_Project_Resource2;
    property Gantt_Project_Items: IXMLGantt_Project_ItemsType read Get_Gantt_Project_Items;
  end;

{ IXMLGantt_Project_ItemsType }

  IXMLGantt_Project_ItemsType = interface(IXMLNodeCollection)
    ['{104892A3-9DDE-4700-B5BB-BC0BDC389FF1}']
    { Property Accessors }
    function Get_Project_Item(Index: Integer): IXMLProject_ItemType;
    { Methods & Properties }
    function Add: IXMLProject_ItemType;
    function Insert(const Index: Integer): IXMLProject_ItemType;
    property Project_Item[Index: Integer]: IXMLProject_ItemType read Get_Project_Item; default;
  end;

{ IXMLProject_ItemType }

  IXMLProject_ItemType = interface(IXMLNode)
    ['{20A0AB91-EC5C-4F33-B34C-3BA6438D3848}']
    { Property Accessors }
    function Get_Item_Name: WideString;
    function Get_Item_Type: WideString;
    function Get_Item_Status: WideString;
    function Get_Item_Percent_Completed: Integer;
    function Get_Item_Colour: WideString;
    function Get_Item_Start_Date: WideString;
    function Get_Item_Days: Integer;
    function Get_Item_Brush: IXMLItem_BrushType;
    function Get_Item_Pen: IXMLItem_PenType;
    function Get_Item_Link: IXMLItem_LinkType;
    procedure Set_Item_Name(Value: WideString);
    procedure Set_Item_Type(Value: WideString);
    procedure Set_Item_Status(Value: WideString);
    procedure Set_Item_Percent_Completed(Value: Integer);
    procedure Set_Item_Colour(Value: WideString);
    procedure Set_Item_Start_Date(Value: WideString);
    procedure Set_Item_Days(Value: Integer);
    { Methods & Properties }
    property Item_Name: WideString read Get_Item_Name write Set_Item_Name;
    property Item_Type: WideString read Get_Item_Type write Set_Item_Type;
    property Item_Status: WideString read Get_Item_Status write Set_Item_Status;
    property Item_Percent_Completed: Integer read Get_Item_Percent_Completed write Set_Item_Percent_Completed;
    property Item_Colour: WideString read Get_Item_Colour write Set_Item_Colour;
    property Item_Start_Date: WideString read Get_Item_Start_Date write Set_Item_Start_Date;
    property Item_Days: Integer read Get_Item_Days write Set_Item_Days;
    property Item_Brush: IXMLItem_BrushType read Get_Item_Brush;
    property Item_Pen: IXMLItem_PenType read Get_Item_Pen;
    property Item_Link: IXMLItem_LinkType read Get_Item_Link;
  end;

{ IXMLItem_BrushType }

  IXMLItem_BrushType = interface(IXMLNode)
    ['{888A4162-95E5-443F-BC47-AB8AB5BFC99D}']
    { Property Accessors }
    function Get_Item_Brush_Colour: WideString;
    function Get_Item_Brush_Style: WideString;
    procedure Set_Item_Brush_Colour(Value: WideString);
    procedure Set_Item_Brush_Style(Value: WideString);
    { Methods & Properties }
    property Item_Brush_Colour: WideString read Get_Item_Brush_Colour write Set_Item_Brush_Colour;
    property Item_Brush_Style: WideString read Get_Item_Brush_Style write Set_Item_Brush_Style;
  end;

{ IXMLItem_PenType }

  IXMLItem_PenType = interface(IXMLNode)
    ['{ED1BB30F-0718-4CB7-BCF2-5836FFD712DD}']
    { Property Accessors }
    function Get_Item_Pen_Colour: WideString;
    function Get_Item_Pen_Size: Integer;
    procedure Set_Item_Pen_Colour(Value: WideString);
    procedure Set_Item_Pen_Size(Value: Integer);
    { Methods & Properties }
    property Item_Pen_Colour: WideString read Get_Item_Pen_Colour write Set_Item_Pen_Colour;
    property Item_Pen_Size: Integer read Get_Item_Pen_Size write Set_Item_Pen_Size;
  end;

{ IXMLItem_LinkType }

  IXMLItem_LinkType = interface(IXMLNode)
    ['{D19A95AB-6C78-47BA-AE04-E061699FC80C}']
    { Property Accessors }
    function Get_Project_ID: Integer;
    function Get_Item_ID: Integer;
    function Get_Link_Type : String;
    procedure Set_Project_ID(Value: Integer);
    procedure Set_Item_ID(Value: Integer);
    procedure Set_Link_Type(Value : String);
    { Methods & Properties }
    property Project_ID: Integer read Get_Project_ID write Set_Project_ID;
    property Item_ID: Integer read Get_Item_ID write Set_Item_ID;
    property Link_Type: String read Get_Link_Type write Set_Link_Type;
  end;

{ Forward Decls }

  TXMLRoot_ElementType = class;
  TXMLGantt_ChartType = class;
  TXMLGantt_Chart_DetailsType = class;
  TXMLGantt_ProjectsType = class;
  TXMLGantt_ProjectType = class;
  TXMLGantt_Project_ItemsType = class;
  TXMLProject_ItemType = class;
  TXMLItem_BrushType = class;
  TXMLItem_PenType = class;
  TXMLItem_LinkType = class;

{ TXMLRoot_ElementType }

  TXMLRoot_ElementType = class(TXMLNode, IXMLRoot_ElementType)
  protected
    { IXMLRoot_ElementType }
    function Get_Gantt_Chart: IXMLGantt_ChartType;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLGantt_ChartType }

  TXMLGantt_ChartType = class(TXMLNode, IXMLGantt_ChartType)
  protected
    { IXMLGantt_ChartType }
    function Get_Gantt_Chart_Details: IXMLGantt_Chart_DetailsType;
    function Get_Gantt_Projects: IXMLGantt_ProjectsType;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLGantt_Chart_DetailsType }

  TXMLGantt_Chart_DetailsType = class(TXMLNode, IXMLGantt_Chart_DetailsType)
  protected
    { IXMLGantt_Chart_DetailsType }
    function Get_Gantt_Title: WideString;
    function Get_Start_Month: Integer;
    function Get_Number_of_Months: Integer;
    function Get_Project_Title_Colour: WideString;
    function Get_Project_Height: Integer;
    function Get_Day_Width: Integer;
    function Get_Shadow_Colour: WideString;
    function Get_Gantt_Version: WideString;
    procedure Set_Gantt_Title(Value: WideString);
    procedure Set_Start_Month(Value: Integer);
    procedure Set_Number_of_Months(Value: Integer);
    procedure Set_Project_Title_Colour(Value: WideString);
    procedure Set_Project_Height(Value: Integer);
    procedure Set_Day_Width(Value: Integer);
    procedure Set_Shadow_Colour(Value: WideString);
    procedure Set_Gantt_Version(Value: WideString);
  end;

{ TXMLGantt_ProjectsType }

  TXMLGantt_ProjectsType = class(TXMLNodeCollection, IXMLGantt_ProjectsType)
  protected
    { IXMLGantt_ProjectsType }
    function Get_Gantt_Project(Index: Integer): IXMLGantt_ProjectType;
    function Add: IXMLGantt_ProjectType;
    function Insert(const Index: Integer): IXMLGantt_ProjectType;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLGantt_ProjectType }

  TXMLGantt_ProjectType = class(TXMLNode, IXMLGantt_ProjectType)
  protected
    { IXMLGantt_ProjectType }
    function Get_Gantt_Project_Name: WideString;
    function Get_Gantt_Project_Resource1: WideString;
    function Get_Gantt_Project_Resource2: WideString;
    function Get_Gantt_Project_Items: IXMLGantt_Project_ItemsType;
    procedure Set_Gantt_Project_Name(Value: WideString);
    procedure Set_Gantt_Project_Resource1(Value: WideString);
    procedure Set_Gantt_Project_Resource2(Value: WideString);
  public
    procedure AfterConstruction; override;
  end;

{ TXMLGantt_Project_ItemsType }

  TXMLGantt_Project_ItemsType = class(TXMLNodeCollection, IXMLGantt_Project_ItemsType)
  protected
    { IXMLGantt_Project_ItemsType }
    function Get_Project_Item(Index: Integer): IXMLProject_ItemType;
    function Add: IXMLProject_ItemType;
    function Insert(const Index: Integer): IXMLProject_ItemType;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLProject_ItemType }

  TXMLProject_ItemType = class(TXMLNode, IXMLProject_ItemType)
  protected
    { IXMLProject_ItemType }
    function Get_Item_Name: WideString;
    function Get_Item_Type: WideString;
    function Get_Item_Status: WideString;
    function Get_Item_Percent_Completed: Integer;
    function Get_Item_Colour: WideString;
    function Get_Item_Start_Date: WideString;
    function Get_Item_Days: Integer;
    function Get_Item_Brush: IXMLItem_BrushType;
    function Get_Item_Pen: IXMLItem_PenType;
    function Get_Item_Link: IXMLItem_LinkType;
    procedure Set_Item_Name(Value: WideString);
    procedure Set_Item_Type(Value: WideString);
    procedure Set_Item_Status(Value: WideString);
    procedure Set_Item_Percent_Completed(Value: Integer);
    procedure Set_Item_Colour(Value: WideString);
    procedure Set_Item_Start_Date(Value: WideString);
    procedure Set_Item_Days(Value: Integer);
  public
    procedure AfterConstruction; override;
  end;

{ TXMLItem_BrushType }

  TXMLItem_BrushType = class(TXMLNode, IXMLItem_BrushType)
  protected
    { IXMLItem_BrushType }
    function Get_Item_Brush_Colour: WideString;
    function Get_Item_Brush_Style: WideString;
    procedure Set_Item_Brush_Colour(Value: WideString);
    procedure Set_Item_Brush_Style(Value: WideString);
  end;

{ TXMLItem_PenType }

  TXMLItem_PenType = class(TXMLNode, IXMLItem_PenType)
  protected
    { IXMLItem_PenType }
    function Get_Item_Pen_Colour: WideString;
    function Get_Item_Pen_Size: Integer;
    procedure Set_Item_Pen_Colour(Value: WideString);
    procedure Set_Item_Pen_Size(Value: Integer);
  end;

{ TXMLItem_LinkType }

  TXMLItem_LinkType = class(TXMLNode, IXMLItem_LinkType)
  protected
    { IXMLItem_LinkType }
    function Get_Project_ID: Integer;
    function Get_Item_ID: Integer;
    function Get_Link_Type : String;
    procedure Set_Project_ID(Value: Integer);
    procedure Set_Item_ID(Value: Integer);
    procedure Set_Link_Type(Value : String);
  end;

{ Global Functions }

function GetRoot_Element(Doc: IXMLDocument): IXMLRoot_ElementType;
function LoadRoot_Element(const FileName: WideString): IXMLRoot_ElementType;
function NewRoot_Element: IXMLRoot_ElementType;

implementation

{ Global Functions }

function GetRoot_Element(Doc: IXMLDocument): IXMLRoot_ElementType;
begin
  Result := Doc.GetDocBinding('Root_Element', TXMLRoot_ElementType) as IXMLRoot_ElementType;
end;
function LoadRoot_Element(const FileName: WideString): IXMLRoot_ElementType;
begin
  Result := LoadXMLDocument(FileName).GetDocBinding('Root_Element', TXMLRoot_ElementType) as IXMLRoot_ElementType;
end;

function NewRoot_Element: IXMLRoot_ElementType;
begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -