Использование Delphi и XML-файлов.
XML-брокер в Delphi или Delphi:
модуль ShowXML;
интерфейс
использует классы HTTPApp Db DbClient Midas
XMLBrokr WebComp MidItems;
тип
TCustomShowXMLButton = класс (TXMLButton IScriptComponent)
Защищено
XMLMethodName: строка;
{ IScriptComponent }
процедура AddElements (AddIntf: IAddScriptElements);
функция GetSubComponents: TObject;
{ Реализация IWebContent }
функция ImplContent (Параметры: TWebContentOptions;
ParentLayout: TLayout): строка; переопределить;
конец;
TShowXMLButton = класс (TCustomShowXMLButton)
общественный
конструктор Create(AOwner: TComponent); переопределить;
опубликовано
свойство Custom;
стиль свойства;
свойство StyleRule;
свойство Заголовок;
свойство XMLBroker;
свойство XMLUseParent;
конец;
TShowDeltaButton = класс (TCustomShowXMLButton)
общественный
конструктор Create(AOwner: TComponent); переопределить;
опубликовано
свойство Custom;
стиль свойства;
свойство StyleRule;
свойство Заголовок;
свойство XMLBroker;
свойство XMLUseParent;
конец;
выполнение
использует sysutils MidProd;
строка ресурсов
sShowXML = 'Показать XML';
sShowDelta = 'Показать дельту';
процедура TCustomShowXMLButton.AddElements(
AddIntf: IAddScriptElements);
начинать
AddIntf.AddIncludeFile('xmlshow.js');
конец;
функция TCustomShowXMLButton.GetSubComponents: TObject;
начинать
Результат: = ноль;
конец;
функция TCustomShowXMLButton.ImplContent (Параметры: TWebContentOptions;
ParentLayout: TLayout): строка;
вар
Атрибуты: строка;
Intf: ILayoutWebContent;
ИмяФормыVarName: строка;
RowSetVarName: строка;
начинать
AddQuotedAttrib (имя атрибута «ИМЯ»);
AddQuotedAttrib (стиль атрибутов «СТИЛЬ»);
AddQuotedAttrib (Attrs 'CLASS' StyleRule);
AddQuotedAttrib(Attrs 'VALUE' Self.Caption);
AddCustomAttrib (Пользовательские атрибуты);
если Назначено(XMLData.XMLBroker), то
начинать
ИмяПеременнойФормы:= XMLData.XMLBroker.SubmitИмяПеременнойФормы;
RowSetVarName: = XMLData.XMLBroker.RowSetVarName(ноль); // Имя переменной набора строк строки
конец;
если нет (coNoScript в Options.Flags), то
Результат :=
Формат(''#13#10
[Attrs RowSetVarName XMLMethodName sXMLReadyVar])
еще
Результат :=
Формат(''#13#10
[Атрибуты]);
если Assigned(ParentLayout) и ParentLayout.GetInterface(ILayoutWebContent Intf), то
Результат: = Intf.LayoutButton(Result GetLayoutAttributes);
конец;
{ TShowXMLButton }
конструктор TShowXMLButton.Create(AOwner: TComponent);
начинать
унаследованный;
DefaultCaption := sShowXML;
XMLMethodName := 'корень';
конец;
{ TShowDeltaButton }
конструктор TShowDeltaButton.Create(AOwner: TComponent);
начинать
унаследованный;
DefaultCaption := sShowDelta;
XMLMethodName := 'getDelta()';
конец;
Загрузите файл msxml.dll:
....
....
процедура TDHEDForm.OpenBtnClick(Отправитель: TObject);
вар
пВин: ОлеВариант;
Подсказка: OleVariant;
начинать
пВин := '';
Подсказка: = Истина;
DHTMLEdit1.LoadDocument (подсказка pVin);
конец;
процедура TDHEDForm.SaveBtnClick(Отправитель: TObject);
вар
во вб: ОлеВариант;
начинать
vo:= DHTMLEdit1.CurrentDocumentPath;
если (vo <> ''), то
начинать
вб := ложь;
конец
еще
начинать
во := '';
вб := правда;
конец;
DHTMLEdit1.SaveDocument(vo vb);
конец;
процедура TDHEDForm.SaveAsClick(Отправитель: TObject);
вар
во вб: ОлеВариант;
начинать
во := '';
вб := правда;
DHTMLEdit1.SaveDocument(vo vb);
конец;
...
//本文为转贴,作者不详,仅供大家参考