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

📄 autoupdate.pas

📁 delphi写的http的download来Update的源码
💻 PAS
字号:

{*******************************************************************************************************************}
{                                                                                                                   }
{                                                 XML Data Binding                                                  }
{                                                                                                                   }
{         Generated on: 2008-8-11 上午 09:48:28                                                                     }
{       Generated from: C:\Documents and Settings\Administrator\My Documents\RAD Studio\Projects\n\autoupdate.xml   }
{   Settings stored in: C:\Documents and Settings\Administrator\My Documents\RAD Studio\Projects\n\autoupdate.xdb   }
{                                                                                                                   }
{*******************************************************************************************************************}

unit autoupdate;

interface

uses xmldom, XMLDoc, XMLIntf;

type

{ Forward Decls }

  IXMLConfigType = interface;
  IXMLSrvListType = interface;
  IXMLSrvInfoType = interface;
  IXMLFileListType = interface;
  IXMLFileInfoType = interface;

{ IXMLConfigType }

  IXMLConfigType = interface(IXMLNode)
    ['{ECF1C418-CE8A-47DB-92F5-1709AA86AEA5}']
    { Property Accessors }
    function Get_SrvList: IXMLSrvListType;
    function Get_FileList: IXMLFileListType;
    { Methods & Properties }
    property SrvList: IXMLSrvListType read Get_SrvList;
    property FileList: IXMLFileListType read Get_FileList;
  end;

{ IXMLSrvListType }

  IXMLSrvListType = interface(IXMLNodeCollection)
    ['{E002743F-C991-4742-89C4-20EA0035BA4D}']
    { Property Accessors }
    function Get_SrvInfo(Index: Integer): IXMLSrvInfoType;
    { Methods & Properties }
    function Add: IXMLSrvInfoType;
    function Insert(const Index: Integer): IXMLSrvInfoType;
    property SrvInfo[Index: Integer]: IXMLSrvInfoType read Get_SrvInfo; default;
  end;

{ IXMLSrvInfoType }

  IXMLSrvInfoType = interface(IXMLNode)
    ['{AD63A271-10C0-4BBB-B996-CCC2CFA66814}']
    { Property Accessors }
    function Get_SrvName: WideString;
    function Get_SrvPath: WideString;
    procedure Set_SrvName(Value: WideString);
    procedure Set_SrvPath(Value: WideString);
    { Methods & Properties }
    property SrvName: WideString read Get_SrvName write Set_SrvName;
    property SrvPath: WideString read Get_SrvPath write Set_SrvPath;
  end;

{ IXMLFileListType }

  IXMLFileListType = interface(IXMLNodeCollection)
    ['{8A6FB94E-75CE-4498-B9DA-11B05177FA17}']
    { Property Accessors }
    function Get_FileInfo(Index: Integer): IXMLFileInfoType;
    { Methods & Properties }
    function Add: IXMLFileInfoType;
    function Insert(const Index: Integer): IXMLFileInfoType;
    property FileInfo[Index: Integer]: IXMLFileInfoType read Get_FileInfo; default;
  end;

{ IXMLFileInfoType }

  IXMLFileInfoType = interface(IXMLNode)
    ['{8A44C287-4647-4705-8205-D1DE8C942349}']
    { Property Accessors }
    function Get_FileName: WideString;
    function Get_FilePath: WideString;
    function Get_FileVersion: WideString;
    function Get_FileHash: WideString;
    function Get_FileLevel: WideString;
    procedure Set_FileName(Value: WideString);
    procedure Set_FilePath(Value: WideString);
    procedure Set_FileVersion(Value: WideString);
    procedure Set_FileHash(Value: WideString);
    procedure Set_FileLevel(Value: WideString);
    { Methods & Properties }
    property FileName: WideString read Get_FileName write Set_FileName;
    property FilePath: WideString read Get_FilePath write Set_FilePath;
    property FileVersion: WideString read Get_FileVersion write Set_FileVersion;
    property FileHash: WideString read Get_FileHash write Set_FileHash;
    property FileLevel: WideString read Get_FileLevel write Set_FileLevel;
  end;

{ Forward Decls }

  TXMLConfigType = class;
  TXMLSrvListType = class;
  TXMLSrvInfoType = class;
  TXMLFileListType = class;
  TXMLFileInfoType = class;

{ TXMLConfigType }

  TXMLConfigType = class(TXMLNode, IXMLConfigType)
  protected
    { IXMLConfigType }
    function Get_SrvList: IXMLSrvListType;
    function Get_FileList: IXMLFileListType;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLSrvListType }

  TXMLSrvListType = class(TXMLNodeCollection, IXMLSrvListType)
  protected
    { IXMLSrvListType }
    function Get_SrvInfo(Index: Integer): IXMLSrvInfoType;
    function Add: IXMLSrvInfoType;
    function Insert(const Index: Integer): IXMLSrvInfoType;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLSrvInfoType }

  TXMLSrvInfoType = class(TXMLNode, IXMLSrvInfoType)
  protected
    { IXMLSrvInfoType }
    function Get_SrvName: WideString;
    function Get_SrvPath: WideString;
    procedure Set_SrvName(Value: WideString);
    procedure Set_SrvPath(Value: WideString);
  end;

