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 Copy(_obj: TblLook);override; public // attributes property 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; 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 setsysparam(pn_calcctrlword(), getsysparam(pn_calcctrlword()) .| 0x200); class(OpenXmlElement).Create(_parent, _prefix, _local_name); end; function TblLook.Init();override; begin pre := {self.}Prefix ? {self.}Prefix + ":" : ""; attributes_ := array(); attributes_pf_ := array( pre + "val": makeweakref(thisFunction(WriteXmlAttrVal)), pre + "firstRow": makeweakref(thisFunction(WriteXmlAttrFirstRow)), pre + "lastRow": makeweakref(thisFunction(WriteXmlAttrLastRow)), pre + "firstColumn": makeweakref(thisFunction(WriteXmlAttrFirstColumn)), pre + "lastColumn": makeweakref(thisFunction(WriteXmlAttrLastColumn)), pre + "noHBand": makeweakref(thisFunction(WriteXmlAttrNoHBand)), pre + "noVBand": makeweakref(thisFunction(WriteXmlAttrNoVBand)), ); sorted_child_ := array( ); container_ := new TSOfficeContainer(sorted_child_); end; function TblLook.Copy(_obj: TblLook);override; begin tslassigning_backup := tslassigning; tslassigning := 1; class(OpenXmlElement).Copy(_obj); if not ifnil(_obj.Val) then {self.}Val := _obj.Val; if not ifnil(_obj.FirstRow) then {self.}FirstRow := _obj.FirstRow; if not ifnil(_obj.LastRow) then {self.}LastRow := _obj.LastRow; if not ifnil(_obj.FirstColumn) then {self.}FirstColumn := _obj.FirstColumn; if not ifnil(_obj.LastColumn) then {self.}LastColumn := _obj.LastColumn; if not ifnil(_obj.NoHBand) then {self.}NoHBand := _obj.NoHBand; if not ifnil(_obj.NoVBand) then {self.}NoVBand := _obj.NoVBand; tslassigning := tslassigning_backup; end; function TblLook.ReadXmlAttrVal(); begin return {self.}XmlAttrVal.Value; end; function TblLook.WriteXmlAttrVal(_value); begin if ifnil({self.}XmlAttrVal) then begin {self.}XmlAttrVal := new OpenXmlAttribute({self.}Prefix, "val", nil); attributes_[length(attributes_)] := {self.}XmlAttrVal; end {self.}XmlAttrVal.Value := _value; end; function TblLook.ReadXmlAttrFirstRow(); begin return {self.}XmlAttrFirstRow.Value; end; function TblLook.WriteXmlAttrFirstRow(_value); begin if ifnil({self.}XmlAttrFirstRow) then begin {self.}XmlAttrFirstRow := new OpenXmlAttribute({self.}Prefix, "firstRow", nil); attributes_[length(attributes_)] := {self.}XmlAttrFirstRow; end {self.}XmlAttrFirstRow.Value := _value; end; function TblLook.ReadXmlAttrLastRow(); begin return {self.}XmlAttrLastRow.Value; end; function TblLook.WriteXmlAttrLastRow(_value); begin if ifnil({self.}XmlAttrLastRow) then begin {self.}XmlAttrLastRow := new OpenXmlAttribute({self.}Prefix, "lastRow", nil); attributes_[length(attributes_)] := {self.}XmlAttrLastRow; end {self.}XmlAttrLastRow.Value := _value; end; function TblLook.ReadXmlAttrFirstColumn(); begin return {self.}XmlAttrFirstColumn.Value; end; function TblLook.WriteXmlAttrFirstColumn(_value); begin if ifnil({self.}XmlAttrFirstColumn) then begin {self.}XmlAttrFirstColumn := new OpenXmlAttribute({self.}Prefix, "firstColumn", nil); attributes_[length(attributes_)] := {self.}XmlAttrFirstColumn; end {self.}XmlAttrFirstColumn.Value := _value; end; function TblLook.ReadXmlAttrLastColumn(); begin return {self.}XmlAttrLastColumn.Value; end; function TblLook.WriteXmlAttrLastColumn(_value); begin if ifnil({self.}XmlAttrLastColumn) then begin {self.}XmlAttrLastColumn := new OpenXmlAttribute({self.}Prefix, "lastColumn", nil); attributes_[length(attributes_)] := {self.}XmlAttrLastColumn; end {self.}XmlAttrLastColumn.Value := _value; end; function TblLook.ReadXmlAttrNoHBand(); begin return {self.}XmlAttrNoHBand.Value; end; function TblLook.WriteXmlAttrNoHBand(_value); begin if ifnil({self.}XmlAttrNoHBand) then begin {self.}XmlAttrNoHBand := new OpenXmlAttribute({self.}Prefix, "noHBand", nil); attributes_[length(attributes_)] := {self.}XmlAttrNoHBand; end {self.}XmlAttrNoHBand.Value := _value; end; function TblLook.ReadXmlAttrNoVBand(); begin return {self.}XmlAttrNoVBand.Value; end; function TblLook.WriteXmlAttrNoVBand(_value); begin if ifnil({self.}XmlAttrNoVBand) then begin {self.}XmlAttrNoVBand := new OpenXmlAttribute({self.}Prefix, "noVBand", nil); attributes_[length(attributes_)] := {self.}XmlAttrNoVBand; end {self.}XmlAttrNoVBand.Value := _value; end;