diff --git a/Demo/ExcelHelp.tsl b/Demo/XlsxHelp.tsl similarity index 96% rename from Demo/ExcelHelp.tsl rename to Demo/XlsxHelp.tsl index b18cc9c..234b1ac 100644 --- a/Demo/ExcelHelp.tsl +++ b/Demo/XlsxHelp.tsl @@ -1,28 +1,28 @@ path := ExtractFileDir(ExtractFileDir(PluginPath())); {$IFNDEF Win32} - path := path + '\\funcext\\TSOffice\\TSExcelFile.tsf'; + path := path + '\\funcext\\TSOffice\\TSXlsxFile.tsf'; {$ELSE} - path := path + '/funcext/TSOffice/TSExcelFile.tsf'; + path := path + '/funcext/TSOffice/TSXlsxFile.tsf'; {$ENDIF} funcs := LoadClassInfo(path); testing := 1; -file := new TSExcelFile(); +file := new TSXlsxFile(); [err, errinfo] := file.NewFile(); if err then return PrintError("NewFile", err, errinfo); PrintSuccess("NewFile", testing++); -file.SetSheetName('Sheet1', 'ExcelFile'); +file.SetSheetName('Sheet1', 'XlsxFile'); PrintSuccess("SetSheetName", testing++); file.NewSheet("Functions"); PrintSuccess("NewSheet", testing++); -file.SetDefaultSheet('ExcelFile'); +file.SetDefaultSheet('TSXlsxFile'); richtext := TOfficeObj('TRichText'); -txt1 := richtext.AddText('TSExcelFile类 '); +txt1 := richtext.AddText('TSXlsxFile类 '); txt1.Font.Size := 35; txt1.Font.Color := "FF0000"; txt1.Font.Bold := 1; @@ -34,14 +34,14 @@ txt2.Font.Bold := 1; txt2.Font.Italic := 1; txt2.Font.Color := "FFC0CB"; -file.SetCellRichText('ExcelFile', 'A1', richtext); +file.SetCellRichText('XlsxFile', 'A1', richtext); PrintSuccess("SetCellRichText", testing++); -[err, richText] := file.GetCellRichText('ExcelFile', 'A1'); +[err, richText] := file.GetCellRichText('XlsxFile', 'A1'); if err then return PrintError("GetCellRichText", err, errinfo); PrintSuccess("GetCellRichText", testing++); -file.MergeCell('ExcelFile', 'A1', 'C1'); +file.MergeCell('XlsxFile', 'A1', 'C1'); PrintSuccess("MergeCell", testing++); @@ -65,15 +65,15 @@ style.Fill.Gradient.Stop2.Color := "E0EBF5"; styleId := file.NewStyle(style); PrintSuccess("NewStyle", testing++); -file.SetCellStyle("ExcelFile", 'A1', 'C1', styleId); +file.SetCellStyle("XlsxFile", 'A1', 'C1', styleId); -file.SetCellValue("ExcelFile", "A3", "索引"); -file.SetCellValue("ExcelFile", "B3", "函数名称"); -file.SetCellValue("ExcelFile", "C3", "功能"); -file.SetColWidth("ExcelFile", "A", "A", 6); -file.SetColWidth("ExcelFile", "B", "B", 55); -file.SetColWidth("ExcelFile", "C", "C", 100); -file.SetCellStyle("ExcelFile", "A3", "C3", styleId); +file.SetCellValue("XlsxFile", "A3", "索引"); +file.SetCellValue("XlsxFile", "B3", "函数名称"); +file.SetCellValue("XlsxFile", "C3", "功能"); +file.SetColWidth("XlsxFile", "A", "A", 6); +file.SetColWidth("XlsxFile", "B", "B", 55); +file.SetColWidth("XlsxFile", "C", "C", 100); +file.SetCellStyle("XlsxFile", "A3", "C3", styleId); style2 := TOfficeObj("TStyle"); @@ -108,9 +108,9 @@ Begin [err0, cell0] := file.CoordinatesToCellName(1, i+4); [err1, cell1] := file.CoordinatesToCellName(2, i+4); [err2, cell2] := file.CoordinatesToCellName(3, i+4); - file.SetCellValue("ExcelFile", cell0, i+1); - file.SetCellValue("ExcelFile", cell1, funcs[i]['funcname']); - file.SetCellValue("ExcelFile", cell2, funcs[i]['name']); + file.SetCellValue("XlsxFile", cell0, i+1); + file.SetCellValue("XlsxFile", cell1, funcs[i]['funcname']); + file.SetCellValue("XlsxFile", cell2, funcs[i]['name']); str := funcs[i]['name'] + "\nFunction " + funcs[i]['funcname'] + funcs[i]['comment']; arr := str2array(str, "\n"); @@ -130,15 +130,15 @@ Begin hyperlink.LinkType := "location"; hyperlink.LinkUrl := "Functions!" $ c1; - file.SetCellHyperLink("ExcelFile", cell1, hyperlink); - file.SetCellStyle("ExcelFile", cell1, cell1, styleId4); + file.SetCellHyperLink("XlsxFile", cell1, hyperlink); + file.SetCellStyle("XlsxFile", cell1, cell1, styleId4); End file.SetColWidth('Functions', 'A', 'A', 120); PrintSuccess('SetColWidth', testing++); -saveName := utf8toansi("ExcelFile使用帮助.xlsx"); +saveName := utf8toansi("XlsxFile使用帮助.xlsx"); [err, errinfo] := file.SaveAs('', saveName); if err then return PrintError("SaveAs", err, errinfo); diff --git a/DocxFile使用帮助.docx b/DocxFile使用帮助.docx index 47a36d6..2889768 100644 Binary files a/DocxFile使用帮助.docx and b/DocxFile使用帮助.docx differ diff --git a/ExcelFile使用帮助.xlsx b/ExcelFile使用帮助.xlsx deleted file mode 100644 index b137f79..0000000 Binary files a/ExcelFile使用帮助.xlsx and /dev/null differ diff --git a/XlsxFile使用帮助.xlsx b/XlsxFile使用帮助.xlsx new file mode 100644 index 0000000..c410454 Binary files /dev/null and b/XlsxFile使用帮助.xlsx differ diff --git a/funcext/TSOffice/TOfficeObj.tsf b/funcext/TSOffice/TOfficeObj.tsf index ea7288a..3f44baa 100644 --- a/funcext/TSOffice/TOfficeObj.tsf +++ b/funcext/TSOffice/TOfficeObj.tsf @@ -1,4 +1,4 @@ -// Version 1.4.5 +// Version 1.4.6 Function TOfficeObj(n); Begin @@ -482,26 +482,26 @@ type TFont=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Name","name":"name","obj":XMLName,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Size","name":"sz","obj":XMLSize,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Bold","name":"b","obj":XMLBold,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"Italic","name":"i","obj":XMLItalic,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"Color","name":"color","obj":XMLColor,"attrEx":"","nodeType":"","attrName":"rgb", "desc":"", "class":"") - ,("field":"ThemeColor","name":"color","obj":XMLThemeColor,"attrEx":"theme","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Strikethrough","name":"strike","obj":XMLStrikethrough,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"Script","name":"vertAlign","obj":XMLScript,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Charset","name":"charset","obj":XMLCharset,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Underline","name":"u","obj":XMLUnderline,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"FontStyle","name":"fontstyle","obj":FontStyle,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"OutlineFont","name":"outlinefont","obj":OutlineFont,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Shadow","name":"shadow","obj":Shadow,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"TintAndShade","name":"tintandshade","obj":TintAndShade,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Background","name":"background","obj":Background,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"rFont","name":"rFont","obj":rFont,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ThemeFont","name":"scheme","obj":ThemeFont,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ColorIndex","name":"color","obj":ColorIndex,"attrEx":"index","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Subscript","name":"subscript","obj":Subscript,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Superscript","name":"superscript","obj":Superscript,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'Name','name':'name','obj':XMLName,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Size','name':'sz','obj':XMLSize,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Bold','name':'b','obj':XMLBold,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'Italic','name':'i','obj':XMLItalic,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'Color','name':'color','obj':XMLColor,'attrEx':'','nodeType':'','attrName':'rgb', 'desc':'', 'class':'') + ,('field':'ThemeColor','name':'color','obj':XMLThemeColor,'attrEx':'theme','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Strikethrough','name':'strike','obj':XMLStrikethrough,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'Script','name':'vertAlign','obj':XMLScript,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Charset','name':'charset','obj':XMLCharset,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Underline','name':'u','obj':XMLUnderline,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'FontStyle','name':'fontstyle','obj':FontStyle,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'OutlineFont','name':'outlinefont','obj':OutlineFont,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Shadow','name':'shadow','obj':Shadow,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'TintAndShade','name':'tintandshade','obj':TintAndShade,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Background','name':'background','obj':Background,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'rFont','name':'rFont','obj':rFont,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ThemeFont','name':'scheme','obj':ThemeFont,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ColorIndex','name':'color','obj':ColorIndex,'attrEx':'index','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Subscript','name':'subscript','obj':Subscript,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Superscript','name':'superscript','obj':Superscript,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -579,9 +579,9 @@ type TComment=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Font","name":Font.NodeName,"obj":Font,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TFont") - ,("field":"Text","name":"t","obj":XMLText,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Space","name":"t","obj":Space,"attrEx":"xml:space","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'Font','name':Font.NodeName,'obj':Font,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TFont') + ,('field':'Text','name':'t','obj':XMLText,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Space','name':'t','obj':Space,'attrEx':'xml:space','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -743,10 +743,10 @@ type TxdrFromTo=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Col","name":"xdr:col","obj":Col,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"ColOff","name":"xdr:colOff","obj":ColOff,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Row","name":"xdr:row","obj":Row,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"RowOff","name":"xdr:rowOff","obj":RowOff,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") + return array(('field':'Col','name':'xdr:col','obj':Col,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'ColOff','name':'xdr:colOff','obj':ColOff,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Row','name':'xdr:row','obj':Row,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'RowOff','name':'xdr:rowOff','obj':RowOff,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -885,8 +885,8 @@ type TXfrm=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Off","name":Off.NodeName,"obj":Off,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TOff") - ,("field":"Ext","name":Ext.NodeName,"obj":Ext,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TExt") + return array(('field':'Off','name':Off.NodeName,'obj':Off,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TOff') + ,('field':'Ext','name':Ext.NodeName,'obj':Ext,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TExt') ) union ExtNodes; End; @@ -932,12 +932,12 @@ type TClientData=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"MoveWithCells","name":"x:MoveWithCells","obj":MoveWithCells,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"SizeWithCells","name":"x:SizeWithCells","obj":SizeWithCells,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"Anchor","name":"x:Anchor","obj":Anchor,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"AutoFill","name":"x:AutoFill","obj":AutoFill,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Row","name":"x:Row","obj":Row,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Column","name":"x:Column","obj":Column,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") + return array(('field':'MoveWithCells','name':'x:MoveWithCells','obj':MoveWithCells,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'SizeWithCells','name':'x:SizeWithCells','obj':SizeWithCells,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'Anchor','name':'x:Anchor','obj':Anchor,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'AutoFill','name':'x:AutoFill','obj':AutoFill,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Row','name':'x:Row','obj':Row,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Column','name':'x:Column','obj':Column,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -987,9 +987,9 @@ type TGraphicFramePr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Id","name":"xdr:cNvPr","obj":Id,"attrEx":"id","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Name","name":"xdr:cNvPr","obj":Name,"attrEx":"name","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"cNvGraphicFramePr","name":"xdr:cNvGraphicFramePr","obj":cNvGraphicFramePr,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") + return array(('field':'Id','name':'xdr:cNvPr','obj':Id,'attrEx':'id','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Name','name':'xdr:cNvPr','obj':Name,'attrEx':'name','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'cNvGraphicFramePr','name':'xdr:cNvGraphicFramePr','obj':cNvGraphicFramePr,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -1041,9 +1041,9 @@ type TGraphicFrame=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"GraphicFramePr","name":GraphicFramePr.NodeName,"obj":GraphicFramePr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TGraphicFramePr") - ,("field":"Xfrm","name":Xfrm.NodeName,"obj":Xfrm,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TXfrm") - ,("field":"Graphic","name":Graphic.NodeName,"obj":Graphic,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TGraphic") + return array(('field':'GraphicFramePr','name':GraphicFramePr.NodeName,'obj':GraphicFramePr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TGraphicFramePr') + ,('field':'Xfrm','name':Xfrm.NodeName,'obj':Xfrm,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TXfrm') + ,('field':'Graphic','name':Graphic.NodeName,'obj':Graphic,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TGraphic') ) union ExtNodes; End; @@ -1100,11 +1100,11 @@ type TtwoCellAnchor=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"XFrom","name":XFrom.NodeName,"obj":XFrom,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TxdrFromTo") - ,("field":"XTo","name":XTo.NodeName,"obj":XTo,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TxdrFromTo") - ,("field":"GraphicFrame","name":GraphicFrame.NodeName,"obj":GraphicFrame,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TGraphicFrame") - ,("field":"Pic","name":Pic.NodeName,"obj":Pic,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TPic") - ,("field":"ClientData","name":ClientData.NodeName,"obj":ClientData,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"TClientData") + return array(('field':'XFrom','name':XFrom.NodeName,'obj':XFrom,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TxdrFromTo') + ,('field':'XTo','name':XTo.NodeName,'obj':XTo,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TxdrFromTo') + ,('field':'GraphicFrame','name':GraphicFrame.NodeName,'obj':GraphicFrame,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TGraphicFrame') + ,('field':'Pic','name':Pic.NodeName,'obj':Pic,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TPic') + ,('field':'ClientData','name':ClientData.NodeName,'obj':ClientData,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'TClientData') ) union ExtNodes; End; @@ -1153,7 +1153,7 @@ type TcNvPicPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"PicLocks","name":"a:picLocks","obj":PicLocks,"attrEx":"noChangeAspect","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'PicLocks','name':'a:picLocks','obj':PicLocks,'attrEx':'noChangeAspect','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -1201,10 +1201,10 @@ type TPictureFormat=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"BegColOff","name":"BegColOff","obj":BegColOff,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"BegRowOff","name":"BegRowOff","obj":BegRowOff,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"EndColOff","name":"EndColOff","obj":EndColOff,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"EndRowOff","name":"EndRowOff","obj":EndRowOff,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'BegColOff','name':'BegColOff','obj':BegColOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'BegRowOff','name':'BegRowOff','obj':BegRowOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'EndColOff','name':'EndColOff','obj':EndColOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'EndRowOff','name':'EndRowOff','obj':EndRowOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -1251,10 +1251,10 @@ type TShapeFormat=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"BegColOff","name":"BegColOff","obj":BegColOff,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"BegRowOff","name":"BegRowOff","obj":BegRowOff,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"EndColOff","name":"EndColOff","obj":EndColOff,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"EndRowOff","name":"EndRowOff","obj":EndRowOff,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'BegColOff','name':'BegColOff','obj':BegColOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'BegRowOff','name':'BegRowOff','obj':BegRowOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'EndColOff','name':'EndColOff','obj':EndColOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'EndRowOff','name':'EndRowOff','obj':EndRowOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -1321,43 +1321,43 @@ type TChartImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Width","name":"Width","obj":Width,"attrEx":"","nodeType":"","attrName":"", "desc":"word图表宽度(cm)", "class":"") - ,("field":"Height","name":"Height","obj":Height,"attrEx":"","nodeType":"","attrName":"", "desc":"word图表高度(cm)", "class":"") - ,("field":"BegColOff","name":"BegColOff","obj":BegColOff,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"BegRowOff","name":"BegRowOff","obj":BegRowOff,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"EndColOff","name":"EndColOff","obj":EndColOff,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"EndRowOff","name":"EndRowOff","obj":EndRowOff,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"Name","name":"Name","obj":Name,"attrEx":"","nodeType":"","attrName":"", "desc":"图表名称", "class":"") - ,("field":"Title","name":"Title","obj":Title,"attrEx":"","nodeType":"","attrName":"", "desc":"图表标题", "class":"") - ,("field":"Type","name":"Type","obj":Type,"attrEx":"","nodeType":"","attrName":"", "desc":"图表类型", "class":"") - ,("field":"VaryColors","name":"VaryColors","obj":VaryColors,"attrEx":"","nodeType":"","attrName":"", "desc":"varyColors (按点) 改变颜色,此元素指定系列中的每个数据标记具有不同的颜色。", "class":"") - ,("field":"ShowLegendKey","name":"ShowLegendKey","obj":ShowLegendKey,"attrEx":"","nodeType":"","attrName":"", "desc":"如果数据标签的图例项标示可见,则该属性值为 True,读/写 Boolean。", "class":"") - ,("field":"ShowVal","name":"ShowVal","obj":ShowVal,"attrEx":"","nodeType":"","attrName":"", "desc":"允许用户在图表中显示数据标签的值,读/写 Boolean。", "class":"") - ,("field":"ShowCatName","name":"ShowCatName","obj":ShowCatName,"attrEx":"","nodeType":"","attrName":"", "desc":"允许用户在图表中显示数据标签的分类名称,读/写 Boolean。", "class":"") - ,("field":"ShowSerName","name":"ShowSerName","obj":ShowSerName,"attrEx":"","nodeType":"","attrName":"", "desc":"允许用户在图表中显示数据标签的系列名称,读/写 Boolean。", "class":"") - ,("field":"ShowBubbleSize","name":"ShowBubbleSize","obj":ShowBubbleSize,"attrEx":"","nodeType":"","attrName":"", "desc":"允许用户在图表中显示数据标签的气泡大小,读/写 Boolean", "class":"") - ,("field":"ShowPercent","name":"ShowPercent","obj":ShowPercent,"attrEx":"","nodeType":"","attrName":"", "desc":"允许用户在图表中显示数据标签的百分比数值,读/写 Boolean。", "class":"") - ,("field":"ShowLeaderLines","name":"ShowLeaderLines","obj":ShowLeaderLines,"attrEx":"","nodeType":"","attrName":"", "desc":"如果数据系列有引导线,则该属性值为 True,读/写 Boolean。", "class":"") - ,("field":"DataTable","name":"DataTable","obj":DataTable,"attrEx":"","nodeType":"","attrName":"", "desc":"显示数据表,读/写 Boolean。", "class":"") - ,("field":"Ord","name":"Ord","obj":Ord,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"Series","name":"w:ser","obj":Series,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"XAxis","name":XAxis.NodeName,"obj":XAxis,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TChartAxis") - ,("field":"YAxis","name":YAxis.NodeName,"obj":YAxis,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TChartAxis") - ,("field":"Legend","name":Legend.NodeName,"obj":Legend,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TLegend") - ,("field":"Plotarea","name":Plotarea.NodeName,"obj":Plotarea,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TplotArea") - ,("field":"ShowBlanksAs","name":"ShowBlanksAs","obj":ShowBlanksAs,"attrEx":"","nodeType":"","attrName":"", "desc":"此元素指定如何在图表上绘制空白单元格。", "class":"") - ,("field":"plotVisOnly","name":"plotVisOnly","obj":plotVisOnly,"attrEx":"","nodeType":"","attrName":"", "desc":"此元素指定如何在图表上绘制空白单元格。", "class":"") - ,("field":"ChartNode","name":"ChartNode","obj":ChartNode,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"plotAreaNode","name":"plotAreaNode","obj":plotAreaNode,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"C","name":"C","obj":C,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"xmlObj","name":"xmlObj","obj":xmlObj,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"Rid","name":"Rid","obj":Rid,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"pNode","name":"pNode","obj":pNode,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"DisableExcel","name":"DisableExcel","obj":DisableExcel,"attrEx":"","nodeType":"","attrName":"", "desc":"是否内嵌excel数据文件,默认嵌入。", "class":"") - ,("field":"Excel","name":"Excel","obj":Excel,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"chartFileName","name":"chartFileName","obj":chartFileName,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"excelFileName","name":"excelFileName","obj":excelFileName,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"drawingFileName","name":"drawingFileName","obj":drawingFileName,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"") + return array(('field':'Width','name':'Width','obj':Width,'attrEx':'','nodeType':'','attrName':'', 'desc':'word图表宽度(cm)', 'class':'') + ,('field':'Height','name':'Height','obj':Height,'attrEx':'','nodeType':'','attrName':'', 'desc':'word图表高度(cm)', 'class':'') + ,('field':'BegColOff','name':'BegColOff','obj':BegColOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'BegRowOff','name':'BegRowOff','obj':BegRowOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'EndColOff','name':'EndColOff','obj':EndColOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'EndRowOff','name':'EndRowOff','obj':EndRowOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'Name','name':'Name','obj':Name,'attrEx':'','nodeType':'','attrName':'', 'desc':'图表名称', 'class':'') + ,('field':'Title','name':'Title','obj':Title,'attrEx':'','nodeType':'','attrName':'', 'desc':'图表标题', 'class':'') + ,('field':'Type','name':'Type','obj':Type,'attrEx':'','nodeType':'','attrName':'', 'desc':'图表类型', 'class':'') + ,('field':'VaryColors','name':'VaryColors','obj':VaryColors,'attrEx':'','nodeType':'','attrName':'', 'desc':'varyColors (按点) 改变颜色,此元素指定系列中的每个数据标记具有不同的颜色。', 'class':'') + ,('field':'ShowLegendKey','name':'ShowLegendKey','obj':ShowLegendKey,'attrEx':'','nodeType':'','attrName':'', 'desc':'如果数据标签的图例项标示可见,则该属性值为 True,读/写 Boolean。', 'class':'') + ,('field':'ShowVal','name':'ShowVal','obj':ShowVal,'attrEx':'','nodeType':'','attrName':'', 'desc':'允许用户在图表中显示数据标签的值,读/写 Boolean。', 'class':'') + ,('field':'ShowCatName','name':'ShowCatName','obj':ShowCatName,'attrEx':'','nodeType':'','attrName':'', 'desc':'允许用户在图表中显示数据标签的分类名称,读/写 Boolean。', 'class':'') + ,('field':'ShowSerName','name':'ShowSerName','obj':ShowSerName,'attrEx':'','nodeType':'','attrName':'', 'desc':'允许用户在图表中显示数据标签的系列名称,读/写 Boolean。', 'class':'') + ,('field':'ShowBubbleSize','name':'ShowBubbleSize','obj':ShowBubbleSize,'attrEx':'','nodeType':'','attrName':'', 'desc':'允许用户在图表中显示数据标签的气泡大小,读/写 Boolean', 'class':'') + ,('field':'ShowPercent','name':'ShowPercent','obj':ShowPercent,'attrEx':'','nodeType':'','attrName':'', 'desc':'允许用户在图表中显示数据标签的百分比数值,读/写 Boolean。', 'class':'') + ,('field':'ShowLeaderLines','name':'ShowLeaderLines','obj':ShowLeaderLines,'attrEx':'','nodeType':'','attrName':'', 'desc':'如果数据系列有引导线,则该属性值为 True,读/写 Boolean。', 'class':'') + ,('field':'DataTable','name':'DataTable','obj':DataTable,'attrEx':'','nodeType':'','attrName':'', 'desc':'显示数据表,读/写 Boolean。', 'class':'') + ,('field':'Ord','name':'Ord','obj':Ord,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'Series','name':'w:ser','obj':Series,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'XAxis','name':XAxis.NodeName,'obj':XAxis,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TChartAxis') + ,('field':'YAxis','name':YAxis.NodeName,'obj':YAxis,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TChartAxis') + ,('field':'Legend','name':Legend.NodeName,'obj':Legend,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TLegend') + ,('field':'Plotarea','name':Plotarea.NodeName,'obj':Plotarea,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TplotArea') + ,('field':'ShowBlanksAs','name':'ShowBlanksAs','obj':ShowBlanksAs,'attrEx':'','nodeType':'','attrName':'', 'desc':'此元素指定如何在图表上绘制空白单元格。', 'class':'') + ,('field':'plotVisOnly','name':'plotVisOnly','obj':plotVisOnly,'attrEx':'','nodeType':'','attrName':'', 'desc':'此元素指定如何在图表上绘制空白单元格。', 'class':'') + ,('field':'ChartNode','name':'ChartNode','obj':ChartNode,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'plotAreaNode','name':'plotAreaNode','obj':plotAreaNode,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'C','name':'C','obj':C,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'xmlObj','name':'xmlObj','obj':xmlObj,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'Rid','name':'Rid','obj':Rid,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'pNode','name':'pNode','obj':pNode,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'DisableExcel','name':'DisableExcel','obj':DisableExcel,'attrEx':'','nodeType':'','attrName':'', 'desc':'是否内嵌excel数据文件,默认嵌入。', 'class':'') + ,('field':'Excel','name':'Excel','obj':Excel,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'chartFileName','name':'chartFileName','obj':chartFileName,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'excelFileName','name':'excelFileName','obj':excelFileName,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'drawingFileName','name':'drawingFileName','obj':drawingFileName,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'') ) union ExtNodes; End; @@ -1437,9 +1437,9 @@ type TLegend=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"legendPos","name":"c:legendPos","obj":legendPos,"attrEx":"val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Layout","name":"c:layout","obj":Layout,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"overlay","name":"c:overlay","obj":overlay,"attrEx":"val","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'legendPos','name':'c:legendPos','obj':legendPos,'attrEx':'val','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Layout','name':'c:layout','obj':Layout,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'overlay','name':'c:overlay','obj':overlay,'attrEx':'val','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -1500,26 +1500,26 @@ type TChartAxis=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"None","name":"None","obj":None,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Crossing","name":"Crossing","obj":Crossing,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MajorGridlines","name":"MajorGridlines","obj":MajorGridlines,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MinorGridlines","name":"MinorGridlines","obj":MinorGridlines,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MajorTickMark","name":"MajorTickMark","obj":MajorTickMark,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MinorTickMark","name":"MinorTickMark","obj":MinorTickMark,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MinorUnitType","name":"MinorUnitType","obj":MinorUnitType,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MajorUnit","name":"MajorUnit","obj":MajorUnit,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MajorUnitType","name":"MajorUnitType","obj":MajorUnitType,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"TickLabelSkip","name":"TickLabelSkip","obj":TickLabelSkip,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"DisplayUnits","name":"DisplayUnits","obj":DisplayUnits,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"DisplayUnitsVisible","name":"DisplayUnitsVisible","obj":DisplayUnitsVisible,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"DateAxis","name":"DateAxis","obj":DateAxis,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ReverseOrder","name":"ReverseOrder","obj":ReverseOrder,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Max","name":"Max","obj":Max,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Min","name":"Min","obj":Min,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"NumFormat","name":"NumFormat","obj":NumFormat,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"NumFont","name":NumFont.NodeName,"obj":NumFont,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TNumFont") - ,("field":"LogBase","name":"LogBase","obj":LogBase,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"NameLayout","name":NameLayout.NodeName,"obj":NameLayout,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TNameLayout") + return array(('field':'None','name':'None','obj':None,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Crossing','name':'Crossing','obj':Crossing,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MajorGridlines','name':'MajorGridlines','obj':MajorGridlines,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MinorGridlines','name':'MinorGridlines','obj':MinorGridlines,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MajorTickMark','name':'MajorTickMark','obj':MajorTickMark,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MinorTickMark','name':'MinorTickMark','obj':MinorTickMark,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MinorUnitType','name':'MinorUnitType','obj':MinorUnitType,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MajorUnit','name':'MajorUnit','obj':MajorUnit,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MajorUnitType','name':'MajorUnitType','obj':MajorUnitType,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'TickLabelSkip','name':'TickLabelSkip','obj':TickLabelSkip,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'DisplayUnits','name':'DisplayUnits','obj':DisplayUnits,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'DisplayUnitsVisible','name':'DisplayUnitsVisible','obj':DisplayUnitsVisible,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'DateAxis','name':'DateAxis','obj':DateAxis,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ReverseOrder','name':'ReverseOrder','obj':ReverseOrder,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Max','name':'Max','obj':Max,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Min','name':'Min','obj':Min,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'NumFormat','name':'NumFormat','obj':NumFormat,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'NumFont','name':NumFont.NodeName,'obj':NumFont,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TNumFont') + ,('field':'LogBase','name':'LogBase','obj':LogBase,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'NameLayout','name':NameLayout.NodeName,'obj':NameLayout,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TNameLayout') ) union ExtNodes; End; @@ -1582,10 +1582,10 @@ type TNumFont=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Color","name":"Color","obj":Color,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Bold","name":"Bold","obj":Bold,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Italic","name":"Italic","obj":Italic,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Underline","name":"Underline","obj":Underline,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'Color','name':'Color','obj':Color,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Bold','name':'Bold','obj':Bold,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Italic','name':'Italic','obj':Italic,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Underline','name':'Underline','obj':Underline,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -1632,10 +1632,10 @@ type TNameLayout=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"X","name":"X","obj":X,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Y","name":"Y","obj":Y,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Width","name":"Width","obj":Width,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Height","name":"Height","obj":Height,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'X','name':'X','obj':X,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Y','name':'Y','obj':Y,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Width','name':'Width','obj':Width,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Height','name':'Height','obj':Height,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -1682,7 +1682,7 @@ type Tpt=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"V","name":"c:v","obj":V,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") + return array(('field':'V','name':'c:v','obj':V,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -1729,8 +1729,8 @@ type TStrCache=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"PtCount","name":"c:ptCount","obj":PtCount,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Pt","name":Pt.NodeName,"obj":Pt,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"Tpt") + return array(('field':'PtCount','name':'c:ptCount','obj':PtCount,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Pt','name':Pt.NodeName,'obj':Pt,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'Tpt') ) union ExtNodes; End; @@ -1777,8 +1777,8 @@ type TStrRef=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"F","name":"c:f","obj":F,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"StrCache","name":StrCache.NodeName,"obj":StrCache,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TStrCache") + return array(('field':'F','name':'c:f','obj':F,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'StrCache','name':StrCache.NodeName,'obj':StrCache,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TStrCache') ) union ExtNodes; End; @@ -1825,7 +1825,7 @@ type TcCat=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"StrRef","name":StrRef.NodeName,"obj":StrRef,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TStrRef") + return array(('field':'StrRef','name':StrRef.NodeName,'obj':StrRef,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TStrRef') ) union ExtNodes; End; @@ -1871,9 +1871,9 @@ type TNumCache=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"FormatCode","name":"c:formatCode","obj":FormatCode,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"PtCount","name":"c:ptCount","obj":PtCount,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Pt","name":Pt.NodeName,"obj":Pt,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"Tpt") + return array(('field':'FormatCode','name':'c:formatCode','obj':FormatCode,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'PtCount','name':'c:ptCount','obj':PtCount,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Pt','name':Pt.NodeName,'obj':Pt,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'Tpt') ) union ExtNodes; End; @@ -1921,8 +1921,8 @@ type TNumRef=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"F","name":"c:f","obj":F,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"NumCache","name":NumCache.NodeName,"obj":NumCache,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TNumCache") + return array(('field':'F','name':'c:f','obj':F,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'NumCache','name':NumCache.NodeName,'obj':NumCache,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TNumCache') ) union ExtNodes; End; @@ -1969,7 +1969,7 @@ type TcVal=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"NumRef","name":NumRef.NodeName,"obj":NumRef,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TNumRef") + return array(('field':'NumRef','name':NumRef.NodeName,'obj':NumRef,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TNumRef') ) union ExtNodes; End; @@ -2015,7 +2015,7 @@ type TTx=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"StrRef","name":StrRef.NodeName,"obj":StrRef,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TStrRef") + return array(('field':'StrRef','name':StrRef.NodeName,'obj':StrRef,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TStrRef') ) union ExtNodes; End; @@ -2061,8 +2061,8 @@ type TSolidFill=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"SchemeClr","name":SchemeClr.NodeName,"obj":SchemeClr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSchemeClr") - ,("field":"SrgbClr","name":"a:srgbClr","obj":SrgbClr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'SchemeClr','name':SchemeClr.NodeName,'obj':SchemeClr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSchemeClr') + ,('field':'SrgbClr','name':'a:srgbClr','obj':SrgbClr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -2107,8 +2107,8 @@ type TSchemeClr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"LumMod","name":"a:lumMod","obj":LumMod,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"LumOff","name":"a:lumOff","obj":LumOff,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'LumMod','name':'a:lumMod','obj':LumMod,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'LumOff','name':'a:lumOff','obj':LumOff,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -2156,10 +2156,10 @@ type TLn=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"NoFill","name":"a:noFill","obj":NoFill,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"prstDash","name":"a:prstDash","obj":prstDash,"attrEx":"val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Round","name":"a:round","obj":Round,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"SolidFill","name":SolidFill.NodeName,"obj":SolidFill,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSolidFill") + return array(('field':'NoFill','name':'a:noFill','obj':NoFill,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'prstDash','name':'a:prstDash','obj':prstDash,'attrEx':'val','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Round','name':'a:round','obj':Round,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'SolidFill','name':SolidFill.NodeName,'obj':SolidFill,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSolidFill') ) union ExtNodes; End; @@ -2212,7 +2212,7 @@ type TContourClr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"SchemeClr","name":SchemeClr.NodeName,"obj":SchemeClr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSchemeClr") + return array(('field':'SchemeClr','name':SchemeClr.NodeName,'obj':SchemeClr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSchemeClr') ) union ExtNodes; End; @@ -2258,7 +2258,7 @@ type TSp3D=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"ContourClr","name":ContourClr.NodeName,"obj":ContourClr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TContourClr") + return array(('field':'ContourClr','name':ContourClr.NodeName,'obj':ContourClr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TContourClr') ) union ExtNodes; End; @@ -2313,13 +2313,13 @@ type TspPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"NoFill","name":"a:noFill","obj":NoFill,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"SolidFill","name":SolidFill.NodeName,"obj":SolidFill,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSolidFill") - ,("field":"Ln","name":Ln.NodeName,"obj":Ln,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TLn") - ,("field":"Sp3D","name":Sp3D.NodeName,"obj":Sp3D,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSp3D") - ,("field":"EffectLst","name":"a:effectLst","obj":EffectLst,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"XFrm","name":XFrm.NodeName,"obj":XFrm,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TXfrm") - ,("field":"PrstGeom","name":PrstGeom.NodeName,"obj":PrstGeom,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TprstGeom") + return array(('field':'NoFill','name':'a:noFill','obj':NoFill,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'SolidFill','name':SolidFill.NodeName,'obj':SolidFill,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSolidFill') + ,('field':'Ln','name':Ln.NodeName,'obj':Ln,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TLn') + ,('field':'Sp3D','name':Sp3D.NodeName,'obj':Sp3D,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSp3D') + ,('field':'EffectLst','name':'a:effectLst','obj':EffectLst,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'XFrm','name':XFrm.NodeName,'obj':XFrm,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TXfrm') + ,('field':'PrstGeom','name':PrstGeom.NodeName,'obj':PrstGeom,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TprstGeom') ) union ExtNodes; End; @@ -2371,9 +2371,9 @@ type TDpt=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"IDx","name":"c:idx","obj":IDx,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Bubble3D","name":"c:bubble3D","obj":Bubble3D,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"SpPr","name":SpPr.NodeName,"obj":SpPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TspPr") + return array(('field':'IDx','name':'c:idx','obj':IDx,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Bubble3D','name':'c:bubble3D','obj':Bubble3D,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'SpPr','name':SpPr.NodeName,'obj':SpPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TspPr') ) union ExtNodes; End; @@ -2421,9 +2421,9 @@ type TMarker=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Symbol","name":"c:symbol","obj":Symbol,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Size","name":"c:size","obj":Size,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"SpPr","name":SpPr.NodeName,"obj":SpPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TspPr") + return array(('field':'Symbol','name':'c:symbol','obj':Symbol,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Size','name':'c:size','obj':Size,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'SpPr','name':SpPr.NodeName,'obj':SpPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TspPr') ) union ExtNodes; End; @@ -2490,22 +2490,22 @@ type TSer=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"IDx","name":"c:idx","obj":IDx,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Ord","name":"c:order","obj":Ord,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Tx","name":Tx.NodeName,"obj":Tx,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TTx") - ,("field":"SpPr","name":SpPr.NodeName,"obj":SpPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TspPr") - ,("field":"DPt","name":DPt.NodeName,"obj":DPt,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TDpt") - ,("field":"DPtEx","name":"c:dPt","obj":DPtEx,"attrEx":"","nodeType":"","attrName":"","arrObj":"array", "desc":"", "class":"TDpt") - ,("field":"DLbls","name":DLbls.NodeName,"obj":DLbls,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TdLbls") - ,("field":"Marker","name":Marker.NodeName,"obj":Marker,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TMarker") - ,("field":"InvertIfNegative","name":"c:invertIfNegative","obj":InvertIfNegative,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Cat","name":Cat.NodeName,"obj":Cat,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcCat") - ,("field":"Val","name":Val.NodeName,"obj":Val,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcVal") - ,("field":"XVal","name":XVal.NodeName,"obj":XVal,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcCat") - ,("field":"YVal","name":YVal.NodeName,"obj":YVal,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcVal") - ,("field":"Smooth","name":"c:smooth","obj":Smooth,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"BubbleSize","name":BubbleSize.NodeName,"obj":BubbleSize,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcVal") - ,("field":"Bubble3D","name":"c:bubble3D","obj":Bubble3D,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'IDx','name':'c:idx','obj':IDx,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Ord','name':'c:order','obj':Ord,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Tx','name':Tx.NodeName,'obj':Tx,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TTx') + ,('field':'SpPr','name':SpPr.NodeName,'obj':SpPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TspPr') + ,('field':'DPt','name':DPt.NodeName,'obj':DPt,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TDpt') + ,('field':'DPtEx','name':'c:dPt','obj':DPtEx,'attrEx':'','nodeType':'','attrName':'','arrObj':'array', 'desc':'', 'class':'TDpt') + ,('field':'DLbls','name':DLbls.NodeName,'obj':DLbls,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TdLbls') + ,('field':'Marker','name':Marker.NodeName,'obj':Marker,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TMarker') + ,('field':'InvertIfNegative','name':'c:invertIfNegative','obj':InvertIfNegative,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Cat','name':Cat.NodeName,'obj':Cat,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcCat') + ,('field':'Val','name':Val.NodeName,'obj':Val,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcVal') + ,('field':'XVal','name':XVal.NodeName,'obj':XVal,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcCat') + ,('field':'YVal','name':YVal.NodeName,'obj':YVal,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcVal') + ,('field':'Smooth','name':'c:smooth','obj':Smooth,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'BubbleSize','name':BubbleSize.NodeName,'obj':BubbleSize,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcVal') + ,('field':'Bubble3D','name':'c:bubble3D','obj':Bubble3D,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -2564,14 +2564,14 @@ type TdLbls=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Del","name":"c:delete","obj":Del,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ShowLegendKey","name":"c:showLegendKey","obj":ShowLegendKey,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ShowVal","name":"c:showVal","obj":ShowVal,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ShowCatName","name":"c:showCatName","obj":ShowCatName,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ShowSerName","name":"c:showSerName","obj":ShowSerName,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ShowPercent","name":"c:showPercent","obj":ShowPercent,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ShowBubbleSize","name":"c:showBubbleSize","obj":ShowBubbleSize,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ShowLeaderLines","name":"c:showLeaderLines","obj":ShowLeaderLines,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'Del','name':'c:delete','obj':Del,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ShowLegendKey','name':'c:showLegendKey','obj':ShowLegendKey,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ShowVal','name':'c:showVal','obj':ShowVal,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ShowCatName','name':'c:showCatName','obj':ShowCatName,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ShowSerName','name':'c:showSerName','obj':ShowSerName,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ShowPercent','name':'c:showPercent','obj':ShowPercent,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ShowBubbleSize','name':'c:showBubbleSize','obj':ShowBubbleSize,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ShowLeaderLines','name':'c:showLeaderLines','obj':ShowLeaderLines,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -2625,24 +2625,24 @@ type TcCharts=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"BarDir","name":"c:barDir","obj":BarDir,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"BubbleScale","name":"c:bubbleScale","obj":BubbleScale,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Grouping","name":"c:grouping","obj":Grouping,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"RadarStyle","name":"c:radarStyle","obj":RadarStyle,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ScatterStyle","name":"c:scatterStyle","obj":ScatterStyle,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"OfPieType","name":"c:ofPieType","obj":OfPieType,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"VaryColors","name":"c:varyColors","obj":VaryColors,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Wireframe","name":"c:wireframe","obj":Wireframe,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Ser","name":"c:ser","obj":Ser,"attrEx":"","nodeType":"","attrName":"","arrObj":"array", "desc":"", "class":"TSer") - ,("field":"SerLines","name":"c:serLines","obj":SerLines,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"DLbls","name":DLbls.NodeName,"obj":DLbls,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TdLbls") - ,("field":"Shape","name":"c:shape","obj":Shape,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"HoleSize","name":"c:holeSize","obj":HoleSize,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Smooth","name":"c:smooth","obj":Smooth,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Overlap","name":"c:overlap","obj":Overlap,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"AxID","name":"c:axId","obj":AxID,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"AxID2","name":"c:axId","obj":AxID2,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"AxID3","name":"c:axId","obj":AxID3,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'BarDir','name':'c:barDir','obj':BarDir,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'BubbleScale','name':'c:bubbleScale','obj':BubbleScale,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Grouping','name':'c:grouping','obj':Grouping,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'RadarStyle','name':'c:radarStyle','obj':RadarStyle,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ScatterStyle','name':'c:scatterStyle','obj':ScatterStyle,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'OfPieType','name':'c:ofPieType','obj':OfPieType,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'VaryColors','name':'c:varyColors','obj':VaryColors,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Wireframe','name':'c:wireframe','obj':Wireframe,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Ser','name':'c:ser','obj':Ser,'attrEx':'','nodeType':'','attrName':'','arrObj':'array', 'desc':'', 'class':'TSer') + ,('field':'SerLines','name':'c:serLines','obj':SerLines,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'DLbls','name':DLbls.NodeName,'obj':DLbls,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TdLbls') + ,('field':'Shape','name':'c:shape','obj':Shape,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'HoleSize','name':'c:holeSize','obj':HoleSize,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Smooth','name':'c:smooth','obj':Smooth,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Overlap','name':'c:overlap','obj':Overlap,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'AxID','name':'c:axId','obj':AxID,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'AxID2','name':'c:axId','obj':AxID2,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'AxID3','name':'c:axId','obj':AxID3,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -2703,10 +2703,10 @@ type TcScaling=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"LogBase","name":"c:logBase","obj":LogBase,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Orientation","name":"c:orientation","obj":Orientation,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Max","name":"c:max","obj":Max,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Min","name":"c:min","obj":Min,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'LogBase','name':'c:logBase','obj':LogBase,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Orientation','name':'c:orientation','obj':Orientation,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Max','name':'c:max','obj':Max,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Min','name':'c:min','obj':Min,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -2755,7 +2755,7 @@ type TcChartLines=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"SpPr","name":SpPr.NodeName,"obj":SpPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TspPr") + return array(('field':'SpPr','name':SpPr.NodeName,'obj':SpPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TspPr') ) union ExtNodes; End; @@ -2845,8 +2845,8 @@ type TaR=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Rpr","name":Rpr.NodeName,"obj":Rpr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TaRpr") - ,("field":"T","name":"a:t","obj":T,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") + return array(('field':'Rpr','name':Rpr.NodeName,'obj':Rpr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TaRpr') + ,('field':'T','name':'a:t','obj':T,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -2942,9 +2942,9 @@ type TaP=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Ppr","name":Ppr.NodeName,"obj":Ppr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TaPPr") - ,("field":"R","name":R.NodeName,"obj":R,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TaR") - ,("field":"EndParaRPr","name":EndParaRPr.NodeName,"obj":EndParaRPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TaEndParaRPr") + return array(('field':'Ppr','name':Ppr.NodeName,'obj':Ppr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TaPPr') + ,('field':'R','name':R.NodeName,'obj':R,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TaR') + ,('field':'EndParaRPr','name':EndParaRPr.NodeName,'obj':EndParaRPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TaEndParaRPr') ) union ExtNodes; End; @@ -2992,7 +2992,7 @@ type TaPPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"DefRPr","name":DefRPr.NodeName,"obj":DefRPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TaRPr") + return array(('field':'DefRPr','name':DefRPr.NodeName,'obj':DefRPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TaRPr') ) union ExtNodes; End; @@ -3177,10 +3177,10 @@ type TaRPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"SolidFill","name":SolidFill.NodeName,"obj":SolidFill,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSolidFill") - ,("field":"Latin","name":Latin.NodeName,"obj":Latin,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TaLatin") - ,("field":"Ea","name":Ea.NodeName,"obj":Ea,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TaEa") - ,("field":"Cs","name":Cs.NodeName,"obj":Cs,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TaCs") + return array(('field':'SolidFill','name':SolidFill.NodeName,'obj':SolidFill,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSolidFill') + ,('field':'Latin','name':Latin.NodeName,'obj':Latin,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TaLatin') + ,('field':'Ea','name':Ea.NodeName,'obj':Ea,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TaEa') + ,('field':'Cs','name':Cs.NodeName,'obj':Cs,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TaCs') ) union ExtNodes; End; @@ -3311,9 +3311,9 @@ type TTxPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"BodyPr","name":BodyPr.NodeName,"obj":BodyPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TaBodyPr") - ,("field":"LstStyle","name":"a:lstStyle","obj":LstStyle,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"P","name":P.NodeName,"obj":P,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TaP") + return array(('field':'BodyPr','name':BodyPr.NodeName,'obj':BodyPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TaBodyPr') + ,('field':'LstStyle','name':'a:lstStyle','obj':LstStyle,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'P','name':P.NodeName,'obj':P,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TaP') ) union ExtNodes; End; @@ -3371,29 +3371,29 @@ type TcAxs=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"AxID","name":"c:axId","obj":AxID,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Scaling","name":Scaling.NodeName,"obj":Scaling,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcScaling") - ,("field":"Del","name":"c:delete","obj":Del,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"AxPos","name":"c:axPos","obj":AxPos,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MajorGridlines","name":MajorGridlines.NodeName,"obj":MajorGridlines,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcChartLines") - ,("field":"MinorGridlines","name":MinorGridlines.NodeName,"obj":MinorGridlines,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcChartLines") - ,("field":"NumFmt","name":NumFmt.NodeName,"obj":NumFmt,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcNumFmt") - ,("field":"MajorTickMark","name":"c:majorTickMark","obj":MajorTickMark,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MinorTickMark","name":"c:minorTickMark","obj":MinorTickMark,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"TickLblPos","name":"c:tickLblPos","obj":TickLblPos,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"SpPr","name":SpPr.NodeName,"obj":SpPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TspPr") - ,("field":"TxPr","name":TxPr.NodeName,"obj":TxPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TTxPr") - ,("field":"CrossAx","name":"c:crossAx","obj":CrossAx,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Crosses","name":"c:crosses","obj":Crosses,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"CrossBetween","name":"c:crossBetween","obj":CrossBetween,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MajorUnit","name":"c:majorUnit","obj":MajorUnit,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"MinorUnit","name":"c:minorUnit","obj":MinorUnit,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Auto","name":"c:auto","obj":Auto,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"LblAlgn","name":"c:lblAlgn","obj":LblAlgn,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"LblOffset","name":"c:lblOffset","obj":LblOffset,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"TickLblSkip","name":"c:tickLblSkip","obj":TickLblSkip,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"TickMarkSkip","name":"c:tickMarkSkip","obj":TickMarkSkip,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"NoMultiLvlLbl","name":"c:noMultiLvlLbl","obj":NoMultiLvlLbl,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'AxID','name':'c:axId','obj':AxID,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Scaling','name':Scaling.NodeName,'obj':Scaling,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcScaling') + ,('field':'Del','name':'c:delete','obj':Del,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'AxPos','name':'c:axPos','obj':AxPos,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MajorGridlines','name':MajorGridlines.NodeName,'obj':MajorGridlines,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcChartLines') + ,('field':'MinorGridlines','name':MinorGridlines.NodeName,'obj':MinorGridlines,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcChartLines') + ,('field':'NumFmt','name':NumFmt.NodeName,'obj':NumFmt,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcNumFmt') + ,('field':'MajorTickMark','name':'c:majorTickMark','obj':MajorTickMark,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MinorTickMark','name':'c:minorTickMark','obj':MinorTickMark,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'TickLblPos','name':'c:tickLblPos','obj':TickLblPos,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'SpPr','name':SpPr.NodeName,'obj':SpPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TspPr') + ,('field':'TxPr','name':TxPr.NodeName,'obj':TxPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TTxPr') + ,('field':'CrossAx','name':'c:crossAx','obj':CrossAx,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Crosses','name':'c:crosses','obj':Crosses,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'CrossBetween','name':'c:crossBetween','obj':CrossBetween,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MajorUnit','name':'c:majorUnit','obj':MajorUnit,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'MinorUnit','name':'c:minorUnit','obj':MinorUnit,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Auto','name':'c:auto','obj':Auto,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'LblAlgn','name':'c:lblAlgn','obj':LblAlgn,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'LblOffset','name':'c:lblOffset','obj':LblOffset,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'TickLblSkip','name':'c:tickLblSkip','obj':TickLblSkip,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'TickMarkSkip','name':'c:tickMarkSkip','obj':TickMarkSkip,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'NoMultiLvlLbl','name':'c:noMultiLvlLbl','obj':NoMultiLvlLbl,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -3469,12 +3469,12 @@ type TplotArea=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Layout","name":"c:layout","obj":Layout,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"Chart","name":Chart.NodeName,"obj":Chart,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcCharts") - ,("field":"CatAx","name":CatAx.NodeName,"obj":CatAx,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcAxs") - ,("field":"ValAx","name":ValAx.NodeName,"obj":ValAx,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcAxs") - ,("field":"SerAx","name":SerAx.NodeName,"obj":SerAx,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcAxs") - ,("field":"SpPr","name":SpPr.NodeName,"obj":SpPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TspPr") + return array(('field':'Layout','name':'c:layout','obj':Layout,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'Chart','name':Chart.NodeName,'obj':Chart,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcCharts') + ,('field':'CatAx','name':CatAx.NodeName,'obj':CatAx,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcAxs') + ,('field':'ValAx','name':ValAx.NodeName,'obj':ValAx,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcAxs') + ,('field':'SerAx','name':SerAx.NodeName,'obj':SerAx,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcAxs') + ,('field':'SpPr','name':SpPr.NodeName,'obj':SpPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TspPr') ) union ExtNodes; End; @@ -3523,11 +3523,11 @@ type TView3D=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"RotX","name":"c:rotX","obj":RotX,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"RotY","name":"c:rotY","obj":RotY,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"RAngAx","name":"c:rAngAx","obj":RAngAx,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"DepthPercent","name":"c:depthPercent","obj":DepthPercent,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Perspective","name":"c:perspective","obj":Perspective,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'RotX','name':'c:rotX','obj':RotX,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'RotY','name':'c:rotY','obj':RotY,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'RAngAx','name':'c:rAngAx','obj':RAngAx,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'DepthPercent','name':'c:depthPercent','obj':DepthPercent,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Perspective','name':'c:perspective','obj':Perspective,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -3627,11 +3627,11 @@ type TBorder=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Color","name":"color","obj":XMLColor,"attrEx":"rgb","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ThemeColor","name":"color","obj":XMLThemeColor,"attrEx":"theme","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ThemeColorTint","name":"color","obj":XMLThemeColorTint,"attrEx":"tint","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Weight","name":"weight","obj":Weight,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"TintAndShade","name":"tintandshade","obj":TintAndShade,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'Color','name':'color','obj':XMLColor,'attrEx':'rgb','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ThemeColor','name':'color','obj':XMLThemeColor,'attrEx':'theme','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ThemeColorTint','name':'color','obj':XMLThemeColorTint,'attrEx':'tint','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Weight','name':'weight','obj':Weight,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'TintAndShade','name':'tintandshade','obj':TintAndShade,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -3716,11 +3716,11 @@ type TBorders=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Left","name":Left.NodeName,"obj":Left,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TBorder") - ,("field":"Right","name":Right.NodeName,"obj":Right,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TBorder") - ,("field":"Top","name":Top.NodeName,"obj":Top,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TBorder") - ,("field":"Bottom","name":Bottom.NodeName,"obj":Bottom,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TBorder") - ,("field":"Diagonal","name":Diagonal.NodeName,"obj":Diagonal,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TBorder") + return array(('field':'Left','name':Left.NodeName,'obj':Left,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TBorder') + ,('field':'Right','name':Right.NodeName,'obj':Right,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TBorder') + ,('field':'Top','name':Top.NodeName,'obj':Top,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TBorder') + ,('field':'Bottom','name':Bottom.NodeName,'obj':Bottom,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TBorder') + ,('field':'Diagonal','name':Diagonal.NodeName,'obj':Diagonal,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TBorder') ) union ExtNodes; End; @@ -3911,9 +3911,9 @@ type TGradient=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Stop1","name":Stop1.NodeName,"obj":Stop1,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TStop") - ,("field":"Stop2","name":Stop2.NodeName,"obj":Stop2,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TStop") - ,("field":"Stop3","name":Stop3.NodeName,"obj":Stop3,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TStop") + return array(('field':'Stop1','name':Stop1.NodeName,'obj':Stop1,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TStop') + ,('field':'Stop2','name':Stop2.NodeName,'obj':Stop2,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TStop') + ,('field':'Stop3','name':Stop3.NodeName,'obj':Stop3,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TStop') ) union ExtNodes; End; @@ -3969,8 +3969,8 @@ type TFills=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Pattern","name":Pattern.NodeName,"obj":Pattern,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TPattern") - ,("field":"Gradient","name":Gradient.NodeName,"obj":Gradient,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TGradient") + return array(('field':'Pattern','name':Pattern.NodeName,'obj':Pattern,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TPattern') + ,('field':'Gradient','name':Gradient.NodeName,'obj':Gradient,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TGradient') ) union ExtNodes; End; @@ -4106,12 +4106,12 @@ type TPattern=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"ForegroundColor","name":"fgColor","obj":XMLForegroundColor,"attrEx":"rgb","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"BackgroundColor","name":"bgColor","obj":XMLBackgroundColor,"attrEx":"rgb","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ForegroundThemeColor","name":"fgColor","obj":XMLForegroundThemeColor,"attrEx":"theme","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"BackgroundThemeColor","name":"bgColor","obj":XMLBackgroundThemeColor,"attrEx":"theme","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ForegroundThemeColorTint","name":"fgColor","obj":XMLForegroundThemeColorTint,"attrEx":"tint","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"BackgroundThemeColorTint","name":"bgColor","obj":XMLBackgroundThemeColorTint,"attrEx":"tint","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'ForegroundColor','name':'fgColor','obj':XMLForegroundColor,'attrEx':'rgb','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'BackgroundColor','name':'bgColor','obj':XMLBackgroundColor,'attrEx':'rgb','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ForegroundThemeColor','name':'fgColor','obj':XMLForegroundThemeColor,'attrEx':'theme','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'BackgroundThemeColor','name':'bgColor','obj':XMLBackgroundThemeColor,'attrEx':'theme','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ForegroundThemeColorTint','name':'fgColor','obj':XMLForegroundThemeColorTint,'attrEx':'tint','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'BackgroundThemeColorTint','name':'bgColor','obj':XMLBackgroundThemeColorTint,'attrEx':'tint','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -4226,10 +4226,10 @@ type TStop=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Color","name":"color","obj":XMLColor,"attrEx":"rgb","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ColorIndex","name":"color","obj":XMLColorIndex,"attrEx":"index","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ThemeColor","name":"color","obj":XMLThemeColor,"attrEx":"theme","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ThemeColorTint","name":"color","obj":XMLThemeColorTint,"attrEx":"tint","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'Color','name':'color','obj':XMLColor,'attrEx':'rgb','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ColorIndex','name':'color','obj':XMLColorIndex,'attrEx':'index','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ThemeColor','name':'color','obj':XMLThemeColor,'attrEx':'theme','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ThemeColorTint','name':'color','obj':XMLThemeColorTint,'attrEx':'tint','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -4471,12 +4471,12 @@ type TStyle=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Border","name":Border.NodeName,"obj":Border,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TBorders") - ,("field":"Font","name":Font.NodeName,"obj":Font,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TFont") - ,("field":"NumberFormat","name":NumberFormat.NodeName,"obj":NumberFormat,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TNumFmts") - ,("field":"Fill","name":Fill.NodeName,"obj":Fill,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TFills") - ,("field":"Alignment","name":Alignment.NodeName,"obj":Alignment,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TAlignment") - ,("field":"Protection","name":Protection.NodeName,"obj":Protection,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TProtection") + return array(('field':'Border','name':Border.NodeName,'obj':Border,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TBorders') + ,('field':'Font','name':Font.NodeName,'obj':Font,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TFont') + ,('field':'NumberFormat','name':NumberFormat.NodeName,'obj':NumberFormat,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TNumFmts') + ,('field':'Fill','name':Fill.NodeName,'obj':Fill,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TFills') + ,('field':'Alignment','name':Alignment.NodeName,'obj':Alignment,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TAlignment') + ,('field':'Protection','name':Protection.NodeName,'obj':Protection,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TProtection') ) union ExtNodes; End; @@ -4529,8 +4529,8 @@ type TXf=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Alignment","name":Alignment.NodeName,"obj":Alignment,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TAlignment") - ,("field":"Protection","name":Protection.NodeName,"obj":Protection,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TProtection") + return array(('field':'Alignment','name':Alignment.NodeName,'obj':Alignment,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TAlignment') + ,('field':'Protection','name':Protection.NodeName,'obj':Protection,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TProtection') ) union ExtNodes; End; @@ -4585,12 +4585,12 @@ type THeaderFooter=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"OddHeader","name":"oddHeader","obj":OddHeader,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"OddFooter","name":"oddFooter","obj":OddFooter,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"EvenHeader","name":"evenHeader","obj":EvenHeader,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"EvenFooter","name":"evenFooter","obj":EvenFooter,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"FirstHeader","name":"firstHeader","obj":FirstHeader,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"FirstFooter","name":"firstFooter","obj":FirstFooter,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") + return array(('field':'OddHeader','name':'oddHeader','obj':OddHeader,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'OddFooter','name':'oddFooter','obj':OddFooter,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'EvenHeader','name':'evenHeader','obj':EvenHeader,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'EvenFooter','name':'evenFooter','obj':EvenFooter,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'FirstHeader','name':'firstHeader','obj':FirstHeader,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'FirstFooter','name':'firstFooter','obj':FirstFooter,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -5390,16 +5390,16 @@ type TAppProperty=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Application","name":"Application","obj":XMLApplication,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"DocSecurity","name":"DocSecurity","obj":XMLDocSecurity,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"ScaleCrop","name":"ScaleCrop","obj":XMLScaleCrop,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Manager","name":"Manager","obj":XMLManager,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Company","name":"Company","obj":XMLCompany,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"LinksUpToDate","name":"LinksUpToDate","obj":XMLLinksUpToDate,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"SharedDoc","name":"SharedDoc","obj":XMLSharedDoc,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"HyperlinkBase","name":"HyperlinkBase","obj":XMLHyperlinkBase,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"HyperlinksChanged","name":"HyperlinksChanged","obj":XMLHyperlinksChanged,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Version","name":"AppVersion","obj":XMLVersion,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") + return array(('field':'Application','name':'Application','obj':XMLApplication,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'DocSecurity','name':'DocSecurity','obj':XMLDocSecurity,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'ScaleCrop','name':'ScaleCrop','obj':XMLScaleCrop,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Manager','name':'Manager','obj':XMLManager,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Company','name':'Company','obj':XMLCompany,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'LinksUpToDate','name':'LinksUpToDate','obj':XMLLinksUpToDate,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'SharedDoc','name':'SharedDoc','obj':XMLSharedDoc,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'HyperlinkBase','name':'HyperlinkBase','obj':XMLHyperlinkBase,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'HyperlinksChanged','name':'HyperlinksChanged','obj':XMLHyperlinksChanged,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Version','name':'AppVersion','obj':XMLVersion,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -5534,6 +5534,32 @@ type TCoreProperty=class(NodeInfo) XMLLastPrinted := class(TSXml).CurCodePageToUtf8(str); End; + Property Created read readXMLCreated write writeXMLCreated; + Function readXMLCreated(); + Begin + tmpVal := class(TSXml).Utf8ToCurCodePage(Value('Created')); + if not ifNil(tmpVal) then return tmpVal; + return class(TSXml).Utf8ToCurCodePage(XMLCreated); + End; + + Function writeXMLCreated(str); + Begin + XMLCreated := class(TSXml).CurCodePageToUtf8(str); + End; + + Property Modified read readXMLModified write writeXMLModified; + Function readXMLModified(); + Begin + tmpVal := class(TSXml).Utf8ToCurCodePage(Value('Modified')); + if not ifNil(tmpVal) then return tmpVal; + return class(TSXml).Utf8ToCurCodePage(XMLModified); + End; + + Function writeXMLModified(str); + Begin + XMLModified := class(TSXml).CurCodePageToUtf8(str); + End; + Property Category read readXMLCategory write writeXMLCategory; Function readXMLCategory(); Begin @@ -5569,15 +5595,17 @@ type TCoreProperty=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Title","name":"dc:title","obj":XMLTitle,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Subject","name":"dc:subject","obj":XMLSubject,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Creator","name":"dc:creator","obj":XMLCreator,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Keywords","name":"cp:keywords","obj":XMLKeywords,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Description","name":"dc:description","obj":XMLDescription,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"LastModifiedBy","name":"cp:lastModifiedBy","obj":XMLLastModifiedBy,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"LastPrinted","name":"cp:lastPrinted","obj":XMLLastPrinted,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Category","name":"cp:category","obj":XMLCategory,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"ContentStatus","name":"cp:contentStatus","obj":XMLContentStatus,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") + return array(('field':'Title','name':'dc:title','obj':XMLTitle,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Subject','name':'dc:subject','obj':XMLSubject,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Creator','name':'dc:creator','obj':XMLCreator,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Keywords','name':'cp:keywords','obj':XMLKeywords,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Description','name':'dc:description','obj':XMLDescription,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'LastModifiedBy','name':'cp:lastModifiedBy','obj':XMLLastModifiedBy,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'LastPrinted','name':'cp:lastPrinted','obj':XMLLastPrinted,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Created','name':'dcterms:created xsi:type="dcterms:W3CDTF"','obj':XMLCreated,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Modified','name':'dcterms:modified xsi:type="dcterms:W3CDTF"','obj':XMLModified,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Category','name':'cp:category','obj':XMLCategory,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'ContentStatus','name':'cp:contentStatus','obj':XMLContentStatus,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -5591,6 +5619,8 @@ type TCoreProperty=class(NodeInfo) XMLDescription; XMLLastModifiedBy; XMLLastPrinted; + XMLCreated; + XMLModified; XMLCategory; XMLContentStatus; End; @@ -5844,25 +5874,25 @@ type TwrPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"rFont","name":rFont.NodeName,"obj":rFont,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TwFont") - ,("field":"Bold","name":"w:b","obj":Bold,"attrEx":"w:val","nodeType":"empty","attrName":"", "desc":"黑体", "class":"") - ,("field":"noProof","name":"w:noProof","obj":noProof,"attrEx":"","nodeType":"empty","attrName":"", "desc":"不检查拼写或语法)", "class":"") - ,("field":"Color","name":"w:color","obj":Color,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"字体颜色", "class":"") - ,("field":"bCs","name":"w:bCs","obj":bCs,"attrEx":"w:val","nodeType":"empty","attrName":"", "desc":"复杂脚本黑体", "class":"") - ,("field":"Italic","name":"w:i","obj":Italic,"attrEx":"","nodeType":"empty","attrName":"", "desc":"斜体", "class":"") - ,("field":"Strike","name":"w:strike","obj":Strike,"attrEx":"","nodeType":"empty","attrName":"", "desc":"单个删除线", "class":"") - ,("field":"dStrike","name":"w:dstrike","obj":dStrike,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"两个删除线", "class":"") - ,("field":"kern","name":"w:kern","obj":kern,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"字体紧排", "class":"") - ,("field":"Sz","name":"w:sz","obj":Sz,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"字体大小", "class":"") - ,("field":"szCs","name":"w:szCs","obj":szCs,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"复杂脚本字体大小", "class":"") - ,("field":"U","name":"w:u","obj":U,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"下划线", "class":"") - ,("field":"vertAlign","name":"w:vertAlign","obj":vertAlign,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"对齐方式.", "class":"") - ,("field":"eastAsia","name":"w:lang","obj":eastAsia,"attrEx":"w:eastAsia","nodeType":"","attrName":"", "desc":"处理使用东亚字符的运行内容时应使用的语言.", "class":"") - ,("field":"Lang","name":"w:lang","obj":Lang,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"处理使用拉丁字符的本次运行内容时用于检查拼写和语法的语言.", "class":"") - ,("field":"bidi","name":"w:lang","obj":bidi,"attrEx":"w:bidi","nodeType":"","attrName":"", "desc":"处理使用复杂脚本字符的运行内容时应使用的语言.", "class":"") - ,("field":"Del","name":Del.NodeName,"obj":Del,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TOptInfo") - ,("field":"StyleId","name":"w:rStyle","obj":StyleId,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"WebHidden","name":"w:webHidden","obj":WebHidden,"attrEx":"w:val","nodeType":"empty","attrName":"", "desc":"disable", "class":"") + return array(('field':'rFont','name':rFont.NodeName,'obj':rFont,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TwFont') + ,('field':'Bold','name':'w:b','obj':Bold,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'黑体', 'class':'') + ,('field':'noProof','name':'w:noProof','obj':noProof,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'不检查拼写或语法)', 'class':'') + ,('field':'Color','name':'w:color','obj':Color,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'字体颜色', 'class':'') + ,('field':'bCs','name':'w:bCs','obj':bCs,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'复杂脚本黑体', 'class':'') + ,('field':'Italic','name':'w:i','obj':Italic,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'斜体', 'class':'') + ,('field':'Strike','name':'w:strike','obj':Strike,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'单个删除线', 'class':'') + ,('field':'dStrike','name':'w:dstrike','obj':dStrike,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'两个删除线', 'class':'') + ,('field':'kern','name':'w:kern','obj':kern,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'字体紧排', 'class':'') + ,('field':'Sz','name':'w:sz','obj':Sz,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'字体大小', 'class':'') + ,('field':'szCs','name':'w:szCs','obj':szCs,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'复杂脚本字体大小', 'class':'') + ,('field':'U','name':'w:u','obj':U,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'下划线', 'class':'') + ,('field':'vertAlign','name':'w:vertAlign','obj':vertAlign,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'对齐方式.', 'class':'') + ,('field':'eastAsia','name':'w:lang','obj':eastAsia,'attrEx':'w:eastAsia','nodeType':'','attrName':'', 'desc':'处理使用东亚字符的运行内容时应使用的语言.', 'class':'') + ,('field':'Lang','name':'w:lang','obj':Lang,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'处理使用拉丁字符的本次运行内容时用于检查拼写和语法的语言.', 'class':'') + ,('field':'bidi','name':'w:lang','obj':bidi,'attrEx':'w:bidi','nodeType':'','attrName':'', 'desc':'处理使用复杂脚本字符的运行内容时应使用的语言.', 'class':'') + ,('field':'Del','name':Del.NodeName,'obj':Del,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TOptInfo') + ,('field':'StyleId','name':'w:rStyle','obj':StyleId,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'WebHidden','name':'w:webHidden','obj':WebHidden,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'disable', 'class':'') ) union ExtNodes; End; @@ -5951,8 +5981,8 @@ type TNumPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Level","name":"w:ilvl","obj":Level,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"项目层级", "class":"") - ,("field":"numId","name":"w:numId","obj":numId,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"项目编号ID", "class":"") + return array(('field':'Level','name':'w:ilvl','obj':Level,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'项目层级', 'class':'') + ,('field':'numId','name':'w:numId','obj':numId,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'项目编号ID', 'class':'') ) union ExtNodes; End; @@ -5999,7 +6029,7 @@ type TTextBoxImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"P","name":P.NodeName,"obj":P,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TParagraphImpl") + return array(('field':'P','name':P.NodeName,'obj':P,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TParagraphImpl') ) union ExtNodes; End; @@ -6095,40 +6125,40 @@ type TwpPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"StyleId","name":"w:pStyle","obj":StyleId,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"段落样式ID", "class":"") - ,("field":"NumPr","name":NumPr.NodeName,"obj":NumPr,"attrEx":"","nodeType":"","attrName":"", "desc":"项目编号、数字编号", "class":"TNumPr") - ,("field":"Alignment","name":"w:jc","obj":Alignment,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"左、右、居中和对齐", "class":"") - ,("field":"FirstLineChars","name":"w:ind","obj":FirstLineChars,"attrEx":"w:firstLineChars","nodeType":"","attrName":"", "desc":"字符单位中的其他首行缩进", "class":"") - ,("field":"FirstLineIndent","name":"w:ind","obj":FirstLineIndent,"attrEx":"w:firstLine","nodeType":"","attrName":"", "desc":"指定段落第一行缩进的相对差异的值", "class":"") - ,("field":"RightChars","name":"w:ind","obj":RightChars,"attrEx":"w:rightChars","nodeType":"","attrName":"", "desc":"字符单位中的右缩进", "class":"") - ,("field":"RightIndent","name":"w:ind","obj":RightIndent,"attrEx":"w:right","nodeType":"","attrName":"", "desc":"指定段落的右边距和右边距之间的间距", "class":"") - ,("field":"LeftChars","name":"w:ind","obj":LeftChars,"attrEx":"w:leftChars","nodeType":"","attrName":"", "desc":"字符单位中的左缩进", "class":"") - ,("field":"LeftIndent","name":"w:ind","obj":LeftIndent,"attrEx":"w:left","nodeType":"","attrName":"", "desc":"当前文档中第一段的左缩进值", "class":"") - ,("field":"StartIndent","name":"w:ind","obj":StartIndent,"attrEx":"w:start","nodeType":"","attrName":"", "desc":"w:start 控制从左到右段落的左缩进或从右到左段落的右缩进,w:end 控制另一边", "class":"") - ,("field":"EndIndent","name":"w:ind","obj":EndIndent,"attrEx":"w:end","nodeType":"","attrName":"", "desc":"w:start 控制从左到右段落的左缩进或从右到左段落的右缩进,w:end 控制另一边", "class":"") - ,("field":"HangingChars","name":"w:ind","obj":HangingChars,"attrEx":"w:hangingChars","nodeType":"","attrName":"", "desc":"从字符单位的第一行中删除的缩进", "class":"") - ,("field":"Hanging","name":"w:ind","obj":Hanging,"attrEx":"w:hanging","nodeType":"","attrName":"", "desc":"从第一行中删除的缩进", "class":"") - ,("field":"LineSpacingRule","name":"w:spacing","obj":LineSpacingRule,"attrEx":"w:lineRule","nodeType":"","attrName":"", "desc":"该枚举指示 LineSpacing 应该被解释", "class":"") - ,("field":"LineSpacing","name":"w:spacing","obj":LineSpacing,"attrEx":"w:line","nodeType":"","attrName":"", "desc":"当前文档中第一段的行距", "class":"") - ,("field":"AfterLines","name":"w:spacing","obj":AfterLines,"attrEx":"w:afterLines","nodeType":"","attrName":"", "desc":"段落下方的间距(以行单位为单位)", "class":"") - ,("field":"SpaceAfter","name":"w:spacing","obj":SpaceAfter,"attrEx":"w:after","nodeType":"","attrName":"", "desc":"当前文档中第一段的段后间距", "class":"") - ,("field":"BeforeLines","name":"w:spacing","obj":BeforeLines,"attrEx":"w:beforeLines","nodeType":"","attrName":"", "desc":"段落上方的间距(以行单位为单位)行单位", "class":"") - ,("field":"SpaceBefore","name":"w:spacing","obj":SpaceBefore,"attrEx":"w:before","nodeType":"","attrName":"", "desc":"当前文档中第一段的段前间距", "class":"") - ,("field":"OutlineLevel","name":"w:outlineLvl","obj":OutlineLevel,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"设置当前文档中第一段的大纲级别", "class":"") - ,("field":"KeepTogether","name":"w:keepLines","obj":KeepTogether,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"段落是否应保持完整且不应跨越页面边界", "class":"") - ,("field":"KeepWithNext","name":"w:keepNext","obj":KeepWithNext,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"该段是否应与下一段保持在同一页上", "class":"") - ,("field":"PageBreakBefore","name":"w:pageBreakBefore","obj":PageBreakBefore,"attrEx":"w:val","nodeType":"empty","attrName":"", "desc":"该段该段出现在前一段之后的页面顶部", "class":"") - ,("field":"WidowControl","name":"w:widowControl","obj":WidowControl,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"当Word对文档重新分页时,如果段落中的第一行和最后一行与段落的其余部分保持在同一页上", "class":"") - ,("field":"TextAlignment","name":"w:textAlignment","obj":TextAlignment,"attrEx":"","nodeType":"empty","attrName":"", "desc":"该值指示文本内容的水平对齐方式", "class":"") - ,("field":"AdjustRightInd","name":"w:adjustRightInd","obj":AdjustRightInd,"attrEx":"w:val","nodeType":"empty","attrName":"", "desc":"使用文档网格时自动调整右缩进", "class":"") - ,("field":"SnapToGrid","name":"w:snapToGrid","obj":SnapToGrid,"attrEx":"w:val","nodeType":"empty","attrName":"", "desc":"如果定义了文档网络,则对齐到网格", "class":"") - ,("field":"AutoSpaceDE","name":"w:autoSpaceDE","obj":AutoSpaceDE,"attrEx":"","nodeType":"empty","attrName":"", "desc":"自动调整拉丁语和东亚文本的间距", "class":"") - ,("field":"AutoSpaceDN","name":"w:autoSpaceDN","obj":AutoSpaceDN,"attrEx":"","nodeType":"empty","attrName":"", "desc":"自动调整东亚文本和数字的间距", "class":"") - ,("field":"Tabs","name":Tabs.NodeName,"obj":Tabs,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TTabStops") - ,("field":"rPr","name":rPr.NodeName,"obj":rPr,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TwrPr") - ,("field":"cnfStyle","name":"w:cnfStyle","obj":cnfStyle,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"段落条件格式:此元素指定格式属性的已应用于此段落,如果该段落包含在表格单元格的条件的表格样式的集。https://learn.microsoft.com/zh-cn/dotnet/api/documentformat.openxml.wordprocessing.conditionalformatstyle?view=openxml-2.8.1", "class":"") - ,("field":"textFlow","name":"w:textFlow","obj":textFlow,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"Bdr","name":Bdr.NodeName,"obj":Bdr,"attrEx":"","nodeType":"","attrName":"", "desc":"文字边框", "class":"TpBdr") + return array(('field':'StyleId','name':'w:pStyle','obj':StyleId,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'段落样式ID', 'class':'') + ,('field':'NumPr','name':NumPr.NodeName,'obj':NumPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'项目编号、数字编号', 'class':'TNumPr') + ,('field':'Alignment','name':'w:jc','obj':Alignment,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'左、右、居中和对齐', 'class':'') + ,('field':'FirstLineChars','name':'w:ind','obj':FirstLineChars,'attrEx':'w:firstLineChars','nodeType':'','attrName':'', 'desc':'字符单位中的其他首行缩进', 'class':'') + ,('field':'FirstLineIndent','name':'w:ind','obj':FirstLineIndent,'attrEx':'w:firstLine','nodeType':'','attrName':'', 'desc':'指定段落第一行缩进的相对差异的值', 'class':'') + ,('field':'RightChars','name':'w:ind','obj':RightChars,'attrEx':'w:rightChars','nodeType':'','attrName':'', 'desc':'字符单位中的右缩进', 'class':'') + ,('field':'RightIndent','name':'w:ind','obj':RightIndent,'attrEx':'w:right','nodeType':'','attrName':'', 'desc':'指定段落的右边距和右边距之间的间距', 'class':'') + ,('field':'LeftChars','name':'w:ind','obj':LeftChars,'attrEx':'w:leftChars','nodeType':'','attrName':'', 'desc':'字符单位中的左缩进', 'class':'') + ,('field':'LeftIndent','name':'w:ind','obj':LeftIndent,'attrEx':'w:left','nodeType':'','attrName':'', 'desc':'当前文档中第一段的左缩进值', 'class':'') + ,('field':'StartIndent','name':'w:ind','obj':StartIndent,'attrEx':'w:start','nodeType':'','attrName':'', 'desc':'w:start 控制从左到右段落的左缩进或从右到左段落的右缩进,w:end 控制另一边', 'class':'') + ,('field':'EndIndent','name':'w:ind','obj':EndIndent,'attrEx':'w:end','nodeType':'','attrName':'', 'desc':'w:start 控制从左到右段落的左缩进或从右到左段落的右缩进,w:end 控制另一边', 'class':'') + ,('field':'HangingChars','name':'w:ind','obj':HangingChars,'attrEx':'w:hangingChars','nodeType':'','attrName':'', 'desc':'从字符单位的第一行中删除的缩进', 'class':'') + ,('field':'Hanging','name':'w:ind','obj':Hanging,'attrEx':'w:hanging','nodeType':'','attrName':'', 'desc':'从第一行中删除的缩进', 'class':'') + ,('field':'LineSpacingRule','name':'w:spacing','obj':LineSpacingRule,'attrEx':'w:lineRule','nodeType':'','attrName':'', 'desc':'该枚举指示 LineSpacing 应该被解释', 'class':'') + ,('field':'LineSpacing','name':'w:spacing','obj':LineSpacing,'attrEx':'w:line','nodeType':'','attrName':'', 'desc':'当前文档中第一段的行距', 'class':'') + ,('field':'AfterLines','name':'w:spacing','obj':AfterLines,'attrEx':'w:afterLines','nodeType':'','attrName':'', 'desc':'段落下方的间距(以行单位为单位)', 'class':'') + ,('field':'SpaceAfter','name':'w:spacing','obj':SpaceAfter,'attrEx':'w:after','nodeType':'','attrName':'', 'desc':'当前文档中第一段的段后间距', 'class':'') + ,('field':'BeforeLines','name':'w:spacing','obj':BeforeLines,'attrEx':'w:beforeLines','nodeType':'','attrName':'', 'desc':'段落上方的间距(以行单位为单位)行单位', 'class':'') + ,('field':'SpaceBefore','name':'w:spacing','obj':SpaceBefore,'attrEx':'w:before','nodeType':'','attrName':'', 'desc':'当前文档中第一段的段前间距', 'class':'') + ,('field':'OutlineLevel','name':'w:outlineLvl','obj':OutlineLevel,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'设置当前文档中第一段的大纲级别', 'class':'') + ,('field':'KeepTogether','name':'w:keepLines','obj':KeepTogether,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'段落是否应保持完整且不应跨越页面边界', 'class':'') + ,('field':'KeepWithNext','name':'w:keepNext','obj':KeepWithNext,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'该段是否应与下一段保持在同一页上', 'class':'') + ,('field':'PageBreakBefore','name':'w:pageBreakBefore','obj':PageBreakBefore,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'该段该段出现在前一段之后的页面顶部', 'class':'') + ,('field':'WidowControl','name':'w:widowControl','obj':WidowControl,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'当Word对文档重新分页时,如果段落中的第一行和最后一行与段落的其余部分保持在同一页上', 'class':'') + ,('field':'TextAlignment','name':'w:textAlignment','obj':TextAlignment,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'该值指示文本内容的水平对齐方式', 'class':'') + ,('field':'AdjustRightInd','name':'w:adjustRightInd','obj':AdjustRightInd,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'使用文档网格时自动调整右缩进', 'class':'') + ,('field':'SnapToGrid','name':'w:snapToGrid','obj':SnapToGrid,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'如果定义了文档网络,则对齐到网格', 'class':'') + ,('field':'AutoSpaceDE','name':'w:autoSpaceDE','obj':AutoSpaceDE,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'自动调整拉丁语和东亚文本的间距', 'class':'') + ,('field':'AutoSpaceDN','name':'w:autoSpaceDN','obj':AutoSpaceDN,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'自动调整东亚文本和数字的间距', 'class':'') + ,('field':'Tabs','name':Tabs.NodeName,'obj':Tabs,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TTabStops') + ,('field':'rPr','name':rPr.NodeName,'obj':rPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TwrPr') + ,('field':'cnfStyle','name':'w:cnfStyle','obj':cnfStyle,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'段落条件格式:此元素指定格式属性的已应用于此段落,如果该段落包含在表格单元格的条件的表格样式的集。https://learn.microsoft.com/zh-cn/dotnet/api/documentformat.openxml.wordprocessing.conditionalformatstyle?view=openxml-2.8.1', 'class':'') + ,('field':'textFlow','name':'w:textFlow','obj':textFlow,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'Bdr','name':Bdr.NodeName,'obj':Bdr,'attrEx':'','nodeType':'','attrName':'', 'desc':'文字边框', 'class':'TpBdr') ) union ExtNodes; End; @@ -6205,8 +6235,8 @@ type TcNvGraphicFramePr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"noChangeAspect","name":"a:graphicFrameLocks","obj":noChangeAspect,"attrEx":"noChangeAspect","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"xmlns","name":"a:graphicFrameLocks","obj":xmlns,"attrEx":"xmlns:a","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'noChangeAspect','name':'a:graphicFrameLocks','obj':noChangeAspect,'attrEx':'noChangeAspect','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'xmlns','name':'a:graphicFrameLocks','obj':xmlns,'attrEx':'xmlns:a','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -6255,9 +6285,9 @@ type TnvPicPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"CNvPr","name":CNvPr.NodeName,"obj":CNvPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TCNvPr") - ,("field":"CNvPicPr","name":CNvPicPr.NodeName,"obj":CNvPicPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcNvPicPr") - ,("field":"CNvSpPr","name":"xdr:cNvSpPr","obj":CNvSpPr,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") + return array(('field':'CNvPr','name':CNvPr.NodeName,'obj':CNvPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TCNvPr') + ,('field':'CNvPicPr','name':CNvPicPr.NodeName,'obj':CNvPicPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcNvPicPr') + ,('field':'CNvSpPr','name':'xdr:cNvSpPr','obj':CNvSpPr,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -6305,7 +6335,7 @@ type TCNvPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"ExtLst","name":ExtLst.NodeName,"obj":ExtLst,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TExtLst") + return array(('field':'ExtLst','name':ExtLst.NodeName,'obj':ExtLst,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TExtLst') ) union ExtNodes; End; @@ -6354,7 +6384,7 @@ type TExtLst=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Ext","name":Ext.NodeName,"obj":Ext,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TAext") + return array(('field':'Ext','name':Ext.NodeName,'obj':Ext,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TAext') ) union ExtNodes; End; @@ -6398,8 +6428,8 @@ type TAext=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Xmlns16","name":"a16:creationId","obj":Xmlns16,"attrEx":"xmlns:a16","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Id","name":"a16:creationId","obj":Id,"attrEx":"id","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'Xmlns16','name':'a16:creationId','obj':Xmlns16,'attrEx':'xmlns:a16','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Id','name':'a16:creationId','obj':Id,'attrEx':'id','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -6445,7 +6475,7 @@ type TprstGeom=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"AvLst","name":"a:avLst","obj":AvLst,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") + return array(('field':'AvLst','name':'a:avLst','obj':AvLst,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -6494,8 +6524,8 @@ type TblipFill=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Blip","name":Blip.NodeName,"obj":Blip,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TBlip") - ,("field":"Stretch","name":Stretch.NodeName,"obj":Stretch,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TStretch") + return array(('field':'Blip','name':Blip.NodeName,'obj':Blip,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TBlip') + ,('field':'Stretch','name':Stretch.NodeName,'obj':Stretch,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TStretch') ) union ExtNodes; End; @@ -6542,7 +6572,7 @@ type TwLine=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"SolidFill","name":SolidFill.NodeName,"obj":SolidFill,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSolidFill") + return array(('field':'SolidFill','name':SolidFill.NodeName,'obj':SolidFill,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSolidFill') ) union ExtNodes; End; @@ -6592,9 +6622,9 @@ type TpicsPpr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"XFrm","name":XFrm.NodeName,"obj":XFrm,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TXfrm") - ,("field":"PrstGeom","name":PrstGeom.NodeName,"obj":PrstGeom,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TprstGeom") - ,("field":"Line","name":Line.NodeName,"obj":Line,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TwLine") + return array(('field':'XFrm','name':XFrm.NodeName,'obj':XFrm,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TXfrm') + ,('field':'PrstGeom','name':PrstGeom.NodeName,'obj':PrstGeom,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TprstGeom') + ,('field':'Line','name':Line.NodeName,'obj':Line,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TwLine') ) union ExtNodes; End; @@ -6685,7 +6715,7 @@ type TStretch=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"FillRect","name":"a:fillRect","obj":FillRect,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") + return array(('field':'FillRect','name':'a:fillRect','obj':FillRect,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -6731,7 +6761,7 @@ type TRef=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"SchemeClr","name":SchemeClr.NodeName,"obj":SchemeClr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TScheme") + return array(('field':'SchemeClr','name':SchemeClr.NodeName,'obj':SchemeClr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TScheme') ) union ExtNodes; End; @@ -6776,7 +6806,7 @@ type TScheme=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Shade","name":"a:shade","obj":Shade,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'Shade','name':'a:shade','obj':Shade,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -6829,10 +6859,10 @@ type TXdrStyle=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"LnRef","name":LnRef.NodeName,"obj":LnRef,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TRef") - ,("field":"FillRef","name":FillRef.NodeName,"obj":FillRef,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TRef") - ,("field":"EffectRef","name":EffectRef.NodeName,"obj":EffectRef,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TRef") - ,("field":"FontRef","name":FontRef.NodeName,"obj":FontRef,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TRef") + return array(('field':'LnRef','name':LnRef.NodeName,'obj':LnRef,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TRef') + ,('field':'FillRef','name':FillRef.NodeName,'obj':FillRef,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TRef') + ,('field':'EffectRef','name':EffectRef.NodeName,'obj':EffectRef,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TRef') + ,('field':'FontRef','name':FontRef.NodeName,'obj':FontRef,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TRef') ) union ExtNodes; End; @@ -6889,11 +6919,11 @@ type TPic=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"NvPicPr","name":NvPicPr.NodeName,"obj":NvPicPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TnvPicPr") - ,("field":"BlipFill","name":BlipFill.NodeName,"obj":BlipFill,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TblipFill") - ,("field":"SpPr","name":SpPr.NodeName,"obj":SpPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSpPr") - ,("field":"Style","name":Style.NodeName,"obj":Style,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TXdrStyle") - ,("field":"TxBody","name":TxBody.NodeName,"obj":TxBody,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TTxPr") + return array(('field':'NvPicPr','name':NvPicPr.NodeName,'obj':NvPicPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TnvPicPr') + ,('field':'BlipFill','name':BlipFill.NodeName,'obj':BlipFill,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TblipFill') + ,('field':'SpPr','name':SpPr.NodeName,'obj':SpPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSpPr') + ,('field':'Style','name':Style.NodeName,'obj':Style,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TXdrStyle') + ,('field':'TxBody','name':TxBody.NodeName,'obj':TxBody,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TTxPr') ) union ExtNodes; End; @@ -6946,10 +6976,10 @@ type TGraphicData=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"C","name":"c:chart","obj":C,"attrEx":"xmlns:c","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"R","name":"c:chart","obj":R,"attrEx":"xmlns:r","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Rid","name":"c:chart","obj":Rid,"attrEx":"r:id","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Pic","name":Pic.NodeName,"obj":Pic,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TPic") + return array(('field':'C','name':'c:chart','obj':C,'attrEx':'xmlns:c','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'R','name':'c:chart','obj':R,'attrEx':'xmlns:r','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Rid','name':'c:chart','obj':Rid,'attrEx':'r:id','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Pic','name':Pic.NodeName,'obj':Pic,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TPic') ) union ExtNodes; End; @@ -6999,7 +7029,7 @@ type TGraphic=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"GraphicData","name":GraphicData.NodeName,"obj":GraphicData,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TGraphicData") + return array(('field':'GraphicData','name':GraphicData.NodeName,'obj':GraphicData,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TGraphicData') ) union ExtNodes; End; @@ -7048,17 +7078,17 @@ type TwInline=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"cx","name":"wp:extent","obj":cx,"attrEx":"cx","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"cy","name":"wp:extent","obj":cy,"attrEx":"cy","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"l","name":"wp:effectExtent","obj":l,"attrEx":"l","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"t","name":"wp:effectExtent","obj":t,"attrEx":"t","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"r","name":"wp:effectExtent","obj":r,"attrEx":"r","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"b","name":"wp:effectExtent","obj":b,"attrEx":"b","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"ID","name":"wp:docPr","obj":ID,"attrEx":"id","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Name","name":"wp:docPr","obj":Name,"attrEx":"name","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Descr","name":"wp:docPr","obj":Descr,"attrEx":"descr","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"cNvGraphicFramePr","name":cNvGraphicFramePr.NodeName,"obj":cNvGraphicFramePr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TcNvGraphicFramePr") - ,("field":"Graphic","name":Graphic.NodeName,"obj":Graphic,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TGraphic") + return array(('field':'cx','name':'wp:extent','obj':cx,'attrEx':'cx','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'cy','name':'wp:extent','obj':cy,'attrEx':'cy','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'l','name':'wp:effectExtent','obj':l,'attrEx':'l','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'t','name':'wp:effectExtent','obj':t,'attrEx':'t','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'r','name':'wp:effectExtent','obj':r,'attrEx':'r','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'b','name':'wp:effectExtent','obj':b,'attrEx':'b','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'ID','name':'wp:docPr','obj':ID,'attrEx':'id','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Name','name':'wp:docPr','obj':Name,'attrEx':'name','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Descr','name':'wp:docPr','obj':Descr,'attrEx':'descr','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'cNvGraphicFramePr','name':cNvGraphicFramePr.NodeName,'obj':cNvGraphicFramePr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TcNvGraphicFramePr') + ,('field':'Graphic','name':Graphic.NodeName,'obj':Graphic,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TGraphic') ) union ExtNodes; End; @@ -7118,7 +7148,7 @@ type TwDrawing=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"WInline","name":WInline.NodeName,"obj":WInline,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TwInline") + return array(('field':'WInline','name':WInline.NodeName,'obj':WInline,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TwInline') ) union ExtNodes; End; @@ -7162,7 +7192,7 @@ type TText=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Text","name":"Text","obj":Text,"attrEx":"","nodeType":"tcdata","attrName":"", "desc":"", "class":"") + return array(('field':'Text','name':'Text','obj':Text,'attrEx':'','nodeType':'tcdata','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -7213,16 +7243,16 @@ type TRunImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"rPr","name":rPr.NodeName,"obj":rPr,"attrEx":"","nodeType":"","attrName":"", "desc":"字体属性", "class":"TwrPr") - ,("field":"fldCharType","name":"w:fldChar","obj":fldCharType,"attrEx":"w:fldCharType","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Dirty","name":"w:fldChar","obj":Dirty,"attrEx":"w:dirty","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"InstrText","name":"w:instrText","obj":InstrText,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"InstrTextSpace","name":"w:instrText","obj":InstrTextSpace,"attrEx":"xml:space","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Tab","name":"w:tab","obj":Tab,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") - ,("field":"Br","name":Br.NodeName,"obj":Br,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TBr") - ,("field":"T","name":"w:t","obj":T,"attrEx":"","nodeType":"pcdata","attrName":"", "desc":"", "class":"") - ,("field":"Space","name":"w:t","obj":Space,"attrEx":"xml:space","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Drawing","name":Drawing.NodeName,"obj":Drawing,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TwDrawing") + return array(('field':'rPr','name':rPr.NodeName,'obj':rPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'字体属性', 'class':'TwrPr') + ,('field':'fldCharType','name':'w:fldChar','obj':fldCharType,'attrEx':'w:fldCharType','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Dirty','name':'w:fldChar','obj':Dirty,'attrEx':'w:dirty','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'InstrText','name':'w:instrText','obj':InstrText,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'InstrTextSpace','name':'w:instrText','obj':InstrTextSpace,'attrEx':'xml:space','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Tab','name':'w:tab','obj':Tab,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') + ,('field':'Br','name':Br.NodeName,'obj':Br,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TBr') + ,('field':'T','name':'w:t','obj':T,'attrEx':'','nodeType':'pcdata','attrName':'', 'desc':'', 'class':'') + ,('field':'Space','name':'w:t','obj':Space,'attrEx':'xml:space','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Drawing','name':Drawing.NodeName,'obj':Drawing,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TwDrawing') ) union ExtNodes; End; @@ -7323,7 +7353,7 @@ type TFldSimple=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Run","name":Run.NodeName,"obj":Run,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TRun") + return array(('field':'Run','name':Run.NodeName,'obj':Run,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TRun') ) union ExtNodes; End; @@ -7382,13 +7412,13 @@ type TParagraphImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"pPr","name":pPr.NodeName,"obj":pPr,"attrEx":"","nodeType":"","attrName":"", "desc":"段落格式", "class":"TwpPr") - ,("field":"markStart","name":markStart.NodeName,"obj":markStart,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TBookMark") - ,("field":"Run","name":Run.NodeName,"obj":Run,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TRun") - ,("field":"markEnd","name":markEnd.NodeName,"obj":markEnd,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TBookMark") - ,("field":"PageNo","name":PageNo.NodeName,"obj":PageNo,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TFldSimple") - ,("field":"OfRun","name":OfRun.NodeName,"obj":OfRun,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TRun") - ,("field":"TotalPageNo","name":TotalPageNo.NodeName,"obj":TotalPageNo,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TFldSimple") + return array(('field':'pPr','name':pPr.NodeName,'obj':pPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'段落格式', 'class':'TwpPr') + ,('field':'markStart','name':markStart.NodeName,'obj':markStart,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TBookMark') + ,('field':'Run','name':Run.NodeName,'obj':Run,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TRun') + ,('field':'markEnd','name':markEnd.NodeName,'obj':markEnd,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TBookMark') + ,('field':'PageNo','name':PageNo.NodeName,'obj':PageNo,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TFldSimple') + ,('field':'OfRun','name':OfRun.NodeName,'obj':OfRun,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TRun') + ,('field':'TotalPageNo','name':TotalPageNo.NodeName,'obj':TotalPageNo,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TFldSimple') ) union ExtNodes; End; @@ -7439,7 +7469,7 @@ type TwBody=class(NodeInfo, TDocumentBody) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"ps","name":"w:p","obj":ps,"attrEx":"","nodeType":"","attrName":"","arrObj":"array", "desc":"", "class":"TParagraphImpl") + return array(('field':'ps','name':'w:p','obj':ps,'attrEx':'','nodeType':'','attrName':'','arrObj':'array', 'desc':'', 'class':'TParagraphImpl') ) union ExtNodes; End; @@ -7614,7 +7644,7 @@ type TDocCommentImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"P","name":P.NodeName,"obj":P,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TParagraphImpl") + return array(('field':'P','name':P.NodeName,'obj':P,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TParagraphImpl') ) union ExtNodes; End; @@ -7706,7 +7736,7 @@ type TCols=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"col","name":"w:col","obj":col,"attrEx":"","nodeType":"","attrName":"","arrObj":"array", "desc":"Column Definitions", "class":"TCol") + return array(('field':'col','name':'w:col','obj':col,'attrEx':'','nodeType':'','attrName':'','arrObj':'array', 'desc':'Column Definitions', 'class':'TCol') ) union ExtNodes; End; @@ -7901,10 +7931,10 @@ type TPageBorders=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Top","name":Top.NodeName,"obj":Top,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwBorder") - ,("field":"Left","name":Left.NodeName,"obj":Left,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwBorder") - ,("field":"Bottom","name":Bottom.NodeName,"obj":Bottom,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwBorder") - ,("field":"Right","name":Right.NodeName,"obj":Right,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwBorder") + return array(('field':'Top','name':Top.NodeName,'obj':Top,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwBorder') + ,('field':'Left','name':Left.NodeName,'obj':Left,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwBorder') + ,('field':'Bottom','name':Bottom.NodeName,'obj':Bottom,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwBorder') + ,('field':'Right','name':Right.NodeName,'obj':Right,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwBorder') ) union ExtNodes; End; @@ -8012,18 +8042,18 @@ type TDocSectionImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Header","name":Header.NodeName,"obj":Header,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TReference") - ,("field":"Footer","name":Footer.NodeName,"obj":Footer,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TReference") - ,("field":"bidi","name":"w:bidi","obj":bidi,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"章节从右到左的布局", "class":"") - ,("field":"cols","name":cols.NodeName,"obj":cols,"attrEx":"","nodeType":"","attrName":"", "desc":"Column Definitions", "class":"TCols") - ,("field":"docGrid","name":docGrid.NodeName,"obj":docGrid,"attrEx":"","nodeType":"","attrName":"", "desc":"Document Grid", "class":"TDocGrid") - ,("field":"pgMar","name":pgMar.NodeName,"obj":pgMar,"attrEx":"","nodeType":"","attrName":"", "desc":"Page Margin设置", "class":"TPageMargin") - ,("field":"Page","name":Page.NodeName,"obj":Page,"attrEx":"","nodeType":"","attrName":"", "desc":"页面设置", "class":"TPage") - ,("field":"Borders","name":Borders.NodeName,"obj":Borders,"attrEx":"","nodeType":"","attrName":"", "desc":"页面边框属性", "class":"TPageBorders") - ,("field":"titlePg","name":"w:titlePg","obj":titlePg,"attrEx":"","nodeType":"empty","attrName":"", "desc":"第一页是否有不同的页眉和页脚.", "class":"") - ,("field":"vAlign","name":"w:vAlign","obj":vAlign,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"当前章节,文本上下边距的垂直对齐方式.", "class":"") - ,("field":"Type","name":"w:type","obj":Type,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"当前节的类型(指定当前节的内容相对于上一节的放置方式).", "class":"") - ,("field":"textDirection","name":"w:textDirection","obj":textDirection,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"此节的文本方向.", "class":"") + return array(('field':'Header','name':Header.NodeName,'obj':Header,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TReference') + ,('field':'Footer','name':Footer.NodeName,'obj':Footer,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TReference') + ,('field':'bidi','name':'w:bidi','obj':bidi,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'章节从右到左的布局', 'class':'') + ,('field':'cols','name':cols.NodeName,'obj':cols,'attrEx':'','nodeType':'','attrName':'', 'desc':'Column Definitions', 'class':'TCols') + ,('field':'docGrid','name':docGrid.NodeName,'obj':docGrid,'attrEx':'','nodeType':'','attrName':'', 'desc':'Document Grid', 'class':'TDocGrid') + ,('field':'pgMar','name':pgMar.NodeName,'obj':pgMar,'attrEx':'','nodeType':'','attrName':'', 'desc':'Page Margin设置', 'class':'TPageMargin') + ,('field':'Page','name':Page.NodeName,'obj':Page,'attrEx':'','nodeType':'','attrName':'', 'desc':'页面设置', 'class':'TPage') + ,('field':'Borders','name':Borders.NodeName,'obj':Borders,'attrEx':'','nodeType':'','attrName':'', 'desc':'页面边框属性', 'class':'TPageBorders') + ,('field':'titlePg','name':'w:titlePg','obj':titlePg,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'第一页是否有不同的页眉和页脚.', 'class':'') + ,('field':'vAlign','name':'w:vAlign','obj':vAlign,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'当前章节,文本上下边距的垂直对齐方式.', 'class':'') + ,('field':'Type','name':'w:type','obj':Type,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'当前节的类型(指定当前节的内容相对于上一节的放置方式).', 'class':'') + ,('field':'textDirection','name':'w:textDirection','obj':textDirection,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'此节的文本方向.', 'class':'') ) union ExtNodes; End; @@ -8150,23 +8180,23 @@ type TwTcPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Width","name":"w:tcW","obj":Width,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"表格单元格宽度", "class":"") - ,("field":"Type","name":"w:tcW","obj":Type,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"宽度属性的单位。此属性用于定义表格的各种属性,包括:单元格间距、首选宽度和表格边距。", "class":"") - ,("field":"Shading","name":Shading.NodeName,"obj":Shading,"attrEx":"","nodeType":"","attrName":"", "desc":"表头底纹", "class":"TwShading") - ,("field":"cnfStyle","name":"w:cnfStyle","obj":cnfStyle,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"此表格单元的条件表格样式格式设置属性集。", "class":"") - ,("field":"CellMar","name":CellMar.NodeName,"obj":CellMar,"attrEx":"","nodeType":"","attrName":"", "desc":"单元格边距设置", "class":"TTblCellMar") - ,("field":"Borders","name":Borders.NodeName,"obj":Borders,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwTblBorders") - ,("field":"gridSpan","name":"w:gridSpan","obj":gridSpan,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"当前表单元格所跨的网格列", "class":"") - ,("field":"hideMark","name":"w:hideMark","obj":hideMark,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"忽略行高度计算中的单元格结尾标记", "class":"") - ,("field":"hmerge","name":"w:hmerge","obj":hmerge,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"水平合并单元格", "class":"") - ,("field":"noWrap","name":"w:noWrap","obj":noWrap,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"不换行单元格内容", "class":"") - ,("field":"tcFitText","name":"w:tcFitText","obj":tcFitText,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"调整单元格内的文本", "class":"") - ,("field":"textDirection","name":"w:textDirection","obj":textDirection,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"表格单元格文本文字方向", "class":"") - ,("field":"Del","name":Del.NodeName,"obj":Del,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TOptInfo") - ,("field":"Ins","name":Ins.NodeName,"obj":Ins,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TOptInfo") - ,("field":"cellMerge","name":cellMerge.NodeName,"obj":cellMerge,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TcellMerge") - ,("field":"vAlign","name":"w:vAlign","obj":vAlign,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"表格单元格垂直对齐", "class":"") - ,("field":"vmerge","name":"w:vmerge","obj":vmerge,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"垂直合并单元格", "class":"") + return array(('field':'Width','name':'w:tcW','obj':Width,'attrEx':'w:w','nodeType':'','attrName':'', 'desc':'表格单元格宽度', 'class':'') + ,('field':'Type','name':'w:tcW','obj':Type,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'宽度属性的单位。此属性用于定义表格的各种属性,包括:单元格间距、首选宽度和表格边距。', 'class':'') + ,('field':'Shading','name':Shading.NodeName,'obj':Shading,'attrEx':'','nodeType':'','attrName':'', 'desc':'表头底纹', 'class':'TwShading') + ,('field':'cnfStyle','name':'w:cnfStyle','obj':cnfStyle,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'此表格单元的条件表格样式格式设置属性集。', 'class':'') + ,('field':'CellMar','name':CellMar.NodeName,'obj':CellMar,'attrEx':'','nodeType':'','attrName':'', 'desc':'单元格边距设置', 'class':'TTblCellMar') + ,('field':'Borders','name':Borders.NodeName,'obj':Borders,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwTblBorders') + ,('field':'gridSpan','name':'w:gridSpan','obj':gridSpan,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'当前表单元格所跨的网格列', 'class':'') + ,('field':'hideMark','name':'w:hideMark','obj':hideMark,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'忽略行高度计算中的单元格结尾标记', 'class':'') + ,('field':'hmerge','name':'w:hmerge','obj':hmerge,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'水平合并单元格', 'class':'') + ,('field':'noWrap','name':'w:noWrap','obj':noWrap,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'不换行单元格内容', 'class':'') + ,('field':'tcFitText','name':'w:tcFitText','obj':tcFitText,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'调整单元格内的文本', 'class':'') + ,('field':'textDirection','name':'w:textDirection','obj':textDirection,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'表格单元格文本文字方向', 'class':'') + ,('field':'Del','name':Del.NodeName,'obj':Del,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TOptInfo') + ,('field':'Ins','name':Ins.NodeName,'obj':Ins,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TOptInfo') + ,('field':'cellMerge','name':cellMerge.NodeName,'obj':cellMerge,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TcellMerge') + ,('field':'vAlign','name':'w:vAlign','obj':vAlign,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'表格单元格垂直对齐', 'class':'') + ,('field':'vmerge','name':'w:vmerge','obj':vmerge,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'垂直合并单元格', 'class':'') ) union ExtNodes; End; @@ -8230,8 +8260,8 @@ type TwTc=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"TcPr","name":TcPr.NodeName,"obj":TcPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TwTcPr") - ,("field":"P","name":P.NodeName,"obj":P,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TParagraphImpl") + return array(('field':'TcPr','name':TcPr.NodeName,'obj':TcPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TwTcPr') + ,('field':'P','name':P.NodeName,'obj':P,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TParagraphImpl') ) union ExtNodes; End; @@ -8278,16 +8308,16 @@ type TwTrPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Height","name":"w:trHeight","obj":Height,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"行高", "class":"") - ,("field":"Rule","name":"w:trHeight","obj":Rule,"attrEx":"w:hRule","nodeType":"","attrName":"", "desc":"如果Rule的值为自动,则应根据其内容的高度自动确定表行的高度,忽略Height值;如果Rule的值至少为least,则表行的高度应至少为Height属性的值;如果Rule的值是精确的,那么表行的高度应该正好是Height属性的值。", "class":"") - ,("field":"Alignment","name":"w:jc","obj":Alignment,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"对齐方式(left、right、center)", "class":"") - ,("field":"CantSplit","name":"w:cantSplit","obj":CantSplit,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"表行不能跨页分隔", "class":"") - ,("field":"cnfStyle","name":"w:cnfStyle","obj":cnfStyle,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"表行条件格式", "class":"") - ,("field":"gridAfter","name":"w:gridAfter","obj":gridAfter,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"最后一个单元格后的网格列", "class":"") - ,("field":"gridBefore","name":"w:gridBefore","obj":gridBefore,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"第一个单元格之前的网格列", "class":"") - ,("field":"hidden","name":"w:hidden","obj":hidden,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"隐藏表行标记", "class":"") - ,("field":"tblHeader","name":"w:tblHeader","obj":tblHeader,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"在每个新页面上重复表行", "class":"") - ,("field":"Del","name":Del.NodeName,"obj":Del,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TOptInfo") + return array(('field':'Height','name':'w:trHeight','obj':Height,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'行高', 'class':'') + ,('field':'Rule','name':'w:trHeight','obj':Rule,'attrEx':'w:hRule','nodeType':'','attrName':'', 'desc':'如果Rule的值为自动,则应根据其内容的高度自动确定表行的高度,忽略Height值;如果Rule的值至少为least,则表行的高度应至少为Height属性的值;如果Rule的值是精确的,那么表行的高度应该正好是Height属性的值。', 'class':'') + ,('field':'Alignment','name':'w:jc','obj':Alignment,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'对齐方式(left、right、center)', 'class':'') + ,('field':'CantSplit','name':'w:cantSplit','obj':CantSplit,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'表行不能跨页分隔', 'class':'') + ,('field':'cnfStyle','name':'w:cnfStyle','obj':cnfStyle,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'表行条件格式', 'class':'') + ,('field':'gridAfter','name':'w:gridAfter','obj':gridAfter,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'最后一个单元格后的网格列', 'class':'') + ,('field':'gridBefore','name':'w:gridBefore','obj':gridBefore,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'第一个单元格之前的网格列', 'class':'') + ,('field':'hidden','name':'w:hidden','obj':hidden,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'隐藏表行标记', 'class':'') + ,('field':'tblHeader','name':'w:tblHeader','obj':tblHeader,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'在每个新页面上重复表行', 'class':'') + ,('field':'Del','name':Del.NodeName,'obj':Del,'attrEx':'','nodeType':'','attrName':'', 'desc':'disable', 'class':'TOptInfo') ) union ExtNodes; End; @@ -8391,14 +8421,14 @@ type TTblCellMar=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Top","name":"w:top","obj":Top,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"表格单元格上边距,指定宽度属性的值.", "class":"") - ,("field":"TopType","name":"w:top","obj":TopType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"宽度属性的单位,auto(自动确定的宽度)、dxa(点的二十分之一宽度)nil(无宽度)pct(百分之五十宽度)", "class":"") - ,("field":"Left","name":"w:left","obj":Left,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"表格单元格左边距,指定宽度属性的值.", "class":"") - ,("field":"LeftType","name":"w:left","obj":LeftType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"宽度属性的单位,auto(自动确定的宽度)、dxa(点的二十分之一宽度)nil(无宽度)pct(百分之五十宽度)", "class":"") - ,("field":"Bottom","name":"w:bottom","obj":Bottom,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"表格单元格底边距,指定宽度属性的值..", "class":"") - ,("field":"BottomType","name":"w:bottom","obj":BottomType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"宽度属性的单位,auto(自动确定的宽度)、dxa(点的二十分之一宽度)nil(无宽度)pct(百分之五十宽度)", "class":"") - ,("field":"Right","name":"w:right","obj":Right,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"表格单元格右边距,指定宽度属性的值..", "class":"") - ,("field":"RightType","name":"w:right","obj":RightType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"宽度属性的单位,auto(自动确定的宽度)、dxa(点的二十分之一宽度)nil(无宽度)pct(百分之五十宽度)", "class":"") + return array(('field':'Top','name':'w:top','obj':Top,'attrEx':'w:w','nodeType':'','attrName':'', 'desc':'表格单元格上边距,指定宽度属性的值.', 'class':'') + ,('field':'TopType','name':'w:top','obj':TopType,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'宽度属性的单位,auto(自动确定的宽度)、dxa(点的二十分之一宽度)nil(无宽度)pct(百分之五十宽度)', 'class':'') + ,('field':'Left','name':'w:left','obj':Left,'attrEx':'w:w','nodeType':'','attrName':'', 'desc':'表格单元格左边距,指定宽度属性的值.', 'class':'') + ,('field':'LeftType','name':'w:left','obj':LeftType,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'宽度属性的单位,auto(自动确定的宽度)、dxa(点的二十分之一宽度)nil(无宽度)pct(百分之五十宽度)', 'class':'') + ,('field':'Bottom','name':'w:bottom','obj':Bottom,'attrEx':'w:w','nodeType':'','attrName':'', 'desc':'表格单元格底边距,指定宽度属性的值..', 'class':'') + ,('field':'BottomType','name':'w:bottom','obj':BottomType,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'宽度属性的单位,auto(自动确定的宽度)、dxa(点的二十分之一宽度)nil(无宽度)pct(百分之五十宽度)', 'class':'') + ,('field':'Right','name':'w:right','obj':Right,'attrEx':'w:w','nodeType':'','attrName':'', 'desc':'表格单元格右边距,指定宽度属性的值..', 'class':'') + ,('field':'RightType','name':'w:right','obj':RightType,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'宽度属性的单位,auto(自动确定的宽度)、dxa(点的二十分之一宽度)nil(无宽度)pct(百分之五十宽度)', 'class':'') ) union ExtNodes; End; @@ -8455,24 +8485,24 @@ type TTblPrEx=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Alignment","name":"w:jc","obj":Alignment,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Borders","name":Borders.NodeName,"obj":Borders,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwTblBorders") - ,("field":"Shading","name":Shading.NodeName,"obj":Shading,"attrEx":"","nodeType":"","attrName":"", "desc":"表头底纹", "class":"TwShading") - ,("field":"CellMar","name":CellMar.NodeName,"obj":CellMar,"attrEx":"","nodeType":"","attrName":"", "desc":"单元格边距设置", "class":"TTblCellMar") - ,("field":"CellSpacing","name":"w:tblCellSpacing","obj":CellSpacing,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"CellSpacingType","name":"w:tblCellSpacing","obj":CellSpacingType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Indent","name":"w:tblInd","obj":Indent,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"IndentType","name":"w:tblInd","obj":IndentType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Autofit","name":"w:tblLayout","obj":Autofit,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Val","name":"w:tblLook","obj":Val,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"NoVBand","name":"w:tblLook","obj":NoVBand,"attrEx":"w:noVBand","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"NoHBand","name":"w:tblLook","obj":NoHBand,"attrEx":"w:noHBand","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"LastRow","name":"w:tblLook","obj":LastRow,"attrEx":"w:lastRow","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"LastColumn","name":"w:tblLook","obj":LastColumn,"attrEx":"w:lastColumn","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"FirstRow","name":"w:tblLook","obj":FirstRow,"attrEx":"w:firstRow","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"FirstColumn","name":"w:tblLook","obj":FirstColumn,"attrEx":"w:firstColumn","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Width","name":"w:tblW","obj":Width,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"WidthType","name":"w:tblW","obj":WidthType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'Alignment','name':'w:jc','obj':Alignment,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Borders','name':Borders.NodeName,'obj':Borders,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwTblBorders') + ,('field':'Shading','name':Shading.NodeName,'obj':Shading,'attrEx':'','nodeType':'','attrName':'', 'desc':'表头底纹', 'class':'TwShading') + ,('field':'CellMar','name':CellMar.NodeName,'obj':CellMar,'attrEx':'','nodeType':'','attrName':'', 'desc':'单元格边距设置', 'class':'TTblCellMar') + ,('field':'CellSpacing','name':'w:tblCellSpacing','obj':CellSpacing,'attrEx':'w:w','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'CellSpacingType','name':'w:tblCellSpacing','obj':CellSpacingType,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Indent','name':'w:tblInd','obj':Indent,'attrEx':'w:w','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'IndentType','name':'w:tblInd','obj':IndentType,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Autofit','name':'w:tblLayout','obj':Autofit,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Val','name':'w:tblLook','obj':Val,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'NoVBand','name':'w:tblLook','obj':NoVBand,'attrEx':'w:noVBand','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'NoHBand','name':'w:tblLook','obj':NoHBand,'attrEx':'w:noHBand','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'LastRow','name':'w:tblLook','obj':LastRow,'attrEx':'w:lastRow','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'LastColumn','name':'w:tblLook','obj':LastColumn,'attrEx':'w:lastColumn','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'FirstRow','name':'w:tblLook','obj':FirstRow,'attrEx':'w:firstRow','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'FirstColumn','name':'w:tblLook','obj':FirstColumn,'attrEx':'w:firstColumn','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'Width','name':'w:tblW','obj':Width,'attrEx':'w:w','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'WidthType','name':'w:tblW','obj':WidthType,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -8538,9 +8568,9 @@ type TwTr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"tblPrEx","name":tblPrEx.NodeName,"obj":tblPrEx,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TTblPrEx") - ,("field":"TrPr","name":TrPr.NodeName,"obj":TrPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TwTrPr") - ,("field":"Tc","name":"w:tc","obj":Tc,"attrEx":"","nodeType":"","attrName":"","arrObj":"array", "desc":"", "class":"TwTc") + return array(('field':'tblPrEx','name':tblPrEx.NodeName,'obj':tblPrEx,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TTblPrEx') + ,('field':'TrPr','name':TrPr.NodeName,'obj':TrPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TwTrPr') + ,('field':'Tc','name':'w:tc','obj':Tc,'attrEx':'','nodeType':'','attrName':'','arrObj':'array', 'desc':'', 'class':'TwTc') ) union ExtNodes; End; @@ -8651,13 +8681,13 @@ type TwTblBorders=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Top","name":Top.NodeName,"obj":Top,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwBorder") - ,("field":"Left","name":Left.NodeName,"obj":Left,"attrEx":"","nodeType":"","attrName":"", "desc":"左边框属性", "class":"TwBorder") - ,("field":"Bottom","name":Bottom.NodeName,"obj":Bottom,"attrEx":"","nodeType":"","attrName":"", "desc":"底边框属性", "class":"TwBorder") - ,("field":"Right","name":Right.NodeName,"obj":Right,"attrEx":"","nodeType":"","attrName":"", "desc":"右边框属性", "class":"TwBorder") - ,("field":"InsideH","name":InsideH.NodeName,"obj":InsideH,"attrEx":"","nodeType":"","attrName":"", "desc":"水平边框属性", "class":"TwBorder") - ,("field":"InsideV","name":InsideV.NodeName,"obj":InsideV,"attrEx":"","nodeType":"","attrName":"", "desc":"垂直边框属性", "class":"TwBorder") - ,("field":"tr2bl","name":tr2bl.NodeName,"obj":tr2bl,"attrEx":"","nodeType":"","attrName":"", "desc":"行边框属性", "class":"TwBorder") + return array(('field':'Top','name':Top.NodeName,'obj':Top,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwBorder') + ,('field':'Left','name':Left.NodeName,'obj':Left,'attrEx':'','nodeType':'','attrName':'', 'desc':'左边框属性', 'class':'TwBorder') + ,('field':'Bottom','name':Bottom.NodeName,'obj':Bottom,'attrEx':'','nodeType':'','attrName':'', 'desc':'底边框属性', 'class':'TwBorder') + ,('field':'Right','name':Right.NodeName,'obj':Right,'attrEx':'','nodeType':'','attrName':'', 'desc':'右边框属性', 'class':'TwBorder') + ,('field':'InsideH','name':InsideH.NodeName,'obj':InsideH,'attrEx':'','nodeType':'','attrName':'', 'desc':'水平边框属性', 'class':'TwBorder') + ,('field':'InsideV','name':InsideV.NodeName,'obj':InsideV,'attrEx':'','nodeType':'','attrName':'', 'desc':'垂直边框属性', 'class':'TwBorder') + ,('field':'tr2bl','name':tr2bl.NodeName,'obj':tr2bl,'attrEx':'','nodeType':'','attrName':'', 'desc':'行边框属性', 'class':'TwBorder') ) union ExtNodes; End; @@ -8767,26 +8797,26 @@ type TwTblPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"StyleID","name":"w:tblStyle","obj":StyleID,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"样式ID", "class":"") - ,("field":"Width","name":"w:tblW","obj":Width,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"表格宽度", "class":"") - ,("field":"WidthType","name":"w:tblW","obj":WidthType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"宽度属性的单位。此属性用于定义表格的各种属性,包括:单元格间距、首选宽度和表格边距。", "class":"") - ,("field":"Val","name":"w:tblLook","obj":Val,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"表格条件格式样式:表格样式最多可以指定六种不同的可选条件格式,如首行、尾行、首列、尾列等(16进制short)", "class":"") - ,("field":"NoVBand","name":"w:tblLook","obj":NoVBand,"attrEx":"w:noVBand","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"NoHBand","name":"w:tblLook","obj":NoHBand,"attrEx":"w:noHBand","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"LastRow","name":"w:tblLook","obj":LastRow,"attrEx":"w:lastRow","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"LastColumn","name":"w:tblLook","obj":LastColumn,"attrEx":"w:lastColumn","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"FirstRow","name":"w:tblLook","obj":FirstRow,"attrEx":"w:firstRow","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"FirstColumn","name":"w:tblLook","obj":FirstColumn,"attrEx":"w:firstColumn","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"Shading","name":Shading.NodeName,"obj":Shading,"attrEx":"","nodeType":"","attrName":"", "desc":"表头底纹", "class":"TwShading") - ,("field":"bidiVisual","name":"w:bidiVisual","obj":bidiVisual,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"从右到左可视化表格", "class":"") - ,("field":"Alignment","name":"w:jc","obj":Alignment,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"当前文本边距的对齐方式(left、right、center)", "class":"") - ,("field":"Indent","name":"w:tblInd","obj":Indent,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"文档中当前表格前缘之前的缩进(从左到右表格中的左边缘,从右到左表格中的右边缘)。", "class":"") - ,("field":"IndentType","name":"w:tblInd","obj":IndentType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"约定Indent值的的单位,如果忽略此属性,则其值应假定为dxa(二十分之一点)。", "class":"") - ,("field":"Borders","name":Borders.NodeName,"obj":Borders,"attrEx":"","nodeType":"","attrName":"", "desc":"表格边框属性", "class":"TwTblBorders") - ,("field":"Autofit","name":"w:tblLayout","obj":Autofit,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"布局该表内容的算法。当表格显示在文档中时,可以使用固定宽度或自动调整布局算法来显示表格。如果省略了该元素,则该元素的值应假定为自动。", "class":"") - ,("field":"CellMar","name":CellMar.NodeName,"obj":CellMar,"attrEx":"","nodeType":"","attrName":"", "desc":"单元格边距设置", "class":"TTblCellMar") - ,("field":"Overlap","name":"w:tblOverlap ","obj":Overlap,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"当前表是否允许其他浮动表重叠其范围。如果指定,则不应进行任何调整,以防止其属性通常会导致其重叠的表格在显示时重叠。如果关闭,则应根据需要调整表格,以防止它们在显示时重叠,方法是根据需要调整浮动表格属性。", "class":"") - ,("field":"tblpPr","name":tblpPr.NodeName,"obj":tblpPr,"attrEx":"","nodeType":"","attrName":"", "desc":"浮动表设置", "class":"TwTblpPr") + return array(('field':'StyleID','name':'w:tblStyle','obj':StyleID,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'样式ID', 'class':'') + ,('field':'Width','name':'w:tblW','obj':Width,'attrEx':'w:w','nodeType':'','attrName':'', 'desc':'表格宽度', 'class':'') + ,('field':'WidthType','name':'w:tblW','obj':WidthType,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'宽度属性的单位。如"auto"表示根据内容调整,此时需要设置"width=0"; "pct"是按比例设置,转换比例是50, 10%时候需要width为500; "dax"表示自定义宽度,此时width单位是twips,即1cm=567twips', 'class':'') + ,('field':'Val','name':'w:tblLook','obj':Val,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'表格条件格式样式:表格样式最多可以指定六种不同的可选条件格式,如首行、尾行、首列、尾列等(16进制short)', 'class':'') + ,('field':'NoVBand','name':'w:tblLook','obj':NoVBand,'attrEx':'w:noVBand','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'NoHBand','name':'w:tblLook','obj':NoHBand,'attrEx':'w:noHBand','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'LastRow','name':'w:tblLook','obj':LastRow,'attrEx':'w:lastRow','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'LastColumn','name':'w:tblLook','obj':LastColumn,'attrEx':'w:lastColumn','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'FirstRow','name':'w:tblLook','obj':FirstRow,'attrEx':'w:firstRow','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'FirstColumn','name':'w:tblLook','obj':FirstColumn,'attrEx':'w:firstColumn','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'Shading','name':Shading.NodeName,'obj':Shading,'attrEx':'','nodeType':'','attrName':'', 'desc':'表头底纹', 'class':'TwShading') + ,('field':'bidiVisual','name':'w:bidiVisual','obj':bidiVisual,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'从右到左可视化表格', 'class':'') + ,('field':'Alignment','name':'w:jc','obj':Alignment,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'当前文本边距的对齐方式(left、right、center)', 'class':'') + ,('field':'Indent','name':'w:tblInd','obj':Indent,'attrEx':'w:w','nodeType':'','attrName':'', 'desc':'文档中当前表格前缘之前的缩进(从左到右表格中的左边缘,从右到左表格中的右边缘)。', 'class':'') + ,('field':'IndentType','name':'w:tblInd','obj':IndentType,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'约定Indent值的的单位,如果忽略此属性,则其值应假定为dxa(二十分之一点)。', 'class':'') + ,('field':'Borders','name':Borders.NodeName,'obj':Borders,'attrEx':'','nodeType':'','attrName':'', 'desc':'表格边框属性', 'class':'TwTblBorders') + ,('field':'Autofit','name':'w:tblLayout','obj':Autofit,'attrEx':'w:type','nodeType':'','attrName':'', 'desc':'布局该表内容的算法。当表格显示在文档中时,可以使用固定宽度或自动调整(取值"autofit")布局算法来显示表格。如果省略了该元素,则该元素的值应假定为自动。', 'class':'') + ,('field':'CellMar','name':CellMar.NodeName,'obj':CellMar,'attrEx':'','nodeType':'','attrName':'', 'desc':'单元格边距设置', 'class':'TTblCellMar') + ,('field':'Overlap','name':'w:tblOverlap ','obj':Overlap,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'当前表是否允许其他浮动表重叠其范围。如果指定,则不应进行任何调整,以防止其属性通常会导致其重叠的表格在显示时重叠。如果关闭,则应根据需要调整表格,以防止它们在显示时重叠,方法是根据需要调整浮动表格属性。', 'class':'') + ,('field':'tblpPr','name':tblpPr.NodeName,'obj':tblpPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'浮动表设置', 'class':'TwTblpPr') ) union ExtNodes; End; @@ -8893,7 +8923,7 @@ type TwTblGrid=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"GridCol","name":"w:gridCol","obj":GridCol,"attrEx":"","nodeType":"","attrName":"","arrObj":"array", "desc":"", "class":"TwGridCol") + return array(('field':'GridCol','name':'w:gridCol','obj':GridCol,'attrEx':'','nodeType':'','attrName':'','arrObj':'array', 'desc':'', 'class':'TwGridCol') ) union ExtNodes; End; @@ -8942,9 +8972,9 @@ type TTableImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"TblPr","name":TblPr.NodeName,"obj":TblPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TwTblPr") - ,("field":"TblGrid","name":TblGrid.NodeName,"obj":TblGrid,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TwTblGrid") - ,("field":"TR","name":"w:tr","obj":TR,"attrEx":"","nodeType":"","attrName":"","arrObj":"array", "desc":"", "class":"TwTr") + return array(('field':'TblPr','name':TblPr.NodeName,'obj':TblPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TwTblPr') + ,('field':'TblGrid','name':TblGrid.NodeName,'obj':TblGrid,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TwTblGrid') + ,('field':'TR','name':'w:tr','obj':TR,'attrEx':'','nodeType':'','attrName':'','arrObj':'array', 'desc':'', 'class':'TwTr') ) union ExtNodes; End; @@ -9036,8 +9066,8 @@ type TPictureImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"pPr","name":pPr.NodeName,"obj":pPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TwpPr") - ,("field":"Run","name":Run.NodeName,"obj":Run,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TRunImpl") + return array(('field':'pPr','name':pPr.NodeName,'obj':pPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TwpPr') + ,('field':'Run','name':Run.NodeName,'obj':Run,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TRunImpl') ) union ExtNodes; End; @@ -9092,11 +9122,11 @@ type TpBdr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"top","name":top.NodeName,"obj":top,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwBorder") - ,("field":"left","name":left.NodeName,"obj":left,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwBorder") - ,("field":"bottom","name":bottom.NodeName,"obj":bottom,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwBorder") - ,("field":"right","name":right.NodeName,"obj":right,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwBorder") - ,("field":"bar","name":bar.NodeName,"obj":bar,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwBorder") + return array(('field':'top','name':top.NodeName,'obj':top,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwBorder') + ,('field':'left','name':left.NodeName,'obj':left,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwBorder') + ,('field':'bottom','name':bottom.NodeName,'obj':bottom,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwBorder') + ,('field':'right','name':right.NodeName,'obj':right,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwBorder') + ,('field':'bar','name':bar.NodeName,'obj':bar,'attrEx':'','nodeType':'','attrName':'', 'desc':'边框属性', 'class':'TwBorder') ) union ExtNodes; End; @@ -9203,11 +9233,11 @@ type TtblStylePr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"pPr","name":pPr.NodeName,"obj":pPr,"attrEx":"","nodeType":"","attrName":"", "desc":"段落格式", "class":"TwpPr") - ,("field":"rPr","name":rPr.NodeName,"obj":rPr,"attrEx":"","nodeType":"","attrName":"", "desc":"字体属性", "class":"TwrPr") - ,("field":"TrPr","name":TrPr.NodeName,"obj":TrPr,"attrEx":"","nodeType":"","attrName":"", "desc":"表格行属性", "class":"TwTrPr") - ,("field":"TblPr","name":TblPr.NodeName,"obj":TblPr,"attrEx":"","nodeType":"","attrName":"", "desc":"表格样式", "class":"TwTblPr") - ,("field":"TcPr","name":TcPr.NodeName,"obj":TcPr,"attrEx":"","nodeType":"","attrName":"", "desc":"单元格属性", "class":"TwTcPr") + return array(('field':'pPr','name':pPr.NodeName,'obj':pPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'段落格式', 'class':'TwpPr') + ,('field':'rPr','name':rPr.NodeName,'obj':rPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'字体属性', 'class':'TwrPr') + ,('field':'TrPr','name':TrPr.NodeName,'obj':TrPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'表格行属性', 'class':'TwTrPr') + ,('field':'TblPr','name':TblPr.NodeName,'obj':TblPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'表格样式', 'class':'TwTblPr') + ,('field':'TcPr','name':TcPr.NodeName,'obj':TcPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'单元格属性', 'class':'TwTcPr') ) union ExtNodes; End; @@ -9267,28 +9297,28 @@ type TDocxStyleImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Name","name":"w:name","obj":Name,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"样式名称", "class":"") - ,("field":"Aliases","name":"w:aliases","obj":Aliases,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"样式别名.", "class":"") - ,("field":"AutoRedefine","name":"w:autoRedefine","obj":AutoRedefine,"attrEx":"","nodeType":"empty","attrName":"", "desc":"文本变动时,是否自动修改样式.", "class":"") - ,("field":"BasedOn","name":"w:basedOn","obj":BasedOn,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"样式继承.", "class":"") - ,("field":"Hidden","name":"w:hidden","obj":Hidden,"attrEx":"","nodeType":"empty","attrName":"", "desc":"隐藏样式", "class":"") - ,("field":"Link","name":"w:link","obj":Link,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"链接样式", "class":"") - ,("field":"Locked","name":"w:locked","obj":Locked,"attrEx":"","nodeType":"empty","attrName":"", "desc":"是否阻止使用此样式.", "class":"") - ,("field":"Next","name":"w:b","obj":Next,"attrEx":"","nodeType":"empty","attrName":"", "desc":"下一段落样式", "class":"") - ,("field":"Personal","name":"w:personal","obj":Personal,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"指定在电子邮件上下文中使用父样式时,默认情况下使用父样式来格式化来自一个或多个用户的所有邮件文本", "class":"") - ,("field":"PersonalCompose","name":"w:personalCompose","obj":PersonalCompose,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"指定在电子邮件上下文中使用父样式时,默认情况下可以使用父样式来格式化电子邮件中的新邮件文本", "class":"") - ,("field":"PersonalReply","name":"w:personalReply","obj":PersonalReply,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"生成新答复时,默认情况下可以使用父样式来格式化电子邮件中的现有邮件文本", "class":"") - ,("field":"QFormat","name":"w:qFormat","obj":QFormat,"attrEx":"","nodeType":"empty","attrName":"", "desc":"是否将此样式视为主要样式", "class":"") - ,("field":"TblStyle","name":TblStyle.NodeName,"obj":TblStyle,"attrEx":"","nodeType":"","attrName":"", "desc":"表格样式", "class":"TtblStylePr") - ,("field":"pPr","name":pPr.NodeName,"obj":pPr,"attrEx":"","nodeType":"","attrName":"", "desc":"段落格式", "class":"TwpPr") - ,("field":"rPr","name":rPr.NodeName,"obj":rPr,"attrEx":"","nodeType":"","attrName":"", "desc":"字体属性", "class":"TwrPr") - ,("field":"TrPr","name":TrPr.NodeName,"obj":TrPr,"attrEx":"","nodeType":"","attrName":"", "desc":"表格行属性", "class":"TwTrPr") - ,("field":"TblPr","name":TblPr.NodeName,"obj":TblPr,"attrEx":"","nodeType":"","attrName":"", "desc":"表格样式", "class":"TwTblPr") - ,("field":"TcPr","name":TcPr.NodeName,"obj":TcPr,"attrEx":"","nodeType":"","attrName":"", "desc":"单元格样式", "class":"TwTcPr") - ,("field":"Rsid","name":"w:rsid","obj":Rsid,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"SemiHidden","name":"w:semiHidden","obj":SemiHidden,"attrEx":"","nodeType":"empty","attrName":"", "desc":"是否在主用户界面中隐藏此样式.", "class":"") - ,("field":"UiPriority","name":"w:uiPriority","obj":UiPriority,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"使用该优先级以升序对所有可用样式进行排序.", "class":"") - ,("field":"UnhideWhenUsed","name":"w:unhideWhenUsed","obj":UnhideWhenUsed,"attrEx":"","nodeType":"empty","attrName":"", "desc":"当文档内容使用此样式时,是否应删除半隐藏属性.", "class":"") + return array(('field':'Name','name':'w:name','obj':Name,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'样式名称', 'class':'') + ,('field':'Aliases','name':'w:aliases','obj':Aliases,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'样式别名.', 'class':'') + ,('field':'AutoRedefine','name':'w:autoRedefine','obj':AutoRedefine,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'文本变动时,是否自动修改样式.', 'class':'') + ,('field':'BasedOn','name':'w:basedOn','obj':BasedOn,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'样式继承.', 'class':'') + ,('field':'Hidden','name':'w:hidden','obj':Hidden,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'隐藏样式', 'class':'') + ,('field':'Link','name':'w:link','obj':Link,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'链接样式', 'class':'') + ,('field':'Locked','name':'w:locked','obj':Locked,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'是否阻止使用此样式.', 'class':'') + ,('field':'Next','name':'w:b','obj':Next,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'下一段落样式', 'class':'') + ,('field':'Personal','name':'w:personal','obj':Personal,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'指定在电子邮件上下文中使用父样式时,默认情况下使用父样式来格式化来自一个或多个用户的所有邮件文本', 'class':'') + ,('field':'PersonalCompose','name':'w:personalCompose','obj':PersonalCompose,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'指定在电子邮件上下文中使用父样式时,默认情况下可以使用父样式来格式化电子邮件中的新邮件文本', 'class':'') + ,('field':'PersonalReply','name':'w:personalReply','obj':PersonalReply,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'生成新答复时,默认情况下可以使用父样式来格式化电子邮件中的现有邮件文本', 'class':'') + ,('field':'QFormat','name':'w:qFormat','obj':QFormat,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'是否将此样式视为主要样式', 'class':'') + ,('field':'TblStyle','name':TblStyle.NodeName,'obj':TblStyle,'attrEx':'','nodeType':'','attrName':'', 'desc':'表格样式', 'class':'TtblStylePr') + ,('field':'pPr','name':pPr.NodeName,'obj':pPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'段落格式', 'class':'TwpPr') + ,('field':'rPr','name':rPr.NodeName,'obj':rPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'字体属性', 'class':'TwrPr') + ,('field':'TrPr','name':TrPr.NodeName,'obj':TrPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'表格行属性', 'class':'TwTrPr') + ,('field':'TblPr','name':TblPr.NodeName,'obj':TblPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'表格样式', 'class':'TwTblPr') + ,('field':'TcPr','name':TcPr.NodeName,'obj':TcPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'单元格样式', 'class':'TwTcPr') + ,('field':'Rsid','name':'w:rsid','obj':Rsid,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'SemiHidden','name':'w:semiHidden','obj':SemiHidden,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'是否在主用户界面中隐藏此样式.', 'class':'') + ,('field':'UiPriority','name':'w:uiPriority','obj':UiPriority,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'使用该优先级以升序对所有可用样式进行排序.', 'class':'') + ,('field':'UnhideWhenUsed','name':'w:unhideWhenUsed','obj':UnhideWhenUsed,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'当文档内容使用此样式时,是否应删除半隐藏属性.', 'class':'') ) union ExtNodes; End; @@ -9357,8 +9387,8 @@ type TDocPartObj=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"docPartGallery","name":"w:docPartGallery","obj":docPartGallery,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"docPartUnique","name":"w:docPartUnique","obj":docPartUnique,"attrEx":"","nodeType":"empty","attrName":"", "desc":"", "class":"") + return array(('field':'docPartGallery','name':'w:docPartGallery','obj':docPartGallery,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'docPartUnique','name':'w:docPartUnique','obj':docPartUnique,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -9407,9 +9437,9 @@ type TSdtPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"rPr","name":rPr.NodeName,"obj":rPr,"attrEx":"","nodeType":"","attrName":"", "desc":"字体属性", "class":"TwrPr") - ,("field":"ID","name":"w:id","obj":ID,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"docPartObj","name":docPartObj.NodeName,"obj":docPartObj,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TDocPartObj") + return array(('field':'rPr','name':rPr.NodeName,'obj':rPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'字体属性', 'class':'TwrPr') + ,('field':'ID','name':'w:id','obj':ID,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'docPartObj','name':docPartObj.NodeName,'obj':docPartObj,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TDocPartObj') ) union ExtNodes; End; @@ -9457,7 +9487,7 @@ type TSdtEndPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"rPr","name":rPr.NodeName,"obj":rPr,"attrEx":"","nodeType":"","attrName":"", "desc":"字体属性", "class":"TwrPr") + return array(('field':'rPr','name':rPr.NodeName,'obj':rPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'字体属性', 'class':'TwrPr') ) union ExtNodes; End; @@ -9549,9 +9579,9 @@ type TTableContentImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"sdtPr","name":sdtPr.NodeName,"obj":sdtPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSdtPr") - ,("field":"sdtEndPr","name":sdtEndPr.NodeName,"obj":sdtEndPr,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSdtEndPr") - ,("field":"sdtContent","name":sdtContent.NodeName,"obj":sdtContent,"attrEx":"","nodeType":"","attrName":"", "desc":"", "class":"TSdtContent") + return array(('field':'sdtPr','name':sdtPr.NodeName,'obj':sdtPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSdtPr') + ,('field':'sdtEndPr','name':sdtEndPr.NodeName,'obj':sdtEndPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSdtEndPr') + ,('field':'sdtContent','name':sdtContent.NodeName,'obj':sdtContent,'attrEx':'','nodeType':'','attrName':'', 'desc':'', 'class':'TSdtContent') ) union ExtNodes; End; @@ -9598,7 +9628,7 @@ type TTabStopsImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Tabs","name":"w:tab","obj":Tabs,"attrEx":"","nodeType":"","attrName":"","arrObj":"array", "desc":"", "class":"TTabStop") + return array(('field':'Tabs','name':'w:tab','obj':Tabs,'attrEx':'','nodeType':'','attrName':'','arrObj':'array', 'desc':'', 'class':'TTabStop') ) union ExtNodes; End; @@ -9687,7 +9717,7 @@ type TNumber=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"abstractNumId","name":"w:abstractNumId","obj":abstractNumId,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'abstractNumId','name':'w:abstractNumId','obj':abstractNumId,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -9736,12 +9766,12 @@ type TLevel=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"start","name":"w:start","obj":start,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"给定编号级别定义中父编号级别使用的编号的起始值。", "class":"") - ,("field":"numFmt","name":"w:numFmt","obj":numFmt,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"编号类型(单极、多级、项目编号等)。", "class":"") - ,("field":"lvlText","name":"w:lvlText","obj":lvlText,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"编号文本内容格式,如(%1.%2.%3.%4)。", "class":"") - ,("field":"lvlJc","name":"w:lvlJc","obj":lvlJc,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"pPr","name":pPr.NodeName,"obj":pPr,"attrEx":"","nodeType":"","attrName":"", "desc":"段落格式", "class":"TwpPr") - ,("field":"rPr","name":rPr.NodeName,"obj":rPr,"attrEx":"","nodeType":"","attrName":"", "desc":"字体属性", "class":"TwrPr") + return array(('field':'start','name':'w:start','obj':start,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'给定编号级别定义中父编号级别使用的编号的起始值。', 'class':'') + ,('field':'numFmt','name':'w:numFmt','obj':numFmt,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'编号类型(单极、多级、项目编号等)。', 'class':'') + ,('field':'lvlText','name':'w:lvlText','obj':lvlText,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'编号文本内容格式,如(%1.%2.%3.%4)。', 'class':'') + ,('field':'lvlJc','name':'w:lvlJc','obj':lvlJc,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'', 'class':'') + ,('field':'pPr','name':pPr.NodeName,'obj':pPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'段落格式', 'class':'TwpPr') + ,('field':'rPr','name':rPr.NodeName,'obj':rPr,'attrEx':'','nodeType':'','attrName':'', 'desc':'字体属性', 'class':'TwrPr') ) union ExtNodes; End; @@ -9794,10 +9824,10 @@ type TNumStyleImpl=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"nsid","name":"w:nsid","obj":nsid,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"disable", "class":"") - ,("field":"multiLevelType","name":"w:multiLevelType","obj":multiLevelType,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"编号类型", "class":"") - ,("field":"tmpl","name":"w:tmpl","obj":tmpl,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"该元素指定了一个唯一的十六进制代码,该代码可用于确定应用程序用户界面中显示该抽象编号定义的位置。", "class":"") - ,("field":"lvl","name":lvl.NodeName,"obj":lvl,"attrEx":"","nodeType":"","attrName":"", "desc":"编号级别的外观和行为", "class":"TLevel") + return array(('field':'nsid','name':'w:nsid','obj':nsid,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'disable', 'class':'') + ,('field':'multiLevelType','name':'w:multiLevelType','obj':multiLevelType,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'编号类型', 'class':'') + ,('field':'tmpl','name':'w:tmpl','obj':tmpl,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'该元素指定了一个唯一的十六进制代码,该代码可用于确定应用程序用户界面中显示该抽象编号定义的位置。', 'class':'') + ,('field':'lvl','name':lvl.NodeName,'obj':lvl,'attrEx':'','nodeType':'','attrName':'', 'desc':'编号级别的外观和行为', 'class':'TLevel') ) union ExtNodes; End; @@ -9845,7 +9875,7 @@ type TExcelTable=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"AutoFilter","name":"autoFilter","obj":AutoFilter,"attrEx":"ref","nodeType":"","attrName":"", "desc":"", "class":"") + return array(('field':'AutoFilter','name':'autoFilter','obj':AutoFilter,'attrEx':'ref','nodeType':'','attrName':'', 'desc':'', 'class':'') ) union ExtNodes; End; @@ -10995,6 +11025,7 @@ Type TParagraph = Class(DocObject, TParagraphImpl) Function AppendRun(); Begin node := node_.InsertEndChild('element','w:r'); + node.InsertFirstChild('element', 'w:rPr'); return new TRun(node); End; @@ -13943,7 +13974,7 @@ Type TDocumentBody = Class(DocObject) for i:=1 to rows do Begin for j:=1 to cols do Begin cell := tbl.Cell(i, j); - [a, b] := cell.GetHeadingListImpl(docx, nil, UpperHeadingLevel, LowerHeadingLevel, numIds, false);//表格内递归查找,统计数字项目编号,但不显示在大纲中 + if cell then [a, b] := cell.GetHeadingListImpl(docx, nil, UpperHeadingLevel, LowerHeadingLevel, numIds, false);//表格内递归查找,统计数字项目编号,但不显示在大纲中 End; End; End; diff --git a/funcext/TSOffice/TSDocxFile.tsf b/funcext/TSOffice/TSDocxFile.tsf index 8dffa1c..6576372 100644 --- a/funcext/TSOffice/TSDocxFile.tsf +++ b/funcext/TSOffice/TSDocxFile.tsf @@ -1,4 +1,4 @@ -// Version 1.4.5 +// Version 1.4.6 Type TSDocxFile = Class ///Version: V1.0 2022-09-20 diff --git a/funcext/TSOffice/TSExcelFile.tsf b/funcext/TSOffice/TSExcelFile.tsf index 8338e9b..c764f7a 100644 --- a/funcext/TSOffice/TSExcelFile.tsf +++ b/funcext/TSOffice/TSExcelFile.tsf @@ -1,4 +1,4 @@ -// Version 1.4.5 +// Version 1.4.6 Type TSExcelFile = Class ///Version: V1.0 2022-08-08 diff --git a/funcext/TSOffice/TSXlsxFile.tsf b/funcext/TSOffice/TSXlsxFile.tsf new file mode 100644 index 0000000..f9cfb69 --- /dev/null +++ b/funcext/TSOffice/TSXlsxFile.tsf @@ -0,0 +1,1058 @@ +Type TSXlsxFile = Class + ///Version: V1.0 2022-08-08 + ///适用于 Microsoft Excel? 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM / XLTX 等多种文档格式。 + ///纯TSL模块实现 + ///Excel文件读写接口 + + ///缺省构造函数 + Function Create(); overload; + Begin + init(); + End; + + ///构造函数,打开已经存在的excel文件 + ///alias: string,文件目录别名 + ///fname: string,文件名 + Function Create(alias, fname); overload; + Begin + init(); + OpenFile(alias, fname, nil); + End; + + ///构造函数,打开已经存在的excel文件 + ///alias: string,文件目录别名 + ///fname: string,文件名 + ///passwd: string,密码 + Function Create(alias, fname, passwd); overload; + Begin + init(); + OpenFile(alias, fname, passwd); + End; + + //析构函数 + Function Destory(); + Begin + End; + + //初始化 + Function init(); + Begin + zipfile_ := new ZipFile(); + End; + + ///打开excel文件 + ///alias: string,文件目录别名 + ///fname: string,文件名 + ///[passwd]: string,密码 + ///返回: [err, errmsg] + Function OpenFile(alias, fname, passwd); + Begin + if not ifObj(zipfile_) then return array(-1, 'Create ZipFile object fail.'); + if zipfile_.FilesCount() > 0 then zipfile_ := new ZipFile(); + [err, errmsg] := zipfile_.Open(alias, fname, passwd); + if err=0 then Begin + workbook_ := new xlsxWorkBook(zipfile_); + workbook_.Load(); + End; + return array(err, errmsg); + End; + + ///新建excel文件 + ///返回: [err, info] + Function NewFile(); + Begin + def := TOfficeTemplate('default.xlsx', true); + [err, errmsg] := zipfile_.LoadFromMem(def); + if err = 0 then + begin + workbook_ := new xlsxWorkBook(zipfile_); + workbook_.Load(); + end + return array(err, errmsg); + End; + + ///保存文件 + ///返回: [err, info] + Function Save(); + Begin + return zipfile_.Save(); + End; + + ///设置密码 + Function SetPassword(passwd) + Begin + zipfile_.Password := passwd; + End; + + ///打开二进制内容 + ///data: 二进制数据 + ///返回: [err, errmsg] + Function LoadFromMem(data); + Begin + [err, errmsg] := zipfile_.LoadFromMem(data); + if err = 0 then + begin + workbook_ := new xlsxWorkBook(zipfile_); + workbook_.Load(); + end + return array(err, errmsg); + End; + + ///保存为二进制内容 + ///返回: [err, fileContent] fileContent二进制文件内容 + Function SaveToMem(); + Begin + return zipfile_.Save2Mem(); + End; + + ///另存为 + ///alias: string,文件目录别名 + ///fname: string,文件名 + ///返回: [err, info] + Function SaveAs(alias, fname); + Begin + return zipfile_.Save(alias, fname); + End; + + ///真实文件名 + ///返回: string + Function FileName(); + Begin + return zipfile_.FileName(); + End; + + ///获取工作表列表 + ///返回: array('Sheet1','Sheet2') + Function GetSheets(); + Begin + sheets := workbook_.GetSheets(); + for i:=0 to length(sheets)-1 do + begin + sheets[i] := class(TSXml).Utf8ToCurCodePage(sheets[i]); + end + return sheets; + End; + + ///获取工作表数 + ///返回: integer + Function GetSheetsCount(); + Begin + return workbook_.GetSheetsCount(); + End; + + ///获取工作表名 + ///index: int,工作表索引 + ///返回: string + Function GetSheetName(index); + Begin + name := workbook_.GetSheetName(index); + return class(TSXml).Utf8ToCurCodePage(name); + End; + + ///创建新sheet + ///sheet: string,工作表名称 + Function NewSheet(sheet);overload; + Begin + return workbook_.NewSheet(class(TSXml).CurCodePageToUtf8(sheet)); + End; + + ///在指定sheet之后插入新sheet + ///sourceSheet: string,指定工作表名称 + ///destSheet: string,目的工作表名称 + Function NewSheet(sourceSheet, destSheet);overload; + Begin + return workbook_.NewSheet(class(TSXml).CurCodePageToUtf8(sourceSheet), class(TSXml).CurCodePageToUtf8(destSheet)); + End; + + ///在指定sheet之前插入新sheet + ///sourceSheet: string,指定工作表名称 + ///destSheet: string,目的工作表名称 + Function InsertSheet(sourceSheet, destSheet); + Begin + return workbook_.InsertSheet(class(TSXml).CurCodePageToUtf8(sourceSheet), class(TSXml).CurCodePageToUtf8(destSheet)); + End; + + ///删除sheet + ///sheet: string,工作表名称 + Function DeleteSheet(sheet); + Begin + return workbook_.DeleteSheet(class(TSXml).CurCodePageToUtf8(sheet)); + End; + + ///设置工作表名 + ///sourceName: string, 原工作表名 + ///destName: string, 目标工作表名 + Function SetSheetName(sourceName, destName); + Begin + return workbook_.SetSheetName(class(TSXml).CurCodePageToUtf8(sourceName), class(TSXml).CurCodePageToUtf8(destName)); + End; + + ///获取总列数 + ///sheet: string,工作表名称 + ///返回: int + Function TotalCols(sheet); + Begin + return workbook_.TotalCols(class(TSXml).CurCodePageToUtf8(sheet)); + End; + + ///获取总行数 + ///sheet: string,工作表名称 + ///返回: int + Function TotalRows(sheet); + Begin + return workbook_.TotalRows(class(TSXml).CurCodePageToUtf8(sheet)); + End; + + ///获取单元格的值 + ///sheet: string,工作表名称 + ///axis: string,单元格坐标,如: "A6" + ///返回: [err, value:string] + Function GetCellValue(sheet, axis); + Begin + [err, value] := workbook_.GetCellValue(class(TSXml).CurCodePageToUtf8(sheet), axis); + if not err then return array(err, class(TSXml).Utf8ToCurCodePage(value)); + return array(err, value); + End; + + ///获取单元格数据类型 + ///sheet: string,工作表名称 + ///axis: string,单元格坐标,如: "A6" + ///返回: type:string + Function GetCellValueType(sheet, axis); + Begin + return workbook_.GetCellValueType(class(TSXml).CurCodePageToUtf8(sheet), axis); + End; + + ///设置单元格的值 + ///sheet: string,工作表名称 + ///axis: string,单元格坐标,如: "A6" + ///val: Var,可以是整数、字符串、数值型等;nil 不设置值(可以调用ClearCell方法清空单元格),只设置属性 + ///[opt:Tany],可选参数,单元格属性,可以是xml字符串或天软数组 + /// xml串:opt := ''; + /// 数组: opt := array('t':'s', 's':'1'); + /// 属性t:单元格数据类型,不设置的话,数据类型为val的数据类型; + /// t ->('s' 共享字符串、'b' bool 类型、'e' 错误类型、'inlineStr' 内联字符串类型、nil 数字类型、'str' 公式类型) + /// 属性s:单元格样式 + Function SetCellValue(sheet, axis, val, opt); + Begin + sheet_name := class(TSXml).CurCodePageToUtf8(sheet); + value := class(TSXml).CurCodePageToUtf8(val); + return workbook_.SetCellValue(sheet_name, axis, value, opt); + End; + + ///获取富文本格式 + ///sheet: string,工作表名称 + ///axis: string,单元格,如"A7" + ///返回: [err, richtxt:string],参见SetCellRichText + Function GetCellRichText(sheet, axis); + Begin + [err, str] := workbook_.GetCellRichText(class(TSXml).CurCodePageToUtf8(sheet), axis); + if err then return array(err, str); + else return array(err, class(TSXml).Utf8ToCurCodePage(str)); + End; + + ///设置富文本格式 + ///sheet: string,工作表名称 + ///axis: string,单元格,如"A7" + ///richtext: string,xml串或富文本对象TSOfficeObj('TRichText') + Function SetCellRichText(sheet, axis, richtext); + Begin + o := workbook_.GetSheetObj(class(TSXml).CurCodePageToUtf8(sheet)); + if ifObj(o) then + begin + xml := richtext; + if ifObj(richtext) then + xml := class(TSXml).Dom2Xml(richtext.Marshal()); + return o.SetCellValue(axis, xml, array('t':'s'), 'RichText'); + end + End; + + ///清空单元格 + ///sheet: string,工作表名称 + ///[topLeft: string],左上角坐标,可选参数 + ///[bottomRight: string],右下角坐标,可选参数, + /// 用法1:ClearCell(); //Clear整个sheet + /// 用法2:ClearCell('A2'); //Clear 'A2'单元格 + /// 用法3:ClearCell('A5', 'D8'); //Clear矩形区间所有单元格 + Function ClearCell(sheet, topLeft, bottomRight); + Begin + return workbook_.ClearCell(class(TSXml).CurCodePageToUtf8(sheet), topLeft, bottomRight); + End; + + ///设置公式 + ///sheet: string,工作表名称 + ///axis: string,单元格,如"A7" + ///formula: string,公式 + Function SetCellFormula(sheet, axis, formula); + Begin + return workbook_.SetCellFormula(class(TSXml).CurCodePageToUtf8(sheet), axis, formula); + End; + + ///获取公式 + ///sheet: string,工作表名称 + ///axis: string,单元格,如"A7" + ///返回: [err, formula:string] + Function GetCellFormula(sheet, axis); + Begin + return workbook_.GetCellFormula(class(TSXml).CurCodePageToUtf8(sheet), axis); + End; + + ///按行赋值 + ///sheet: string,工作表名称 + ///axis: string,起始坐标,如: "A4" + ///slice: array(),一维数组array(1,2,3,2,1,"hello") + Function SetSheetRow(sheet, axis, slice); + Begin + [err, col, row] := CellNameToCoordinates(axis); + if not err then + begin + for i:=0 to length(slice)-1 do + begin + [err, cell] := CoordinatesToCellName(col + i, row); + SetCellValue(sheet, cell, slice[i]); + end + end + End; + + ///插入数据表 + ///sheet: string,工作表名称 + ///axis: string,左上角坐标,如: "A4" + ///data: table,数据表 + ///[IncludeHeader: bool] 是否包括表头,默认FALSE + ///[IncludeIndex: bool] 是否自动添加索引号,默认FALSE + ///返回: [err, info] + Function InsertTable(sheet, axis, data, IncludeHeader, IncludeIndex); + Begin + if not ifarray(data) or length(data)=0 then + return array(-1, "Invalid Data."); + if FieldCount(data)=0 then Begin //数据是一维数组 + return SetSheetRow(sheet, axis, data); + End; + [err, colNum, rowNum] := CellNameToCoordinates(axis); + if err then + return array(err, colNum); + if IncludeHeader then Begin + fields := FieldNames(data); + if IncludeIndex then Begin + fields := array("Index") union fields; + End; + SetSheetRow(sheet, axis, fields); + rowNum ++; + End; + if IncludeIndex then Begin + for i:=0 to length(data)-1 do Begin + [err, cell] := CoordinatesToCellName(colNum, rowNum + i); + if err then + return array(err, cell); + SetCellValue(sheet, cell, i+1); + End; + colNum ++; + End; + for i:=0 to length(data)-1 do Begin + [err, cell] := CoordinatesToCellName(colNum, rowNum + i); + if err then + return array(err, cell); + t := sselect * from data where thisrowindex = i End; + SetSheetRow(sheet, cell, t); + if err then + return array(err, info); + End; + return array(0, "OK"); + End; + + ///读取数据表 + ///sheet: string,工作表名称 + ///topLeft: string,左上角坐标,如: "A4" + ///bottomRight: string,右下角坐标,如: "B8",为空获取从topLeft开始的整张表 + ///[IncludeHeader: bool] 是否包括表头,默认FALSE + ///[IncludeIndex: bool] 是否包括索引号,默认FALSE + ///返回: table + Function GetTable(sheet, topLeft, bottomRight, includeHeader, includeIndex, forceSingle); + Begin + return workbook_.GetTable(class(TSXml).CurCodePageToUtf8(sheet), topLeft, bottomRight, includeHeader, includeIndex, forceSingle); + End; + + ///插入列,在指定列前插入空白列 + ///sheet: string,工作表名称 + ///col: string 列名,如: "D" + Function InsertCol(sheet, col); + Begin + return workbook_.InsertCol(class(TSXml).CurCodePageToUtf8(sheet), col); + End; + + ///插入行,在指定行前插入空白行 + ///sheet: string,工作表名称 + ///row: int + Function InsertRow(sheet, row); + Begin + return workbook_.InsertRow(class(TSXml).CurCodePageToUtf8(sheet), row); + End; + + ///删除列 + ///sheet: string,工作表名称 + ///col: string,如: "D" + Function RemoveCol(sheet, col); + Begin + return workbook_.RemoveCol(class(TSXml).CurCodePageToUtf8(sheet), col); + End; + + ///删除行 + ///sheet: string,工作表名称 + ///row: int + Function RemoveRow(sheet, row); + Begin + return workbook_.RemoveRow(class(TSXml).CurCodePageToUtf8(sheet), row); + End; + + ///设置行高度 + ///sheet: string,工作表 + ///row: int,行 + ///height: double,行高[0-409] + Function SetRowHeight(sheet, row, height); + Begin + return workbook_.SetRowHeight(class(TSXml).CurCodePageToUtf8(sheet), row, height); + End; + + ///获取行高度 + ///sheet: string,工作表 + ///row: int,行 + ///返回: double + Function GetRowHeight(sheet, row); + Begin + return workbook_.GetRowHeight(class(TSXml).CurCodePageToUtf8(sheet), row); + End; + + ///设置列宽度 + ///sheet: string,工作表 + ///startcol: string,开始列,如: "A" + ///endcol: string,结束列,如: "D" + ///width: double,列宽[0-255] + Function SetColWidth(sheet, startCol, endCol, width); + Begin + return workbook_.SetColWidth(class(TSXml).CurCodePageToUtf8(sheet), startCol, endCol, width); + End; + + ///获取列宽度 + ///sheet: string,工作表 + ///col: string,列 + ///返回: double + Function GetColWidth(sheet, col); + Begin + return workbook_.GetColWidth(class(TSXml).CurCodePageToUtf8(sheet), col); + End; + + ///设置工作表默认列宽 + ///sheet: string,工作表 + ///width: double + Function SetSheetDefaultColWidth(sheet, width); + Begin + return workbook_.SetSheetDefaultColWidth(class(TSXml).CurCodePageToUtf8(sheet), width); + End; + + ///获取工作表默认列宽 + ///sheet: string,工作表 + ///返回: double + Function GetSheetDefaultColWidth(sheet); + Begin + return workbook_.GetSheetDefaultColWidth(class(TSXml).CurCodePageToUtf8(sheet)); + End; + + ///添加批注 + ///sheet: string,工作表名称 + ///axis: string,单元格,如"A7" + ///Author:string + ///comment: string + Function AddComment(sheet, axis, Author, comment); + Begin + o := getOj(sheet, 'xlsxComment'); + if ifObj(o) then return o.AddComment(axis, Author, comment); + End; + + ///获取批注 + ///sheet: string,工作表名称 + ///axis: string,单元格,如"A7" + ///返回: [author:string, comment: string] + Function GetComment(sheet, axis); + Begin + author := nil; + comment := nil; + o := getOj(sheet, 'xlsxComment'); + if ifObj(o) then [author, comment] := o.GetComment(axis); + return array(class(TSXml).Utf8ToCurCodePage(author), class(TSXml).Utf8ToCurCodePage(comment)); + End; + + ///移除批注 + ///sheet: string,工作表名称 + ///axis: string,单元格,如"A7" + Function RemoveComment(sheet, axis); + Begin + o := getOj(sheet, 'xlsxComment'); + if ifObj(o) then return o.RemoveComment(axis); + End; + + ///添加图表 + ///sheet: string,工作表名称 + ///range:string,图表所处矩形区域,"A5:F10" + ///chart:TChart对象 + Function AddChart(sheet, range, chart); + Begin + o := getOj(sheet, 'xlsxChart'); + if ifObj(chart) then return o.AddChart(range, chart); + End; + + ///获取图表列表 + ///sheet: string,工作表名称 + ///返回: [err, ChartList] + Function GetCharts(sheet); + Begin + return workbook_.GetCharts(class(TSXml).CurCodePageToUtf8(sheet)); + End; + + ///单元格坐标切分 + ///cell: string,单元格坐标 + ///返回: [err, col:string, row:int],"AK47" -> return array(0, "AK", 47); + Function SplitCellName(cell); + Begin + return SplitCellName(cell); + End; + + ///列名转索引 + ///name: string + ///返回 [err, index:int],"AK" -> return array(0, 37); + Function ColumnNameToNumber(name); + Begin + return ColumnNameToNumber(name); + End; + + ///索引转列名 + ///index: int + ///返回 [err, name:string],37 -> return array(0, "AK"); + Function ColumnNumberToName(index); + Begin + return ColumnNumberToName(index); + End; + + ///单元格坐标转索引 + ///cell: string + ///返回 [err, col:int, row: int] "A2" -> [1,2] + Function CellNameToCoordinates(cell); + Begin + return CellNameToCoordinates(cell); + End; + + ///索引转单元格坐标 + ///col: int + ///row: int + ///abs: bool ,true返回"$A$1"格式,false返回"A1"格式 + ///返回 [err, cell:string] [1,2,true] -> "$A$2" + Function CoordinatesToCellName(col, row, abs); + Begin + return CoordinatesToCellName(col, row, abs); + End; + + ///RGB与HSL色彩空间色值转换 + ///r: int + ///g: int + ///b: int + ///返回: [h:double, s:double, l:double] + Function RGBToHSL(r, g, b); + Begin + return RGBToHSL(r, g, b); + End; + + ///HSL与RGB色彩空间色值转换 + ///h: double + ///s: double + ///l: double + ///返回: [r:int, g:int, b:int] + Function HSLToRGB(h, s, l); + Begin + return HSLToRGB(h, s, l); + End; + + ///新建样式对象 + ///style: TStyle对象 + ///返回: styleid + Function NewStyle(style); overload; + Begin + styleObj := new xlsxStyles('', self); + return styleObj.GetStyleId(style); + End; + + ///新建样式对象,已存在样式的基础上返回新的样式Id + ///style: TStyle对象 + ///oldStyleId: 已存在的styleId + ///返回: styleid + Function NewStyle(style, oldStyleId); overload; + Begin + styleObj := new xlsxStyles('', self); + return styleObj.GetStyleId(style, oldStyleId); + End; + + ///获取样式对象 + ///返回: TStyle对象 + Function GetStyle(styleid); + Begin + styleObj := new xlsxStyles('', self); + return styleObj.GetStyle(styleid); + End; + + ///设置单元格样式 + ///sheet: string,工作表名称 + ///topLeft: string,左上角坐标 + ///bottomRight: string,右下角坐标 + ///styleid: string,样式Id + Function SetCellStyle(sheet, topLeft, bottomRight, styleid); + Begin + return workbook_.SetCellStyle(class(TSXml).CurCodePageToUtf8(sheet), topLeft, bottomRight, styleid); + End; + + ///获取单元格样式Id,获取到的Id可以在复制单元格样式时,作为调用 SetCellValue、或SetCellStyle 函数的参数使用。 + ///sheet: string,工作表名称 + ///axis: string,单元格,如"A7" + ///返回: styleId: string + Function GetCellStyle(sheet, axis); + Begin + return workbook_.GetCellStyle(class(TSXml).CurCodePageToUtf8(sheet), axis); + End; + + ///设置工作表页眉页脚 + ///sheet: string,工作表名称 + ///headerFooter: THeaderFooter对象 + Function SetSheetHeaderFooter(sheet, headerFooter); + Begin + o := getOj(sheet, 'xlsxHeaderFooter'); + if ifObj(o) then o.SetHeaderFooter(headerFooter); + End; + + ///设置工作表可见性 + ///sheet: string, 工作表名称 + ///visible: boolean + Function SetSheetVisible(sheet, visible); + Begin + return workbook_.SetSheetVisible(class(TSXml).CurCodePageToUtf8(sheet), visible); + End; + + ///获取工作表可见性 + ///sheet: string,工作表名称 + ///visibility: boolean + Function GetSheetVisible(sheet); + Begin + return workbook_.GetSheetVisible(class(TSXml).CurCodePageToUtf8(sheet)); + End; + + ///设置行可见性 + ///sheet: string,工作表 + ///row: int,行 + ///visible: boolean + Function SetRowVisible(sheet, row, visible) + Begin + return workbook_.SetRowVisible(class(TSXml).CurCodePageToUtf8(sheet), row, visible); + End; + + ///获取工作表行可见性 + ///sheet: string,工作表名称 + ///row: int, 行 + ///返回: [err, visible:boolean] + Function GetRowVisble(sheet, row); + Begin + return workbook_.GetRowVisble(class(TSXml).CurCodePageToUtf8(sheet), row); + End; + + ///设置列可见性 + ///sheet: string,工作表 + ///col: string,列,如:'A' + ///visible: boolean + Function SetColVisible(sheet, col, visible) + Begin + [err, col] := ColumnNameToNumber(col); + if err then return "Col error."; + return workbook_.SetColVisible(class(TSXml).CurCodePageToUtf8(sheet), col, visible); + End; + + ///获取列可见性 + ///sheet: string,工作表名称 + ///col: string,列 + ///返回: [err, visible:int] + Function GetColVisble(sheet, col); + Begin + [err, col] := ColumnNameToNumber(col); + if err then return array(-1, col); + return workbook_.GetColVisble(class(TSXml).CurCodePageToUtf8(sheet), col); + End; + + ///设置工作表页边距 + ///sheet: string,工作表名称 + ///margins: TMargins 对象 + Function SetPageMargins(sheet, margins); + Begin + return workbook_.SetPageMargins(class(TSXml).CurCodePageToUtf8(sheet), margins); + End; + + ///获取工作表页边距 + ///sheet: string,工作表名称 + ///返回: TMargins对象 + Function GetPageMargins(sheet); + Begin + return workbook_.GetPageMargins(class(TSXml).CurCodePageToUtf8(sheet)); + End; + + ///合并单元格 + ///sheet: string,工作表名称 + ///hcell: string,左上角坐标 + ///vcell: string,右下角坐标 + Function MergeCell(sheet, hcell, vcell); + Begin + return workbook_.MergeCell(class(TSXml).CurCodePageToUtf8(sheet), hcell, vcell); + End; + + ///取消合并单元格 + ///sheet: string,工作表名称 + ///hcell: string,左上角坐标 + ///vcell: string,右下角坐标 + Function UnMergeCell(sheet, hcell, vcell); + Begin + return workbook_.UnMergeCell(class(TSXml).CurCodePageToUtf8(sheet), hcell, vcell); + End; + + ///新建窗口 + ///返回:windowsIndex int, 窗口索引 + Function NewSheetPane(); + Begin + return workbook_.NewSheetView(); + End; + + ///设置窗格 + ///sheet: string,工作表名称 + ///windowsIndex: int,窗口索引,从0开始 + ///Pane: TPane对象 + Function SetPane(sheet, windowsIndex, Pane); + Begin + o := getOj(sheet, 'xlsxSheetView'); + if ifObj(o) then return o.SetPane(windowsIndex, Pane); + End; + + ///设置工作表视图属性 + ///sheet: string,工作表名称 + ///windowsIndex: int,窗口索引,从0开始 + ///sheet: object,TSheetView对象 + Function SetSheetViewOptions(sheet, windowsIndex, sheetView); + Begin + o := getOj(sheet, 'xlsxSheetView'); + if ifObj(o) then return o.SetSheetViewOptions(windowsIndex, sheetView); + End; + + ///获取工作表视图属性 + ///sheet: string,工作表名称 + ///windowsIndex: int,窗口索引,从0开始 + ///返回: object, TSheetView对象 + Function GetSheetViewOptions(sheet, windowsIndex); + Begin + o := getOj(sheet, 'xlsxSheetView'); + if ifObj(o) then return o.GetSheetViewOptions(windowsIndex); + End; + + // TODO printerSettings1.bin? + ///设置工作表页面布局 + ///sheet: string,工作表名称 + ///pageLayout: TPageLayout对象,属性: + Function SetPageLayout(sheet, pageLayout); + Begin + o := getOj(sheet, 'xlsxPageLayout'); + if ifObj(o) then return o.SetPageLayout(class(TSXml).CurCodePageToUtf8(sheet), pageLayout); + End; + + ///获取工作表页面布局 + ///sheet: string,工作表名称 + ///返回: TPageLayout对象 + Function GetPageLayout(sheet); + Begin + o := getOj(sheet, 'xlsxPageLayout'); + if ifObj(o) then return o.GetPageLayout(); + return "error sheet"; + End; + + ///设置默认工作表 + ///sheet: string,工作表名称 + Function SetDefaultSheet(sheet); + Begin + return workbook_.SetDefaultSheet(class(TSXml).CurCodePageToUtf8(sheet)); + End; + + ///获取默认工作表 + ///返回: string,工作表名称 + Function GetDefaultSheet(); + Begin + sheet := workbook_.GetDefaultSheet(); + return class(TSXml).Utf8ToCurCodePage(sheet); + End; + + ///设置超链接 + ///sheet: string,工作表名称 + ///axis: string,单元格,如"A7" + ///hyplink: THyperLink对象 + Function SetCellHyperLink(sheet, axis, hyperlink); + Begin + o := getOj(sheet, 'xlsxHyperLink'); + if ifObj(o) then return o.SetCellHyperLink(axis, hyperlink); + End; + + // TODO 返回的结果有点问题 + ///获取超链接 + ///sheet: string,工作表名称 + ///axis: string,单元格,如"A7" + ///返回: THyperLink对象 + Function GetCellHyperLink(sheet, axis); + Begin + o := getOj(sheet, 'xlsxHyperLink'); + if not ifObj(o) then return array(1, 'The sheet is not exist.'); + return o.GetCellHyperLink(axis); + End; + + ///设置工作表背景图片 + ///picture: TPicture图片对象 + Function SetSheetBackground(sheet, picture); + Begin + o := getOj(sheet, 'xlsxImage'); + if ifObj(o) then return o.SetSheetBackground(picture); + End; + + ///添加图片 + ///sheet: string, 工作表名称 + ///topLeft: string, 图片插入左上角单元格 + ///bottomRight: string, 图片插入右下角单元格 + ///picture: TPicture 图片对象 + ///format: TPictureFormat 图片设置对象 + Function AddPicture(sheet, topLeft, bottomRight, picture, format); + Begin + o := getOj(sheet, 'xlsxImage'); + if ifObj(o) then return o.AddPicture(topLeft, bottomRight, picture, format); + End; + + ///删除图片 + ///sheet: 工作表名称 + ///topLeft: string, 图片插入左上角单元格 + ///bottomRight: string, 图片插入右下角单元格 + Function DeletePicture(sheet, topLeft, bottomRight); + Begin + o := getOj(sheet, 'xlsxImage'); + if ifObj(o) then return o.DeletePicture(topLeft, bottomRight); + End; + + ///创建表格 + ///sheet: string,工作表名称 + ///topLeft: string, 左上角单元格 + ///bottomRight: string, 右下角单元格 + ///tableStyle: 表格选项类 TTableStyle + ///[includeHeader: bool] 是否包括表头,默认FALSE + Function AddTable(sheet, topLeft, bottomRight, tableStyle, includeHeader); + Begin + o := getOj(sheet, 'xlsxTable'); + if ifObj(o) then return o.AddTable(topLeft, bottomRight, tableStyle, includeHeader); + End; + + ///指定行前插入分页符 + ///sheet: string,工作表名称 + ///row: int,行号 + Function InsertPageBreak(sheet, row); + Begin + return workbook_.InsertPageBreak(class(TSXml).CurCodePageToUtf8(sheet), row); + End; + + ///删除指定行分页符 + ///sheet: string,工作表名称 + ///row: int,行号 + Function RemovePageBreak(sheet, row); + Begin + return workbook_.RemovePageBreak(class(TSXml).CurCodePageToUtf8(sheet), row); + End; + + ///添加形状 + ///sheet: string,工作表名称 + ///topLeft: string, 左上角单元格 + ///bottomRight: string, 右下角单元格 + ///shapeType: string, 形状类型 + ///format: 形状设置,TShapeFormat类 + Function AddShape(sheet, topLeft, bottomRight, shapeType, format); + Begin + o := getOj(sheet, 'xlsxShape'); + if ifObj(o) then return o.AddShape(topLeft, bottomRight, shapeType, format); + End; + + ///设置工作簿的核心属性 + ///coreProps: TCoreProperty对象 + Function SetCoreProps(coreProps); + Begin + o := getOj('', 'xlsxDocProps'); + if ifObj(o) then return o.SetCoreProps(coreProps); + End; + + ///获取工作簿的核心属性 + ///返回: TCoreProperty对象 + Function GetCoreProps(); + Begin + o := getOj('', 'xlsxDocProps'); + if ifObj(o) then return o.GetCoreProps(); + End; + + ///设置工作簿应用程序属性 + ///appProps: TAppProperty对象,属性: + Function SetAppProps(appProps); + Begin + o := getOj('', 'xlsxDocProps'); + if ifObj(o) then return o.SetAppProps(appProps); + End; + + ///获取应用程序属性 + ///返回: TAppProperty对象 + Function GetAppProps(); + Begin + o := getOj('', 'xlsxDocProps'); + return o.GetAppProps(); + End; + + ///复制Sheet + ///sourceSheet: 源工作表 + ///destSheet: 目的工作表 + Function CopySheet(sourceSheet, destSheet); + Begin + return workbook_.CopySheet(class(TSXml).CurCodePageToUtf8(sourceSheet), class(TSXml).CurCodePageToUtf8(destSheet)); + End; + + ///保护工作表 + ///sheet: 工作表 + ///protect: TProtect对象 + Function ProtectSheet(sheet, protect); + Begin + return workbook_.ProtectSheet(class(TSXml).CurCodePageToUtf8(sheet), protect); + End; + + ///取消保护工作 + ///sheet: 工作表 + Function UnProtectSheet(sheet); + Begin + return workbook_.UnProtectSheet(class(TSXml).CurCodePageToUtf8(sheet)); + End; + + ///设置默认字体 + ///font: TFont对象 + Function SetDefaultFont(font); + Begin + return workbook_.SetDefaultFont(font); + End; + + ///获取默认字体 + ///返回: TFont对象 + Function GetDefaultFont(); + Begin + return workbook_.GetDefaultFont(); + End; + + ///设置工作簿计算选项 + ///calcPr: TCalcPr对象 + Function SetCalcOptions(calcPr); + Begin + return workbook_.SetCalcOptions(calcPr); + End; + + ///获取工作簿计算选项 + ///返回: TCalcPr对象 + Function GetCalcOptions(); + Begin + return workbook_.GetCalcOptions(); + End; + + ///创建行的分级显示,根据给定的工作表、行号和分级参数创建组 + ///sheet: string, 工作表名称 + ///row: int, 行号 + ///level: int, 分级参数 + Function SetRowOutlineLevel(sheet, row, level); + Begin + return workbook_.SetRowOutlineLevel(class(TSXml).CurCodePageToUtf8(sheet), row, level); + End; + + ///获取行的分级参数 + ///sheet: string, 工作表名称 + ///row: int, 行号 + ///返回: int,分级参数,分级不存在返回0 + Function GetRowOutlineLevel(sheet, row); + Begin + return workbook_.GetRowOutlineLevel(class(TSXml).CurCodePageToUtf8(sheet), row); + End; + + /// + + ///创建列的分级显示,根据给定的工作表、列名和分级参数创建组 + ///sheet: string, 工作表名称 + ///col: string, 列名 + ///level: int, 分级参数 + Function SetColOutlineLevel(sheet, col, level); + Begin + [err, col] := ColumnNameToNumber(col); + if err then return "Col error."; + return workbook_.SetColOutlineLevel(class(TSXml).CurCodePageToUtf8(sheet), col, level); + End; + + ///获取列的分级参数 + ///sheet: string, 工作表名称 + ///col: string, 列名 + ///返回: int,分级参数,分级不存在返回0 + Function GetColOutlineLevel(sheet, col); + Begin + [err, col] := ColumnNameToNumber(col); + if err then return "Col error."; + return workbook_.GetColOutlineLevel(class(TSXml).CurCodePageToUtf8(sheet), col); + End; + + Function WorkBook(); + Begin + return workbook_; + End; + + Function Zip(); + Begin + return zipfile_; + End; + +private + Function getOj(sheet, objname); + Begin + sheetname := class(TSXml).CurCodePageToUtf8(sheet); + if not ifarray(objMgr_) then objMgr_:= array(); + k := sheetname + '.' + objname; + o := objMgr_[ k ]; + if not ifnil(o) then return o; + case objname of + 'xlsxMargin': + o := class(xlsxMargin).NewObject(sheetname, self); + 'xlsxComment': + o := class(xlsxComment).NewObject(sheetname, self); + 'xlsxStyles': + o := class(xlsxStyles).NewObject(sheetname, self); + 'xlsxChart': + return class(xlsxChart).NewObject(sheetname, self);//不缓存xlsxChart对象 + 'xlsxHeaderFooter': + o := class(xlsxHeaderFooter).NewObject(sheetname, self); + 'xlsxSheetView': + o := class(xlsxSheetView).NewObject(sheetname, self); + 'xlsxPageLayout': + o := class(xlsxPageLayout).NewObject(sheetname, self); + 'xlsxDocProps': + return class(xlsxDocProps).NewObject(self); + 'xlsxImage': + o := class(xlsxImage).NewObject(sheetname, self); + 'xlsxHyperLink': + o := class(xlsxHyperLink).NewObject(sheetname, self); + 'xlsxShape': + o := class(xlsxShape).NewObject(sheetname, self); + 'xlsxTable': + o := class(xlsxTable).NewObject(sheetname, self); + End; + if ifObj(o) then objMgr_[k] := o; + return o; + End; + + zipfile_; //压缩文件对象 + workbook_; //WorkBook对象 + objMgr_; //各种对象缓存、管理 +End; diff --git a/funcext/TSOffice/document/TTableContent.tsf b/funcext/TSOffice/document/TTableContent.tsf index a746a7b..0004d00 100644 --- a/funcext/TSOffice/document/TTableContent.tsf +++ b/funcext/TSOffice/document/TTableContent.tsf @@ -142,7 +142,7 @@ Type TTableContent = class Begin ///获取标题列表 array((("Level":level,"Paragraph":"object","Text":title,"numId":,"ilvl":,"numArr":)); numMap := array(); - r := docx_.Document().Body().GetHeadingListImpl(docx_, posOpt, UpperHeadingLevel, LowerHeadingLevel, numMap, true); + r := docx_.Document().Body().GetHeadingListImpl(docx_, -1, UpperHeadingLevel, LowerHeadingLevel, numMap, true); for i:=0 to length(r)-1 do Begin p := _AddItem(UpperHeadingLevel, LowerHeadingLevel, r[i]['Level'], i = 0 ? true: false); //fldCharType diff --git a/funcext/TSOffice/worksheet/xlsxWorkBook.tsf b/funcext/TSOffice/worksheet/xlsxWorkBook.tsf index ddb75bd..fb73d9f 100644 --- a/funcext/TSOffice/worksheet/xlsxWorkBook.tsf +++ b/funcext/TSOffice/worksheet/xlsxWorkBook.tsf @@ -166,64 +166,71 @@ Type xlsxWorkBook = Class Begin lname := LowerCase(sheet); if ifint(sheetIndexMap_[ lname ]) then return 'The sheet already exists.'; - rid := getWorkbookRelsRid(); + fname := sheetPrefix_ $ inttostr(sheetsCount_ + 1) $ '.xml'; + sheetId := addSheetN(fname); + rid := setWorkbookRels(); + setWorkbookSheet(sheet, sheetId, rid); + setDocPropsApp(sheet); + setContentTypes(fname); + + sheetNames_[sheetsCount_]['name'] := sheet; + sheetNames_[sheetsCount_]['sheetId'] := sheetId; + sheetNames_[sheetsCount_]['rid'] := rid; + sheetNames_[sheetsCount_]['file'] := fname; + sheetIndexMap_[ lname ] := sheetsCount_; + sheetsCount_ ++; + SetDefaultSheet(sheet); + End; + + Function addSheetN(fname); + Begin //添加文件xl/worksheets/sheetN.xml sheetId := vselect maxof(['sheetId']) from sheetNames_ end; sheetId := integer(sheetId) + 1; - fname := sheetPrefix_ $ inttostr(sheetsCount_ + 1) $ '.xml'; zipfile_.Add(fname, class(TSXml).XmlHeader() + class(TSXml).GetTemplate('sheet1')); + return sheetId; + End; + Function setWorkbookRels(); + Begin + rid := getWorkbookRelsRid(); //设置 workbook.xml.rels workbook_rels := GetXmlFileObj('xl/_rels/workbook.xml.rels'); rels := workbook_rels.FirstChildElement('Relationships').InsertEndChild('element', 'Relationship'); rels.SetAttribute('Target', getTarget( sheetsCount_ + 1)); rels.SetAttribute('Type', class(TSXml).GetTemplate('RelationshipWorkSheet')); rels.SetAttribute('Id', rid); - //workbook_rels.Print; + return rid; + End; + Function setWorkbookSheet(sheetName, sheetId, rid); + Begin //设置 xl/workbook.xml workbook := GetXmlFileObj('xl/workbook.xml'); node := workbook.FirstChildElement('workbook').FirstChildElement('sheets').InsertEndChild('element','sheet'); - node.SetAttribute('name', sheet); + node.SetAttribute('name', sheetName); node.SetAttribute('sheetId', sheetId); node.SetAttribute('r:id', rid); - //workbook.Print(); + End; + Function setDocPropsApp(sheet); + Begin //设置docProps/app.xml app := GetXmlFileObj(class(TSXml).GetFileName('docProps_app')); - //app.Print(); - node := app.FirstChildElement('Properties').FirstChildElement('TitlesOfParts'); - if not ifObj(node) then Begin - node := app.FirstChildElement('Properties').InsertEndChild('element','TitlesOfParts'); - End; - vector := node.FirstChildElement('vt:vector'); - if not ifObj(vector) then Begin - vector := node.InsertEndChild('element', 'vt:vector'); - vector.SetAttribute('baseType', 'lpstr'); - vector.SetAttribute('size', length(sheetNames_) + 1); - for i:=0 to length(sheetNames_)-1 do Begin - vector.InsertEndChild('element', 'vt:lpstr', sheetNames_[i]['name']); - End; - End - else - vector.SetAttribute('size', length(sheetNames_) + 1); + vector := class(TSXml).GetNode(app, 'Properties/TitlesOfParts/vt:vector'); + vector.SetAttribute('size', length(sheetNames_) + 1); vector.InsertEndChild('element', 'vt:lpstr', sheet); - //app.Print(); + End; + Function setContentTypes(fname); + Begin //设置[Content_Types].xml content_xml := GetXmlFileObj(class(TSXml).GetFileName('Content_Types')); class(TSXml).AddOverrideContentType(content_xml, '/' + fname, class(TSXml).GetTemplate('sheetContentType')); - - sheetNames_[sheetsCount_]['name'] := sheet; - sheetNames_[sheetsCount_]['sheetId'] := sheetId; - sheetNames_[sheetsCount_]['rid'] := rid; - sheetNames_[sheetsCount_]['file'] := fname; - sheetIndexMap_[ LowerCase(sheet) ] := sheetsCount_; - sheetsCount_ ++; - SetDefaultSheet(sheet); End; + Function NewSheet(sourceSheet, destSheet);overload; Begin lname := LowerCase(destSheet); @@ -726,23 +733,25 @@ Type xlsxWorkBook = Class Function SetSheetVisible(sheet, visible); Begin workbook := GetXmlFileObj('xl/workbook.xml'); - node := workbook.FirstChildElement('workbook').FirstChildElement('sheets').FirstChildElement('sheet'); - hidden := visible = 1 ? 0 : 1; - default_sheet_name := GetDefaultSheet(); - if default_sheet_name = sheet then + node := class(TSXml).GetNode(workbook, 'workbook/sheets/sheet'); + if GetSheetsCount() = 1 then return "Only one sheet, can't set visible."; + sheet := lowercase(sheet); + default_sheet_name := lowercase(GetDefaultSheet()); + if default_sheet_name = sheet and not visible then begin ind := sheetIndexMap_[LowerCase(default_sheet_name)]; - if ind = 0 then default_name := sheetNames_[ind + 1]['name']; - else default_name := sheetNames_[ind - 1]['name']; + default_name := ind = 0 ? sheetNames_[1]['name'] : sheetNames_[ind - 1]['name']; SetDefaultSheet(default_name); end + if visible then SetDefaultSheet(sheet); + state := visible ? "nohidden" : "hidden"; while ifObj(node) do Begin - name := node.GetAttribute('name'); + name := lowercase(node.GetAttribute('name')); if name = sheet then Begin - if hidden then node.SetAttribute('state', 'hidden'); - else node.DeleteAttribute('state'); + node.SetAttribute('state', state); + break; End node := node.NextElement(); End @@ -753,11 +762,12 @@ Type xlsxWorkBook = Class Begin sheet_file := GetSheetXmlFile(sheet); if not ifObj(sheet_file) then return 0; + sheet := lowercase(sheet); workbook := GetXmlFileObj('xl/workbook.xml'); - node := workbook.FirstChildElement('workbook').FirstChildElement('sheets').FirstChildElement('sheet'); + node := class(TSXml).GetNode(workbook, 'workbook/sheets/sheet'); while ifObj(node) do Begin - name := node.GetAttribute('name'); + name := lowercase(node.GetAttribute('name')); if name = sheet then Begin val := node.GetAttribute('state'); @@ -1104,23 +1114,11 @@ Type xlsxWorkBook = Class node := sheet_node.InsertFirstChild('element', 'sheetView'); node.SetAttribute('workbookViewId', 0); end - if name = sheet then + if lowercase(name) = lowercase(sheet) then Begin node.SetAttribute('tabSelected', 1); workbook := GetXmlFileObj('xl/workbook.xml'); - workbook_node := workbook.FirstChildElement('workbook'); - book_view_node := workbook_node.FirstChildElement('bookViews'); - if not ifObj(book_view_node) then - begin - prev_node := class(TSXml).GetWorkBookPrevNode(workbook_node, 'bookViews'); - if not ifObj(prev_node) then book_view_node := workbook_node.InsertFirstChild('element', 'bookViews'); - else book_view_node := workbook_node.InsertAfterChild(prev_node, 'element', 'bookViews'); - end; - view_node := book_view_node.FirstChildElement('workbookView'); - if not ifObj(view_node) then - begin - view_node := book_view_node.InsertFirstChild('element', 'workbookView'); - end + view_node := class(TSXml).GetNode(workbook, 'workbook/bookViews/workbookView'); view_node.SetAttribute('activeTab', ind); End else diff --git a/更新日志.md b/更新日志.md index 40be208..d77d9e8 100644 --- a/更新日志.md +++ b/更新日志.md @@ -1,5 +1,24 @@ # 更新日志 +## 2023-9-19 + +### V1.4.6 + +#### word + +1. 修复表格存在合并单元格,生成目录报错问题 +2. 修复单元格添加run对象,设置样式不生效问题 + +### excel + +🔔 重要升级:`TSExcelFile`更名为`TSXlsxFile`,建议更改,旧名字现阶段仍可使用 + +1. 整理`NewSheet`和`SetSheetVisible`代码 + +#### excel + +1. 修复`NewSheet`excel打开遇到提示错误问题 + ## 2023-8-30 ### V1.4.5