{ TXMLFileListType }

  TXMLFileListType = class(TXMLNodeCollection, IXMLFileListType)
  protected
    { IXMLFileListType }
    function Get_FileInfo(Index: Integer): IXMLFileInfoType;
    function Add: IXMLFileInfoType;
    function Insert(const Index: Integer): IXMLFileInfoType;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLFileInfoType }

  TXMLFileInfoType = class(TXMLNode, IXMLFileInfoType)
  protected
    { IXMLFileInfoType }
    function Get_FileName: WideString;
    function Get_FilePath: WideString;
    function Get_FileVersion: WideString;
    function Get_FileHash: WideString;
    function Get_FileLevel: WideString;
    procedure Set_FileName(Value: WideString);
    procedure Set_FilePath(Value: WideString);
    procedure Set_FileVersion(Value: WideString);
    procedure Set_FileHash(Value: WideString);
    procedure Set_FileLevel(Value: WideString);
  end;

{ Global Functions }

function Getconfig(Doc: IXMLDocument): IXMLConfigType;
function Loadconfig(const FileName: WideString): IXMLConfigType;
function Newconfig: IXMLConfigType;

const
  TargetNamespace = '';

implementation

{ Global Functions }

function Getconfig(Doc: IXMLDocument): IXMLConfigType;
begin
  Result := Doc.GetDocBinding('config', TXMLConfigType, TargetNamespace) as IXMLConfigType;
end;

function Loadconfig(const FileName: WideString): IXMLConfigType;
begin
  Result := LoadXMLDocument(FileName).GetDocBinding('config', TXMLConfigType, TargetNamespace) as IXMLConfigType;
end;

function Newconfig: IXMLConfigType;
begin
  Result := NewXMLDocument.GetDocBinding('config', TXMLConfigType, TargetNamespace) as IXMLConfigType;
end;

{ TXMLConfigType }

procedure TXMLConfigType.AfterConstruction;
begin
  RegisterChildNode('srvList', TXMLSrvListType);
  RegisterChildNode('fileList', TXMLFileListType);
  inherited;
end;

function TXMLConfigType.Get_SrvList: IXMLSrvListType;
begin
  Result := ChildNodes['srvList'] as IXMLSrvListType;
end;

function TXMLConfigType.Get_FileList: IXMLFileListType;
begin
  Result := ChildNodes['fileList'] as IXMLFileListType;
end;

{ TXMLSrvListType }

procedure TXMLSrvListType.AfterConstruction;
begin
  RegisterChildNode('srvInfo', TXMLSrvInfoType);
  ItemTag := 'srvInfo';
  ItemInterface := IXMLSrvInfoType;
  inherited;
end;

function TXMLSrvListType.Get_SrvInfo(Index: Integer): IXMLSrvInfoType;
begin
  Result := List[Index] as IXMLSrvInfoType;
end;

function TXMLSrvListType.Add: IXMLSrvInfoType;
begin
  Result := AddItem(-1) as IXMLSrvInfoType;
end;

function TXMLSrvListType.Insert(const Index: Integer): IXMLSrvInfoType;
begin
  Result := AddItem(Index) as IXMLSrvInfoType;
end;

{ TXMLSrvInfoType }

function TXMLSrvInfoType.Get_SrvName: WideString;
begin
  Result := ChildNodes['srvName'].Text;
end;

procedure TXMLSrvInfoType.Set_SrvName(Value: WideString);
begin
  ChildNodes['srvName'].NodeValue := Value;
end;

function TXMLSrvInfoType.Get_SrvPath: WideString;
begin
  Result := ChildNodes['srvPath'].Text;
end;

procedure TXMLSrvInfoType.Set_SrvPath(Value: WideString);
begin
  ChildNodes['srvPath'].NodeValue := Value;
end;

{ TXMLFileListType }

procedure TXMLFileListType.AfterConstruction;
begin
  RegisterChildNode('fileInfo', TXMLFileInfoType);
  ItemTag := 'fileInfo';
  ItemInterface := IXMLFileInfoType;
  inherited;
end;

function TXMLFileListType.Get_FileInfo(Index: Integer): IXMLFileInfoType;
begin
  Result := List[Index] as IXMLFileInfoType;
end;

function TXMLFileListType.Add: IXMLFileInfoType;
begin
  Result := AddItem(-1) as IXMLFileInfoType;
end;

function TXMLFileListType.Insert(const Index: Integer): IXMLFileInfoType;
begin
  Result := AddItem(Index) as IXMLFileInfoType;
end;

{ TXMLFileInfoType }

function TXMLFileInfoType.Get_FileName: WideString;
begin
  Result := ChildNodes['fileName'].Text;
end;

procedure TXMLFileInfoType.Set_FileName(Value: WideString);
begin
  ChildNodes['fileName'].NodeValue := Value;
end;

function TXMLFileInfoType.Get_FilePath: WideString;
begin
  Result := ChildNodes['filePath'].Text;
end;

procedure TXMLFileInfoType.Set_FilePath(Value: WideString);
begin
  ChildNodes['filePath'].NodeValue := Value;
end;

function TXMLFileInfoType.Get_FileVersion: WideString;
begin
  Result := ChildNodes['fileVersion'].Text;
end;

procedure TXMLFileInfoType.Set_FileVersion(Value: WideString);
begin
  ChildNodes['fileVersion'].NodeValue := Value;
end;

function TXMLFileInfoType.Get_FileHash: WideString;
begin
  Result := ChildNodes['fileHash'].Text;
end;

procedure TXMLFileInfoType.Set_FileHash(Value: WideString);
begin
  ChildNodes['fileHash'].NodeValue := Value;
end;

function TXMLFileInfoType.Get_FileLevel: WideString;
begin
  Result := ChildNodes['fileLevel'].Text;
end;

procedure TXMLFileInfoType.Set_FileLevel(Value: WideString);
begin
  ChildNodes['fileLevel'].NodeValue := Value;
end;

end.

⌨️ 快捷键说明

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