type TblLook = class(OpenXmlElement) public function Create();overload; function Create(_node: XmlNode);overload; function Create(_parent: tslobj; _prefix: string; _local_name: string);overload; function Init();override; function InitAttributes();override; function InitChildren();override; function InitNode(_node: XmlNode);override; function Copy(_obj: TblLook);override; property Val read ReadXmlAttrVal write WriteXmlAttrVal; property FirstRow read ReadXmlAttrFirstRow write WriteXmlAttrFirstRow; property LastRow read ReadXmlAttrLastRow write WriteXmlAttrLastRow; property FirstColumn read ReadXmlAttrFirstColumn write WriteXmlAttrFirstColumn; property LastColumn read ReadXmlAttrLastColumn write WriteXmlAttrLastColumn; property NoHBand read ReadXmlAttrNoHBand write WriteXmlAttrNoHBand; property NoVBand read ReadXmlAttrNoVBand write WriteXmlAttrNoVBand; function ReadXmlAttrVal(); function WriteXmlAttrVal(_value); function ReadXmlAttrFirstRow(); function WriteXmlAttrFirstRow(_value); function ReadXmlAttrLastRow(); function WriteXmlAttrLastRow(_value); function ReadXmlAttrFirstColumn(); function WriteXmlAttrFirstColumn(_value); function ReadXmlAttrLastColumn(); function WriteXmlAttrLastColumn(_value); function ReadXmlAttrNoHBand(); function WriteXmlAttrNoHBand(_value); function ReadXmlAttrNoVBand(); function WriteXmlAttrNoVBand(_value); public // Attributes XmlAttrVal: OpenXmlAttribute; XmlAttrFirstRow: OpenXmlAttribute; XmlAttrLastRow: OpenXmlAttribute; XmlAttrFirstColumn: OpenXmlAttribute; XmlAttrLastColumn: OpenXmlAttribute; XmlAttrNoHBand: OpenXmlAttribute; XmlAttrNoVBand: OpenXmlAttribute; // Children end; function TblLook.Create();overload; begin {self.}Create(nil, "w", "tblLook"); end; function TblLook.Create(_node: XmlNode);overload; begin class(OpenXmlElement).Create(_node: XmlNode); end; function TblLook.Create(_parent: tslobj; _prefix: string; _local_name: string);overload; begin class(OpenXmlElement).Create(_parent, _prefix, _local_name); end; function TblLook.Init();override; begin {self.}XmlAttrVal := new OpenXmlAttribute({self.}Prefix, "val", nil); {self.}XmlAttrFirstRow := new OpenXmlAttribute({self.}Prefix, "firstRow", nil); {self.}XmlAttrLastRow := new OpenXmlAttribute({self.}Prefix, "lastRow", nil); {self.}XmlAttrFirstColumn := new OpenXmlAttribute({self.}Prefix, "firstColumn", nil); {self.}XmlAttrLastColumn := new OpenXmlAttribute({self.}Prefix, "lastColumn", nil); {self.}XmlAttrNoHBand := new OpenXmlAttribute({self.}Prefix, "noHBand", nil); {self.}XmlAttrNoVBand := new OpenXmlAttribute({self.}Prefix, "noVBand", nil); end; function TblLook.InitAttributes();override; begin attributes_ := array( {self.}XmlAttrVal, {self.}XmlAttrFirstRow, {self.}XmlAttrLastRow, {self.}XmlAttrFirstColumn, {self.}XmlAttrLastColumn, {self.}XmlAttrNoHBand, {self.}XmlAttrNoVBand, ); end; function TblLook.InitChildren();override; begin child_elements_ := array( ); sorted_child_ := array( "": -1, ); end; function TblLook.InitNode(_node: XmlNode);override; begin if ifObj({self.}XmlNode) then for k,v in child_elements_ do v.InitNode(nil); {self.}XmlNode := ifObj(_node) ? _node : nil; end; function TblLook.Copy(_obj: TblLook);override; begin if not ifnil(_obj.XmlAttrVal.Value) then {self.}XmlAttrVal.Value := _obj.XmlAttrVal.Value; if not ifnil(_obj.XmlAttrFirstRow.Value) then {self.}XmlAttrFirstRow.Value := _obj.XmlAttrFirstRow.Value; if not ifnil(_obj.XmlAttrLastRow.Value) then {self.}XmlAttrLastRow.Value := _obj.XmlAttrLastRow.Value; if not ifnil(_obj.XmlAttrFirstColumn.Value) then {self.}XmlAttrFirstColumn.Value := _obj.XmlAttrFirstColumn.Value; if not ifnil(_obj.XmlAttrLastColumn.Value) then {self.}XmlAttrLastColumn.Value := _obj.XmlAttrLastColumn.Value; if not ifnil(_obj.XmlAttrNoHBand.Value) then {self.}XmlAttrNoHBand.Value := _obj.XmlAttrNoHBand.Value; if not ifnil(_obj.XmlAttrNoVBand.Value) then {self.}XmlAttrNoVBand.Value := _obj.XmlAttrNoVBand.Value; end; function TblLook.ReadXmlAttrVal(); begin return {self.}XmlAttrVal.Value; end; function TblLook.WriteXmlAttrVal(_value); begin {self.}XmlAttrVal.Value := _value; end; function TblLook.ReadXmlAttrFirstRow(); begin return {self.}XmlAttrFirstRow.Value; end; function TblLook.WriteXmlAttrFirstRow(_value); begin {self.}XmlAttrFirstRow.Value := _value; end; function TblLook.ReadXmlAttrLastRow(); begin return {self.}XmlAttrLastRow.Value; end; function TblLook.WriteXmlAttrLastRow(_value); begin {self.}XmlAttrLastRow.Value := _value; end; function TblLook.ReadXmlAttrFirstColumn(); begin return {self.}XmlAttrFirstColumn.Value; end; function TblLook.WriteXmlAttrFirstColumn(_value); begin {self.}XmlAttrFirstColumn.Value := _value; end; function TblLook.ReadXmlAttrLastColumn(); begin return {self.}XmlAttrLastColumn.Value; end; function TblLook.WriteXmlAttrLastColumn(_value); begin {self.}XmlAttrLastColumn.Value := _value; end; function TblLook.ReadXmlAttrNoHBand(); begin return {self.}XmlAttrNoHBand.Value; end; function TblLook.WriteXmlAttrNoHBand(_value); begin {self.}XmlAttrNoHBand.Value := _value; end; function TblLook.ReadXmlAttrNoVBand(); begin return {self.}XmlAttrNoVBand.Value; end; function TblLook.WriteXmlAttrNoVBand(_value); begin {self.}XmlAttrNoVBand.Value := _value; end;