type PptxComponents = class(TSComponentsBase) public function Create(); function Init();override; property Rels read ReadRels; property App read ReadApp; property Core read ReadCore; property PresentationRels read ReadPresentationRels; property SlideLayouts read ReadSlideLayouts; property SlideLayoutRels read ReadSlideLayoutRels; property SlideMasters read ReadSlideMasters; property SlideMasterRels read ReadSlideMasterRels; property Slides read ReadSlides; property SlideRels read ReadSlideRels; property Themes read ReadThemes; property Presentation read ReadPresentation; property PresProps read ReadPresProps; property TableStyles read ReadTableStyles; property ViewProps read ReadViewProps; property ContentTypes read ReadContentTypes; function ReadRels(); function ReadApp(); function ReadCore(); function ReadPresentationRels(); function ReadSlideLayouts(_index: integer); function ReadSlideLayoutRels(_index: integer); function ReadSlideMasters(_index: integer); function ReadSlideMasterRels(_index: integer); function ReadSlides(_index: integer); function ReadSlideRels(_index: integer); function ReadThemes(_index: integer); function ReadPresentation(); function ReadPresProps(); function ReadTableStyles(); function ReadViewProps(); function ReadContentTypes(); protected function NewObject(_name: string): tslobj;override; private // xml rels_: Relationships; app_: Properties; core_: CoreProperties; presentation_rels_: Relationships; slide_layout_array_: array of SldLayout; slide_layout_rels_array_ array of Relationships; slide_master_array_: array of SldMaster; slide_master_rels_array_: array of Relationships; slide_array_: array of Sld; slide_rels_array_: array of Relationships; theme_array_: array of Theme; presentation_: Presentation; pres_props_: PresnetationPr; table_styles_: TblStyleLst; view_props_: ViewPr; content_types_: Types; end; function PptxComponents.Create(); begin inherited; end; function PptxComponents.Init();override; begin conf_ := array ( "rels": array("_rels/.rels", "Relationships"), "app": array("docProps/app.xml", "Properties"), "core": array("docProps/core.xml", "cp:coreProperties"), "presentation_rels": array("ppt/_rels/presentation.xml.rels", "Relationships"), "slide_layout": array("ppt/slideLayouts/slideLayout%d.xml", "p:sldLayout"), "slide_layout_rels": array("ppt/slideLayouts/_rels/slideLayout%d.xml.rels", "Relationships"), "slide_master": array("ppt/slideMasters/slideMaster%d.xml", "p:sldMaster"), "slide_master_rels": array("ppt/slideMasters/_rels/slideMaster%d.xml.rels", "Relationships"), "slide": array("ppt/slides/slide%d.xml", "p:sld"), "slide_rels": array("ppt/slides/_rels/slide%d.xml.rels", "Relationships"), "theme": array("ppt/theme/theme%d.xml", "a:theme"), "presentation": array("ppt/presentation.xml", "p:presentation"), "pres_props": array("ppt/presProps.xml", "p:presentationPr"), "table_styles": array("ppt/tableStyles.xml", "a:tblStyleLst"), "view_props": array("ppt/viewProps.xml", "p:viewPr"), "content_types": array("[Content_Types].xml", "Types"), ); rels_ := nil; app_ := nil; core_ := nil; presentation_rels_ := nil; slide_layout_array_ := array(); slide_layout_rels_array_ := array(); slide_master_array_ := array(); slide_master_rels_array_ := array(); slide_array_ := array(); slide_rels_array_ := array(); theme_array_ := array(); presentation_ := nil; pres_props_ := nil; table_styles_ := nil; view_props_ := nil; content_types_ := nil; end; function PptxComponents.NewObject(_name: string): tslobj;override; begin case _name of "rels", "presentation_rels", "slide_layout_rels", "slide_master_rels", "slide_rels": return new Relationships(); "app": return new Properties(); "core": return new CoreProperties(); "theme": return new Theme(); "content_types": return new Types(); "slide": return new Sld(); "slide_layout": return new SldLayout(); "slide_master": return new SldMaster(); "presentation": return new Presentation(); "pres_props": return new PresnetationPr(); "table_styles": return new TblStyleLst(); "view_props": return new ViewPr(); end; end; function PptxComponents.ReadRels(); begin return {self.}SetProp(rels_, "rels"); end; function PptxComponents.ReadApp(); begin return {self.}SetProp(app_, "app"); end; function PptxComponents.ReadCore(); begin return {self.}SetProp(core_, "core"); end; function PptxComponents.ReadPresentationRels(); begin return {self.}SetProp(presentation_rels_, "presentation_rels"); end; function PptxComponents.ReadSlideLayouts(_index: integer); begin return {self.}SetPropArr(slide_layout_array_, "slide_layout", _index); end; function PptxComponents.ReadSlideLayoutRels(_index: integer); begin return {self.}SetPropArr(slide_layout_rels_array_, "slide_layout_rels", _index); end; function PptxComponents.ReadSlideMasters(_index: integer); begin return {self.}SetPropArr(slide_master_array_, "slide_master", _index); end; function PptxComponents.ReadSlideMasterRels(_index: integer); begin return {self.}SetPropArr(slide_master_rels_array_, "slide_master_rels", _index); end; function PptxComponents.ReadSlides(_index: integer); begin return {self.}SetPropArr(slide_array_, "slide", _index); end; function PptxComponents.ReadSlideRels(_index: integer); begin return {self.}SetPropArr(slide_rels_array_, "slide_rels", _index); end; function PptxComponents.ReadThemes(_index: integer); begin return {self.}SetPropArr(theme_array_, "theme", _index); end; function PptxComponents.ReadPresentation(); begin return {self.}SetProp(presentation_, "presentation"); end; function PptxComponents.ReadPresProps(); begin return {self.}SetProp(pres_props_, "pres_props"); end; function PptxComponents.ReadTableStyles(); begin return {self.}SetProp(table_styles_, "table_styles"); end; function PptxComponents.ReadViewProps(); begin return {self.}SetProp(view_props_, "view_props"); end; function PptxComponents.ReadContentTypes(); begin return {self.}SetProp(content_types_, "content_types"); end;