国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

在delphi中使用xml文檔有兩種方法

2019-11-18 18:00:08
字體:
來源:轉載
供稿:網友
在delphi中使用xml文檔有兩種方法
使用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;
...

上一篇:幾個delphi書中沒提過的數據庫問題與我的疑惑和心得(一起討論)

下一篇:delphi7的新特性

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 璧山县| 沂南县| 吴忠市| 太保市| 罗山县| 桓仁| 德阳市| 石河子市| 棋牌| 枣庄市| 宕昌县| 大余县| 普宁市| 荣成市| 东山县| 扬州市| 庆安县| 江达县| 广饶县| 正宁县| 寿光市| 囊谦县| 关岭| 同仁县| 大厂| 陆良县| 顺平县| 台东县| 巴青县| 边坝县| 中卫市| 大冶市| 永兴县| 怀远县| 祁阳县| 夹江县| 廊坊市| 莱阳市| 霍山县| 黎平县| 宾川县|