我要投稿
  • 您当前的位置:365bet官方 -> 技术教程 -> 软件开发教程 -> Delphi教程 -> 教程内容
  • [ 收藏本页教程 ]
  • delphi学习:两种方法使用xml文档Delphi教程

    教程作者:佚名    教程来源:不详   教程栏目:Delphi教程    收藏本页
     
    使用xml broker, 是delphi 内置的。例: 
      unit ShowXML
      interface 
      uses Classes HTTPApp Db DbClient Midas 
      XMLBrokr WebComp MidItems; 
      type 
      TCustomShowXMLButton = class(TXMLButton IScriptComponent) 
      protected 
      XMLMethodName: string; 
      { IScriptComponent } 
      procedure AddElements(AddIntf: IAddScriptElements); 
      function GetSubComponents: TObject; 
      { IWebContent implementation } 
      function ImplContent(Options: TWebContentOptions; 
      ParentLayout: TLayout): string; override; 
      end; 
      TShowXMLButton = class(TCustomShowXMLButton) 
      public 
      constructor Create(AOwner: TComponent); override; 
      published 
      property Custom; 
      property Style; 
      property StyleRule; 
      property Caption; 
      property XMLBroker; 
      property XMLUseParent; 
      end; 
      TShowDeltaButton = class(TCustomShowXMLButton) 
      public 
      constructor Create(AOwner: TComponent); override; 
      published 
      property Custom; 
      property Style; 
      property StyleRule; 
      property Caption; 
      property XMLBroker; 
      property XMLUseParent; 
      end; 
      implementation 
      uses sysutils MidProd; 
      resourcestring 
      sShowXML = 'Show XML'; 
      sShowDelta = 'Show Delta'; 
      procedure TCustomShowXMLButton.AddElements( 
      AddIntf: IAddScriptElements); 
      begin 
    AddIntf.AddIncludeFile('xmlshow.js'); 
      end; 
      function TCustomShowXMLButton.GetSubComponents: TObject; 
      begin 
      Result := nil; 
      end; 
      function TCustomShowXMLButton.ImplContent(Options: TWebContentOptions; 
      ParentLayout: TLayout): string; 
      var 
      Attrs: string; 
      Intf: ILayoutWebContent; 
      FormVarName: string; 
      RowSetVarName: string; 
      begin 
      AddQuotedAttrib(Attrs 'NAME' Name); 
      AddQuotedAttrib(Attrs 'STYLE' Style); 
      AddQuotedAttrib(Attrs 'CLASS' StyleRule); 
      AddQuotedAttrib(Attrs 'VALUE' Self.Caption); 
      AddCustomAttrib(Attrs Custom); 
      if Assigned(XMLData.XMLBroker) then 
      begin 
      FormVarName := XMLData.XMLBroker.SubmitFormVarName; 
      RowSetVarName := XMLData.XMLBroker.RowSetVarName(nil); // Row row set var name 
      end; 
      if not (coNoScript in Options.Flags) then 
      Result := 
      Format(''#13#10 
      [Attrs RowSetVarName XMLMethodName sXMLReadyVar]) 
      else 
      Result := 
      Format(''#13#10 
      [Attrs]); 
      if Assigned(ParentLayout) and ParentLayout.GetInterface(ILayoutWebContent Intf) then 
      Result := Intf.LayoutButton(Result GetLayoutAttributes); 
      end; 
      { TShowXMLButton } 
      constructor TShowXMLButton.Create(AOwner: TComponent); 
      begin 
      inherited; 
      DefaultCaption := sShowXML
      XMLMethodName := 'root'; 
     end; 
      { TShowDeltaButton } 
      constructor TShowDeltaButton.Create(AOwner: TComponent); 
      begin 
      inherited; 
      DefaultCaption := sShowDelta; 
      XMLMethodName := 'getDelta()'; 
      end; 
      另一种方法使用msxml.dll 如下: 
      .... 
      .... 
      procedure TDHEDForm.OpenBtnClick(Sender: TObject); 
      var 
      pVIn : OleVariant; 
      Prompt : OleVariant; 
      begin 
      pVIn := ''; 
      Prompt := True; 
      DHtmlEdit1.LoadDocument(pVIn Prompt); 
      end; 
      procedure TDHEDForm.SaveBtnClick(Sender: TObject); 
      var 
      vo vb : OleVariant; 
      begin 
      vo := DHTMLEdit1.CurrentDocumentPath; 
      if (vo <> '') then 
      begin 
      vb := false; 
      end 
      else 
      begin 
      vo := ''; 
      vb := true; 
      end; 
      DHTMLEdit1.SaveDocument(vo vb); 
      end; 
      procedure TDHEDForm.SaveAsClick(Sender: TObject); 
      var 
      vo vb : OleVariant; 
      begin 
      vo := ''; 
      vb := true; 
      DHTMLEdit1.SaveDocument(vo vb); 
      end; 
      ...
     
    我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.www.ct131.com All Rights Reserved.365bet官方 版权所有