├── OpenXml.res ├── Example.docx ├── .gitignore ├── CreateWord ├── CreateWord.res ├── CreateWord_project.tvsconfig ├── CreateWord.stat ├── CreateWord.dpr ├── CreateWord.dproj.local ├── Unit2.dfm ├── Unit2.pas └── CreateWord.dproj ├── ProcessOpenXml_prjgroup.tvsconfig ├── ComplexWord ├── ComplexWord.res ├── ComplexWord.stat ├── ComplexWord.dpr ├── Unit3.dfm ├── ComplexWord.dproj.local ├── Unit3.pas └── ComplexWord.dproj ├── OpenXml.stat ├── OpenXml.dpr ├── ProcessOpenXml.groupproj.local ├── OpenXml.dproj.local ├── Unit1.dfm ├── ProcessOpenXml.groupproj ├── Unit1.pas ├── ProcessOpenXml.dsk └── OpenXml.dproj /OpenXml.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsonnino/WordDelphi/HEAD/OpenXml.res -------------------------------------------------------------------------------- /Example.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsonnino/WordDelphi/HEAD/Example.docx -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | Win32/ 2 | __history/ 3 | __recovery/ 4 | *.~* 5 | *.identcache 6 | *.template.* -------------------------------------------------------------------------------- /CreateWord/CreateWord.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsonnino/WordDelphi/HEAD/CreateWord/CreateWord.res -------------------------------------------------------------------------------- /ProcessOpenXml_prjgroup.tvsconfig: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /ComplexWord/ComplexWord.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bsonnino/WordDelphi/HEAD/ComplexWord/ComplexWord.res -------------------------------------------------------------------------------- /CreateWord/CreateWord_project.tvsconfig: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /OpenXml.stat: -------------------------------------------------------------------------------- 1 | [Stats] 2 | EditorSecs=519 3 | DesignerSecs=7 4 | InspectorSecs=1 5 | CompileSecs=9216 6 | OtherSecs=36 7 | StartTime=03/11/2019 09:31:58 8 | RealKeys=0 9 | EffectiveKeys=0 10 | DebugSecs=1 11 | -------------------------------------------------------------------------------- /CreateWord/CreateWord.stat: -------------------------------------------------------------------------------- 1 | [Stats] 2 | EditorSecs=1772 3 | DesignerSecs=6 4 | InspectorSecs=1 5 | CompileSecs=12135 6 | OtherSecs=20 7 | StartTime=03/11/2019 08:22:53 8 | RealKeys=0 9 | EffectiveKeys=0 10 | DebugSecs=1 11 | -------------------------------------------------------------------------------- /ComplexWord/ComplexWord.stat: -------------------------------------------------------------------------------- 1 | [Stats] 2 | EditorSecs=1590 3 | DesignerSecs=1 4 | InspectorSecs=1 5 | CompileSecs=15148 6 | OtherSecs=51 7 | StartTime=03/11/2019 08:56:45 8 | RealKeys=0 9 | EffectiveKeys=0 10 | DebugSecs=1 11 | -------------------------------------------------------------------------------- /OpenXml.dpr: -------------------------------------------------------------------------------- 1 | program OpenXml; 2 | 3 | uses 4 | Vcl.Forms, 5 | Unit1 in 'Unit1.pas' {Form1}; 6 | 7 | {$R *.res} 8 | 9 | begin 10 | Application.Initialize; 11 | Application.MainFormOnTaskbar := True; 12 | Application.CreateForm(TForm1, Form1); 13 | Application.Run; 14 | end. 15 | -------------------------------------------------------------------------------- /CreateWord/CreateWord.dpr: -------------------------------------------------------------------------------- 1 | program CreateWord; 2 | 3 | uses 4 | Vcl.Forms, 5 | Unit2 in 'Unit2.pas' {Form2}; 6 | 7 | {$R *.res} 8 | 9 | begin 10 | Application.Initialize; 11 | Application.MainFormOnTaskbar := True; 12 | Application.CreateForm(TForm2, Form2); 13 | Application.Run; 14 | end. 15 | -------------------------------------------------------------------------------- /ComplexWord/ComplexWord.dpr: -------------------------------------------------------------------------------- 1 | program ComplexWord; 2 | 3 | uses 4 | Vcl.Forms, 5 | Unit3 in 'Unit3.pas' {Form3}; 6 | 7 | {$R *.res} 8 | 9 | begin 10 | Application.Initialize; 11 | Application.MainFormOnTaskbar := True; 12 | Application.CreateForm(TForm3, Form3); 13 | Application.Run; 14 | end. 15 | -------------------------------------------------------------------------------- /ProcessOpenXml.groupproj.local: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2019/11/03 06:49:47.625,D:\Documentos\Embarcadero\Studio\Projects\OpenXml\ProcessOpenXml.groupproj=D:\Documentos\Embarcadero\Studio\Projects\ProjectGroup1.groupproj 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /ComplexWord/Unit3.dfm: -------------------------------------------------------------------------------- 1 | object Form3: TForm3 2 | Left = 0 3 | Top = 0 4 | Caption = 'Form3' 5 | ClientHeight = 153 6 | ClientWidth = 432 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'Tahoma' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | PixelsPerInch = 96 15 | TextHeight = 13 16 | object Button1: TButton 17 | Left = 178 18 | Top = 64 19 | Width = 75 20 | Height = 25 21 | Caption = 'Create' 22 | TabOrder = 0 23 | OnClick = Button1Click 24 | end 25 | end 26 | -------------------------------------------------------------------------------- /OpenXml.dproj.local: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2018/11/10 10:25:17.000.091,=D:\Documentos\Embarcadero\Studio\Projects\Unit1.pas 5 | 2019/11/03 05:20:57.000.320,=D:\Documentos\Embarcadero\Studio\Projects\Unit1.pas 6 | 2019/11/03 05:33:08.000.823,D:\Documentos\Embarcadero\Studio\Projects\OpenXml\Unit1.dfm=D:\Documentos\Embarcadero\Studio\Projects\Unit1.dfm 7 | 2019/11/03 05:33:08.000.823,D:\Documentos\Embarcadero\Studio\Projects\OpenXml\Unit1.pas=D:\Documentos\Embarcadero\Studio\Projects\Unit1.pas 8 | 2019/11/03 05:33:18.000.039,D:\Documentos\Embarcadero\Studio\Projects\OpenXml\OpenXml.dproj=D:\Documentos\Embarcadero\Studio\Projects\Project1.dproj 9 | 10 | 11 | -------------------------------------------------------------------------------- /CreateWord/CreateWord.dproj.local: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2018/11/10 10:25:17.000.091,=D:\Documentos\Embarcadero\Studio\Projects\Unit1.pas 5 | 2019/11/03 06:18:29.000.845,=D:\Documentos\Embarcadero\Studio\Projects\Unit2.pas 6 | 2019/11/03 06:49:26.000.967,D:\Documentos\Embarcadero\Studio\Projects\OpenXml\CreateWord\Unit2.pas=D:\Documentos\Embarcadero\Studio\Projects\Unit2.pas 7 | 2019/11/03 06:49:26.000.967,D:\Documentos\Embarcadero\Studio\Projects\OpenXml\CreateWord\Unit2.dfm=D:\Documentos\Embarcadero\Studio\Projects\Unit2.dfm 8 | 2019/11/03 06:49:32.000.893,D:\Documentos\Embarcadero\Studio\Projects\OpenXml\CreateWord\CreateWord.dproj=D:\Documentos\Embarcadero\Studio\Projects\Project1.dproj 9 | 10 | 11 | -------------------------------------------------------------------------------- /ComplexWord/ComplexWord.dproj.local: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2018/11/10 10:25:17.000.091,=D:\Documentos\Embarcadero\Studio\Projects\Unit1.pas 5 | 2019/11/03 08:19:37.000.171,=D:\Documentos\Embarcadero\Studio\Projects\Unit3.pas 6 | 2019/11/03 08:22:38.000.306,D:\Documentos\Embarcadero\Studio\Projects\OpenXml\ComplexWord\Unit3.dfm=D:\Documentos\Embarcadero\Studio\Projects\Unit3.dfm 7 | 2019/11/03 08:22:38.000.306,D:\Documentos\Embarcadero\Studio\Projects\OpenXml\ComplexWord\Unit3.pas=D:\Documentos\Embarcadero\Studio\Projects\Unit3.pas 8 | 2019/11/03 08:22:48.000.115,D:\Documentos\Embarcadero\Studio\Projects\OpenXml\ComplexWord\ComplexWord.dproj=D:\Documentos\Embarcadero\Studio\Projects\Project1.dproj 9 | 10 | 11 | -------------------------------------------------------------------------------- /CreateWord/Unit2.dfm: -------------------------------------------------------------------------------- 1 | object Form2: TForm2 2 | Left = 0 3 | Top = 0 4 | Caption = 'Create Simple File' 5 | ClientHeight = 472 6 | ClientWidth = 725 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'Tahoma' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | PixelsPerInch = 96 15 | TextHeight = 13 16 | object Memo1: TMemo 17 | Left = 0 18 | Top = 48 19 | Width = 725 20 | Height = 424 21 | Align = alBottom 22 | Font.Charset = ANSI_CHARSET 23 | Font.Color = clWindowText 24 | Font.Height = -11 25 | Font.Name = 'Consolas' 26 | Font.Style = [] 27 | ParentFont = False 28 | ScrollBars = ssBoth 29 | TabOrder = 0 30 | WordWrap = False 31 | end 32 | object Button1: TButton 33 | Left = 8 34 | Top = 8 35 | Width = 75 36 | Height = 25 37 | Caption = 'Create' 38 | TabOrder = 1 39 | OnClick = Button1Click 40 | end 41 | end 42 | -------------------------------------------------------------------------------- /Unit1.dfm: -------------------------------------------------------------------------------- 1 | object Form1: TForm1 2 | Left = 0 3 | Top = 0 4 | Caption = 'Open Word File' 5 | ClientHeight = 471 6 | ClientWidth = 917 7 | Color = clBtnFace 8 | Font.Charset = DEFAULT_CHARSET 9 | Font.Color = clWindowText 10 | Font.Height = -11 11 | Font.Name = 'Tahoma' 12 | Font.Style = [] 13 | OldCreateOrder = False 14 | PixelsPerInch = 96 15 | TextHeight = 13 16 | object Splitter1: TSplitter 17 | Left = 513 18 | Top = 41 19 | Height = 430 20 | ExplicitLeft = 464 21 | ExplicitTop = 208 22 | ExplicitHeight = 100 23 | end 24 | object Memo1: TMemo 25 | Left = 0 26 | Top = 41 27 | Width = 513 28 | Height = 430 29 | Align = alLeft 30 | Font.Charset = ANSI_CHARSET 31 | Font.Color = clWindowText 32 | Font.Height = -11 33 | Font.Name = 'Consolas' 34 | Font.Style = [] 35 | ParentFont = False 36 | ScrollBars = ssBoth 37 | TabOrder = 0 38 | WordWrap = False 39 | end 40 | object ValueListEditor1: TValueListEditor 41 | Left = 516 42 | Top = 41 43 | Width = 401 44 | Height = 430 45 | Align = alClient 46 | TabOrder = 1 47 | ColWidths = ( 48 | 150 49 | 245) 50 | end 51 | object Panel1: TPanel 52 | Left = 0 53 | Top = 0 54 | Width = 917 55 | Height = 41 56 | Align = alTop 57 | TabOrder = 2 58 | ExplicitLeft = 192 59 | ExplicitTop = 152 60 | ExplicitWidth = 185 61 | object Button1: TButton 62 | Left = 0 63 | Top = 10 64 | Width = 75 65 | Height = 25 66 | Caption = 'Open' 67 | TabOrder = 0 68 | OnClick = Button1Click 69 | end 70 | end 71 | object OpenDialog1: TOpenDialog 72 | Filter = 'Word Files|*.docx|All Files|*.*' 73 | Left = 112 74 | Top = 8 75 | end 76 | object XMLDocument1: TXMLDocument 77 | Options = [doNodeAutoCreate, doNodeAutoIndent, doAttrNull, doAutoPrefix, doNamespaceDecl] 78 | Left = 160 79 | Top = 8 80 | end 81 | object XMLDocument2: TXMLDocument 82 | Left = 200 83 | Top = 8 84 | end 85 | end 86 | -------------------------------------------------------------------------------- /ProcessOpenXml.groupproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | {5EC92AD8-59D7-4594-A20E-405610FD314A} 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | Default.Personality.12 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /Unit1.pas: -------------------------------------------------------------------------------- 1 | unit Unit1; 2 | 3 | interface 4 | 5 | uses 6 | System.Zip, Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, 7 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Xml.xmldom, Xml.XMLIntf, 8 | Vcl.ExtCtrls, Vcl.Grids, Vcl.ValEdit, Xml.XMLDoc; 9 | 10 | type 11 | TForm1 = class(TForm) 12 | OpenDialog1: TOpenDialog; 13 | Memo1: TMemo; 14 | Button1: TButton; 15 | XMLDocument1: TXMLDocument; 16 | ValueListEditor1: TValueListEditor; 17 | Panel1: TPanel; 18 | XMLDocument2: TXMLDocument; 19 | Splitter1: TSplitter; 20 | procedure Button1Click(Sender: TObject); 21 | private 22 | FZipFile : TZipFile; 23 | procedure ReadProperties(const FileName: String); 24 | { Private declarations } 25 | public 26 | { Public declarations } 27 | end; 28 | 29 | var 30 | Form1: TForm1; 31 | 32 | implementation 33 | 34 | {$R *.dfm} 35 | 36 | procedure TForm1.Button1Click(Sender: TObject); 37 | var 38 | ZipStream: TStream; 39 | LocalHeader: TZipHeader; 40 | FileName : string; 41 | begin 42 | if OpenDialog1.Execute then begin 43 | Memo1.Clear; 44 | FZipFile := TZipFile.Create; 45 | try 46 | FZipFile.Open(OpenDialog1.FileName, TZipMode.zmRead); 47 | // for fileName in FZipFile.FileNames do 48 | // Memo1.Lines.Add(FileName); 49 | FZipFile.Read('_rels/.rels', ZipStream, LocalHeader); 50 | ZipStream.Position := 0; 51 | XMLDocument1.LoadFromStream(ZipStream); 52 | ValueListEditor1.Strings.Clear; 53 | for var i := 0 to XMLDocument1.DocumentElement.ChildNodes.Count-1 do begin 54 | var XmlNode := XMLDocument1.DocumentElement.ChildNodes.Nodes[i]; 55 | var AttType := ExtractFileName(StringReplace(XmlNode.Attributes['Type'], 56 | '/','\', [rfReplaceAll])); 57 | if AnsiSameText(AttType, 'core-properties') or 58 | AnsiSameText(AttType, 'extended-properties') then 59 | ReadProperties(XmlNode.Attributes['Target']); 60 | end; 61 | Memo1.Lines.Text := FormatXmlData(XmlDocument1.XML.Text); 62 | finally 63 | FZipFile.Free; 64 | end; 65 | end; 66 | end; 67 | 68 | procedure TForm1.ReadProperties(const FileName : String); 69 | var 70 | ZipStream : TStream; 71 | LocalHeader: TZipHeader; 72 | i : Integer; 73 | XmlNode : IXMLNode; 74 | begin 75 | FZipFile.Read(FileName, ZipStream, LocalHeader); 76 | ZipStream.Position := 0; 77 | XMLDocument2.LoadFromStream(ZipStream); 78 | // Read the properties 79 | for i := 0 to XMLDocument2.DocumentElement.ChildNodes.Count-1 do begin 80 | XmlNode := XMLDocument2.DocumentElement.ChildNodes.Nodes[i]; 81 | try 82 | // Found new property 83 | ValueListEditor1.InsertRow(XmlNode.NodeName,XmlNode.NodeValue, True); 84 | except 85 | // Property is not simple - discard it. 86 | On EXMLDocError do 87 | ; 88 | // Property is null - add empty string 89 | On EVariantTypeCastError do 90 | ValueListEditor1.InsertRow(XmlNode.NodeName,'', True); 91 | end; 92 | end; 93 | end; 94 | 95 | end. 96 | -------------------------------------------------------------------------------- /CreateWord/Unit2.pas: -------------------------------------------------------------------------------- 1 | unit Unit2; 2 | 3 | interface 4 | 5 | uses 6 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, 7 | System.Classes, Vcl.Graphics, Xml.xmldom, Xml.XMLIntf, Xml.XmlDoc, 8 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Zip; 9 | 10 | type 11 | TForm2 = class(TForm) 12 | Memo1: TMemo; 13 | Button1: TButton; 14 | procedure Button1Click(Sender: TObject); 15 | private 16 | { Private declarations } 17 | FZipFile: TZipFile; 18 | function CreateContentTypes: TStream; 19 | function CreateRels: TStream; 20 | function CreateDocument: TStream; 21 | public 22 | { Public declarations } 23 | end; 24 | 25 | var 26 | Form2: TForm2; 27 | 28 | implementation 29 | 30 | {$R *.dfm} 31 | 32 | procedure TForm2.Button1Click(Sender: TObject); 33 | begin 34 | FZipFile := TZipFile.Create; 35 | try 36 | FZipFile.Open('SimpleFile.docx', TZipMode.zmWrite); 37 | var ContentTypeStream := CreateContentTypes(); 38 | try 39 | FZipFile.Add(ContentTypeStream, '[Content_Types].xml'); 40 | finally 41 | ContentTypeStream.Free; 42 | end; 43 | var RelsStream := CreateRels(); 44 | try 45 | FZipFile.Add(RelsStream, '_rels\.rels'); 46 | finally 47 | RelsStream.Free; 48 | end; 49 | var DocumentStream := CreateDocument(); 50 | try 51 | FZipFile.Add(DocumentStream, 'word\document.xml'); 52 | finally 53 | DocumentStream.Free; 54 | end; 55 | FZipFile.Close; 56 | finally 57 | FZipFile.Free; 58 | end; 59 | end; 60 | 61 | function TForm2.CreateContentTypes: TStream; 62 | begin 63 | var XmlDocument := TXmlDocument.Create(self); 64 | try 65 | XmlDocument.Options := [doNodeAutoIndent]; 66 | XmlDocument.Active := True; 67 | // Heading 68 | XmlDocument.Encoding := 'UTF-8'; 69 | XmlDocument.Version := '1.0'; 70 | XmlDocument.StandAlone := 'yes'; 71 | // Root Node 72 | var Root := XmlDocument.addChild('Types', 73 | 'http://schemas.openxmlformats.org/package/2006/content-types'); 74 | // Type Definition 75 | var TypeNode := Root.addChild('Default'); 76 | TypeNode.Attributes['Extension'] := 'rels'; 77 | TypeNode.Attributes['ContentType'] := 78 | 'application/vnd.openxmlformats-package.relationships+xml'; 79 | TypeNode := Root.addChild('Default'); 80 | TypeNode.Attributes['Extension'] := 'xml'; 81 | TypeNode.Attributes['ContentType'] := 82 | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml'; 83 | // Save on output stream 84 | Result := TMemoryStream.Create; 85 | XMLDocument.SaveToStream(Result); 86 | Result.Position := 0; 87 | finally 88 | XmlDocument.Free 89 | end; 90 | end; 91 | 92 | function TForm2.CreateRels: TStream; 93 | var 94 | Root: IXmlNode; 95 | Rel: IXmlNode; 96 | begin 97 | var XmlDocument := TXmlDocument.Create(self); 98 | try 99 | XmlDocument.Options := [doNodeAutoIndent]; 100 | XmlDocument.Active := True; 101 | // Heading 102 | XmlDocument.Encoding := 'UTF-8'; 103 | XmlDocument.Version := '1.0'; 104 | XmlDocument.StandAlone := 'yes'; 105 | // Root Node 106 | Root := XMLDocument.addChild('Relationships', 107 | 'http://schemas.openxmlformats.org/package/2006/relationships'); 108 | // Relationship Definition 109 | Rel := Root.addChild('Relationship'); 110 | Rel.Attributes['Id'] := 'rId1'; 111 | Rel.Attributes['Type'] := 112 | 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument'; 113 | Rel.Attributes['Target'] := 'word/document.xml'; 114 | // Save on output stream 115 | Result := TMemoryStream.Create; 116 | XmlDocument.SaveToStream(Result); 117 | Result.Position := 0; 118 | finally 119 | XmlDocument.Free; 120 | end; 121 | end; 122 | 123 | function TForm2.CreateDocument: TStream; 124 | var 125 | Root: IXmlNode; 126 | begin 127 | var XmlDocument := TXmlDocument.Create(self); 128 | try 129 | XmlDocument.Options := [doNodeAutoIndent]; 130 | XmlDocument.Active := True; 131 | // Heading 132 | XmlDocument.Encoding := 'UTF-8'; 133 | XmlDocument.Version := '1.0'; 134 | XmlDocument.StandAlone := 'yes'; 135 | // Root Node 136 | Root := XmlDocument.addChild('wordDocument', 137 | 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'); 138 | // Save Text 139 | Root.addChild('body').addChild('p').addChild('r').addChild('t').NodeValue := 140 | Memo1.Text; 141 | // Save on Output Stream 142 | Result := TMemoryStream.Create; 143 | XmlDocument.SaveToStream(Result); 144 | Result.Position := 0; 145 | finally 146 | XmlDocument.Free; 147 | end; 148 | end; 149 | 150 | end. 151 | -------------------------------------------------------------------------------- /ComplexWord/Unit3.pas: -------------------------------------------------------------------------------- 1 | unit Unit3; 2 | 3 | interface 4 | 5 | uses 6 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, 7 | System.Classes, Vcl.Graphics, 8 | Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, 9 | Xml.xmldom, Xml.XMLIntf, Xml.XmlDoc, System.Zip; 10 | 11 | type 12 | TForm3 = class(TForm) 13 | Button1: TButton; 14 | procedure Button1Click(Sender: TObject); 15 | private 16 | FZipFile: TZipFile; 17 | function CreateContentTypes: TStream; 18 | function CreateRels: TStream; 19 | procedure AddFormattedText(Body: IXMLNode; FontName: String); 20 | function CreateDocument: TStream; 21 | procedure SetPageFormat(Body: IXMLNode); 22 | function CreateHeader: TStream; 23 | procedure CreateXmlHeader(XmlDocument: TXmlDocument); 24 | function SaveXmlDocToStream(XmlDocument: TXmlDocument): TStream; 25 | function CreateDocRels: TStream; 26 | public 27 | { Public declarations } 28 | end; 29 | 30 | var 31 | Form3: TForm3; 32 | 33 | implementation 34 | 35 | {$R *.dfm} 36 | 37 | procedure TForm3.Button1Click(Sender: TObject); 38 | begin 39 | FZipFile := TZipFile.Create; 40 | try 41 | FZipFile.Open('ComplexFile.docx', TZipMode.zmWrite); 42 | var ContentTypeStream := CreateContentTypes(); 43 | try 44 | FZipFile.Add(ContentTypeStream, '[Content_Types].xml'); 45 | finally 46 | ContentTypeStream.Free; 47 | end; 48 | var RelsStream := CreateRels(); 49 | try 50 | FZipFile.Add(RelsStream, '_rels\.rels'); 51 | finally 52 | RelsStream.Free; 53 | end; 54 | RelsStream := CreateDocRels(); 55 | try 56 | FZipFile.Add(RelsStream, 'word\_rels\document.xml.rels'); 57 | finally 58 | RelsStream.Free; 59 | end; 60 | var DocumentStream := CreateDocument(); 61 | try 62 | FZipFile.Add(DocumentStream, 'word\document.xml'); 63 | finally 64 | DocumentStream.Free; 65 | end; 66 | var HeaderStream := CreateHeader(); 67 | try 68 | FZipFile.Add(HeaderStream, 'word\header1.xml'); 69 | finally 70 | DocumentStream.Free; 71 | end; 72 | FZipFile.Close; 73 | finally 74 | FZipFile.Free; 75 | end; 76 | end; 77 | 78 | function TForm3.SaveXmlDocToStream(XmlDocument : TXmlDocument) : TStream; 79 | begin 80 | Result := TMemoryStream.Create; 81 | XmlDocument.SaveToStream(Result); 82 | Result.Position := 0; 83 | end; 84 | 85 | function TForm3.CreateContentTypes: TStream; 86 | begin 87 | var XmlDocument := TXmlDocument.Create(self); 88 | try 89 | CreateXmlHeader(XmlDocument); 90 | // Root Node 91 | var Root := XmlDocument.addChild('Types', 92 | 'http://schemas.openxmlformats.org/package/2006/content-types'); 93 | // Type Definition 94 | var TypeNode := Root.addChild('Default'); 95 | TypeNode.Attributes['Extension'] := 'rels'; 96 | TypeNode.Attributes['ContentType'] := 97 | 'application/vnd.openxmlformats-package.relationships+xml'; 98 | TypeNode := Root.addChild('Default'); 99 | TypeNode.Attributes['Extension'] := 'xml'; 100 | TypeNode.Attributes['ContentType'] := 101 | 'application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml'; 102 | TypeNode := Root.AddChild('Override'); 103 | TypeNode.Attributes['PartName'] := '/word/header1.xml'; 104 | TypeNode.Attributes['ContentType'] := 'application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml'; 105 | Result := SaveXmlDocToStream(XmlDocument); 106 | finally 107 | XmlDocument.Free 108 | end; 109 | end; 110 | 111 | procedure TForm3.CreateXmlHeader(XmlDocument : TXmlDocument); 112 | begin 113 | XmlDocument.Options := [doNodeAutoIndent]; 114 | XmlDocument.Active := True; 115 | XmlDocument.Encoding := 'UTF-8'; 116 | XmlDocument.Version := '1.0'; 117 | XmlDocument.StandAlone := 'yes'; 118 | end; 119 | 120 | function TForm3.CreateRels: TStream; 121 | begin 122 | var XmlDocument := TXmlDocument.Create(self); 123 | try 124 | CreateXmlHeader(XmlDocument); 125 | // Root Node 126 | var Root := XmlDocument.addChild('Relationships', 127 | 'http://schemas.openxmlformats.org/package/2006/relationships'); 128 | // Relationship Definition 129 | var Rel := Root.addChild('Relationship'); 130 | Rel.Attributes['Id'] := 'rId1'; 131 | Rel.Attributes['Type'] := 132 | 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument'; 133 | Rel.Attributes['Target'] := 'word/document.xml'; 134 | Result := SaveXmlDocToStream(XmlDocument); 135 | finally 136 | XmlDocument.Free; 137 | end; 138 | end; 139 | 140 | function TForm3.CreateDocRels : TStream; 141 | begin 142 | var XmlDocument := TXmlDocument.Create(self); 143 | try 144 | CreateXmlHeader(XmlDocument); 145 | // Root node 146 | var Root := XMLDocument.addChild('Relationships', 147 | 'http://schemas.openxmlformats.org/package/2006/relationships'); 148 | // Relationship definitions 149 | var Rel := Root.AddChild('Relationship'); 150 | Rel.Attributes['Id'] := 'rId1'; 151 | Rel.Attributes['Type'] := 152 | 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/header'; 153 | Rel.Attributes['Target'] := 'header1.xml'; 154 | Result := SaveXmlDocToStream(XmlDocument); 155 | finally 156 | XmlDocument.Free; 157 | end; 158 | end; 159 | 160 | function TForm3.CreateDocument: TStream; 161 | begin 162 | var XmlDocument := TXmlDocument.Create(self); 163 | try 164 | CreateXmlHeader(XmlDocument); 165 | // Root node 166 | var Root := XMLDocument.addChild('w:wordDocument'); 167 | Root.DeclareNamespace('w', 168 | 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'); 169 | Root.DeclareNamespace('r', 170 | 'http://schemas.openxmlformats.org/officeDocument/2006/relationships'); 171 | var Body := Root.addChild('w:body'); 172 | for var i := 0 to Screen.Fonts.Count - 1 do begin 173 | AddFormattedText(Body, Screen.Fonts[i]); 174 | end; 175 | SetPageFormat(Body); 176 | Result := SaveXmlDocToStream(XmlDocument); 177 | finally 178 | XmlDocument.Free; 179 | end; 180 | end; 181 | 182 | procedure TForm3.AddFormattedText(Body: IXMLNode; FontName: String); 183 | begin 184 | var Run := Body.addChild('w:p').addChild('w:r'); 185 | var RunPr := Run.addChild('w:rPr'); 186 | var Font := RunPr.addChild('w:rFonts'); 187 | Font.Attributes['w:ascii'] := FontName; 188 | Font.Attributes['w:hAnsi'] := FontName; 189 | Font.Attributes['w:cs'] := FontName; 190 | RunPr.addChild('w:sz').Attributes['w:val'] := 30; 191 | Run.addChild('w:t').NodeValue := FontName; 192 | Run.addChild('w:tab'); 193 | Run.addChild('w:t').NodeValue := 194 | 'The quick brown fox jumps over the lazy dog'; 195 | end; 196 | 197 | procedure TForm3.SetPageFormat(Body: IXMLNode); 198 | begin 199 | var SectPr := Body.AddChild('sectPr'); 200 | var Header := SectPr.AddChild('w:headerReference'); 201 | Header.Attributes['w:type'] := 'default'; 202 | Header.Attributes['r:id'] := 'rId1'; 203 | var PgSz := SectPr.AddChild('w:pgSz'); 204 | PgSz.Attributes['w:w'] := Round(297/25.4*1440); 205 | PgSz.Attributes['w:h'] := Round(210/25.4*1440); 206 | PgSz := SectPr.AddChild('w:pgMar'); 207 | PgSz.Attributes['w:top'] := 1440; 208 | PgSz.Attributes['w:bottom'] := 1440; 209 | PgSz.Attributes['w:left'] := 720; 210 | PgSz.Attributes['w:right'] := 720; 211 | PgSz.Attributes['w:header'] := 720; 212 | PgSz.Attributes['w:footer'] := 720; 213 | end; 214 | 215 | function TForm3.CreateHeader : TStream; 216 | begin 217 | var XmlDocument := TXmlDocument.Create(self); 218 | try 219 | CreateXmlHeader(XmlDocument); 220 | // Root node 221 | var Root := XmlDocument.addChild('w:hdr'); 222 | Root.DeclareNamespace('w', 223 | 'http://schemas.openxmlformats.org/wordprocessingml/2006/main'); 224 | var Header := Root.addChild('w:p'); 225 | Header.addChild('w:r').addChild('w:t').NodeValue := 'Text 1'; 226 | var PTab := Header.addChild('w:r').addChild('w:ptab'); 227 | PTab.Attributes['w:relativeTo'] := 'margin'; 228 | PTab.Attributes['w:alignment'] := 'center'; 229 | PTab.Attributes['w:leader'] := 'none'; 230 | Header.addChild('w:r').addChild('w:t').NodeValue := 'Text 2'; 231 | PTab := Header.addChild('w:r').addChild('w:ptab'); 232 | PTab.Attributes['w:relativeTo'] := 'margin'; 233 | PTab.Attributes['w:alignment'] := 'right'; 234 | PTab.Attributes['w:leader'] := 'none'; 235 | Header.addChild('w:fldSimple').Attributes['w:instr'] := 236 | 'PAGE \* MERGEFORMAT'; 237 | Result := SaveXmlDocToStream(XmlDocument); 238 | finally 239 | XmlDocument.Free; 240 | end; 241 | end; 242 | 243 | end. 244 | -------------------------------------------------------------------------------- /ProcessOpenXml.dsk: -------------------------------------------------------------------------------- 1 | [Closed Files] 2 | File_0=TSourceModule,'D:\Documentos\Artigos\Artigos\CSharp\OpenXMLDelphi\CriaComplexo\Main.pas',0,1,1,60,7,0,0,, 3 | File_1=TSourceModule,'c:\program files (x86)\embarcadero\studio\20.0\SOURCE\XML\Xml.XMLDoc.pas',0,1,1374,1,1411,0,0,, 4 | File_2=TSourceModule,'D:\Projetos\Acbr\Fontes\ACBrDFe\ACBrNFe\ACBrNFeConfiguracoes.pas',0,1,55,36,71,0,0,, 5 | File_3=TSourceModule,'D:\Projetos\Acbr\Fontes\ACBrDFe\ACBrNFe\ACBrNFe.pas',0,1,211,1,226,0,0,, 6 | File_4=TSourceModule,'D:\Projetos\Acbr\Fontes\ACBrDFe\ACBrNFe\DANFE\NFe\Fortes\ACBrNFeDANFeRLClass.pas',0,1,226,1,233,0,0,, 7 | File_5=TSourceModule,'D:\Projetos\Acbr\Fontes\ACBrDFe\ACBrDFe.pas',0,1,254,1,269,0,0,, 8 | File_6=TSourceModule,'D:\Projetos\Acbr\Fontes\ACBrDFe\ACBrNFe\ACBrNFeNotasFiscais.pas',0,1,3473,1,3489,0,0,, 9 | File_7=TSourceModule,'D:\Projetos\Acbr\Fontes\ACBrDFe\ACBrNFe\DANFE\ACBrNFeDANFEClass.pas',0,1,336,1,336,0,0,, 10 | File_8=TSourceModule,'D:\Projetos\Acbr\Fontes\ACBrDFe\ACBrNFe\PCNNFe\pcnConversaoNFe.pas',0,1,64,1,80,0,0,, 11 | File_9=TSourceModule,'D:\Projetos\Acbr\DemoDll\DataModule.pas',0,1,411,1,438,0,0,, 12 | File_10=TSourceModule,'c:\program files (x86)\embarcadero\rad studio\7.0\source\Win32\rtl\win\Windows.pas',0,1,34362,1,34378,0,0,, 13 | File_11=TSourceModule,'D:\Projetos\Acbr\Fontes\Terceiros\synalist\synautil.pas',0,1,1796,1,1818,0,0,, 14 | File_12=TSourceModule,'D:\Projetos\Acbr\Fontes\ACBrTCP\ACBrMail.pas',0,1,924,1,951,0,0,, 15 | File_13=TSourceModule,'c:\program files (x86)\embarcadero\rad studio\7.0\source\Win32\rtl\common\IOUtils.pas',0,1,2322,29,2341,0,0,, 16 | File_14=TSourceModule,'c:\program files (x86)\embarcadero\rad studio\7.0\source\Win32\rtl\common\Classes.pas',0,1,6096,3,6137,0,0,, 17 | 18 | [Modules] 19 | Module0=D:\Documentos\Embarcadero\Studio\Projects\OpenXml\ComplexWord\Unit3.pas 20 | Module1=D:\Documentos\Embarcadero\Studio\Projects\OpenXml\CreateWord\Unit2.pas 21 | Module2=D:\Documentos\Embarcadero\Studio\Projects\OpenXml\Unit1.pas 22 | Count=3 23 | EditWindowCount=1 24 | 25 | [D:\Documentos\Embarcadero\Studio\Projects\OpenXml\ComplexWord\Unit3.pas] 26 | ModuleType=TSourceModule 27 | 28 | [D:\Documentos\Embarcadero\Studio\Projects\OpenXml\CreateWord\Unit2.pas] 29 | ModuleType=TSourceModule 30 | 31 | [D:\Documentos\Embarcadero\Studio\Projects\OpenXml\Unit1.pas] 32 | ModuleType=TSourceModule 33 | 34 | [EditWindow0] 35 | ViewCount=3 36 | CurrentEditView=D:\Documentos\Embarcadero\Studio\Projects\OpenXml\ComplexWord\Unit3.pas 37 | View0=0 38 | View1=1 39 | View2=2 40 | PercentageSizes=1 41 | Create=1 42 | Visible=1 43 | Docked=1 44 | State=0 45 | Left=0 46 | Top=0 47 | Width=9896 48 | Height=8786 49 | MaxLeft=-1 50 | MaxTop=-1 51 | ClientWidth=9896 52 | ClientHeight=8786 53 | DockedToMainForm=1 54 | BorlandEditorCodeExplorer=BorlandEditorCodeExplorer@EditWindow0 55 | TopPanelSize=0 56 | LeftPanelSize=892 57 | LeftPanelClients=PropertyInspector,DockSite3 58 | LeftPanelData=000008000101000000006A12000000000000017C030000000000000100000000550E000009000000446F636B53697465330100000000BC2000001100000050726F7065727479496E73706563746F72FFFFFFFF 59 | RightPanelSize=1003 60 | RightPanelClients=DockSite2,DockSite4 61 | RightPanelData=000008000101000000006A1200000000000001EB0300000000000001000000004412000009000000446F636B53697465320100000000BC20000009000000446F636B5369746534FFFFFFFF 62 | BottomPanelSize=0 63 | BottomPanelClients=DockSite1,MessageView 64 | BottomPanelData=0000080001020200000009000000446F636B53697465310F0000004D65737361676556696577466F726D1534000000000000022606000000000000FFFFFFFF 65 | BottomMiddlePanelSize=0 66 | BottomMiddlePanelClients=DockSite0,GraphDrawingModel 67 | BottomMiddelPanelData=0000080001020200000009000000446F636B536974653010000000477261706844726177696E67566965779D1D00000000000002F606000000000000FFFFFFFF 68 | 69 | [View0] 70 | CustomEditViewType=TEditView 71 | Module=D:\Documentos\Embarcadero\Studio\Projects\OpenXml\Unit1.pas 72 | CursorX=35 73 | CursorY=48 74 | TopLine=61 75 | LeftCol=1 76 | Elisions= 77 | Bookmarks= 78 | EditViewName=D:\Documentos\Embarcadero\Studio\Projects\OpenXml\Unit1.pas 79 | 80 | [View1] 81 | CustomEditViewType=TEditView 82 | Module=D:\Documentos\Embarcadero\Studio\Projects\OpenXml\CreateWord\Unit2.pas 83 | CursorX=15 84 | CursorY=137 85 | TopLine=124 86 | LeftCol=1 87 | Elisions= 88 | Bookmarks= 89 | EditViewName=D:\Documentos\Embarcadero\Studio\Projects\OpenXml\CreateWord\Unit2.pas 90 | 91 | [View2] 92 | CustomEditViewType=TEditView 93 | Module=D:\Documentos\Embarcadero\Studio\Projects\OpenXml\ComplexWord\Unit3.pas 94 | CursorX=11 95 | CursorY=175 96 | TopLine=213 97 | LeftCol=1 98 | Elisions= 99 | Bookmarks= 100 | EditViewName=D:\Documentos\Embarcadero\Studio\Projects\OpenXml\ComplexWord\Unit3.pas 101 | 102 | [UndockedDesigner] 103 | Count=0 104 | 105 | [Watches] 106 | Count=0 107 | 108 | [WatchWindow] 109 | WatchColumnWidth=120 110 | WatchShowColumnHeaders=1 111 | PercentageSizes=1 112 | Create=1 113 | Visible=1 114 | Docked=1 115 | State=0 116 | Left=0 117 | Top=0 118 | Width=3822 119 | Height=1080 120 | MaxLeft=-1 121 | MaxTop=-1 122 | ClientWidth=3822 123 | ClientHeight=1080 124 | TBDockHeight=218 125 | LRDockWidth=13600 126 | Dockable=1 127 | StayOnTop=0 128 | 129 | [Breakpoints] 130 | Count=0 131 | 132 | [EmbarcaderoWin32Debugger_AddressBreakpoints] 133 | Count=0 134 | 135 | [EmbarcaderoWin64Debugger_AddressBreakpoints] 136 | Count=0 137 | 138 | [Main Window] 139 | PercentageSizes=1 140 | Create=1 141 | Visible=1 142 | Docked=0 143 | State=2 144 | Left=143 145 | Top=279 146 | Width=8932 147 | Height=8519 148 | MaxLeft=-7 149 | MaxTop=-12 150 | MaxWidth=8932 151 | MaxHeight=8519 152 | ClientWidth=10026 153 | ClientHeight=9733 154 | BottomPanelSize=8380 155 | BottomPanelClients=EditWindow0 156 | BottomPanelData=0000080000000000000000000000000000000000000000000000000100000000000000000C0000004564697457696E646F775F30FFFFFFFF 157 | 158 | [ProjectManager] 159 | PercentageSizes=1 160 | Create=1 161 | Visible=1 162 | Docked=1 163 | State=0 164 | Left=0 165 | Top=0 166 | Width=1999 167 | Height=4175 168 | MaxLeft=-1 169 | MaxTop=-1 170 | ClientWidth=1999 171 | ClientHeight=4175 172 | TBDockHeight=5898 173 | LRDockWidth=2350 174 | Dockable=1 175 | StayOnTop=0 176 | 177 | [MessageView] 178 | PercentageSizes=1 179 | Create=1 180 | Visible=0 181 | Docked=1 182 | State=0 183 | Left=0 184 | Top=0 185 | Width=2767 186 | Height=1420 187 | MaxLeft=-1 188 | MaxTop=-1 189 | ClientWidth=2767 190 | ClientHeight=1420 191 | TBDockHeight=1420 192 | LRDockWidth=2767 193 | Dockable=1 194 | StayOnTop=0 195 | 196 | [ToolForm] 197 | PercentageSizes=1 198 | Create=1 199 | Visible=1 200 | Docked=1 201 | State=0 202 | Left=0 203 | Top=0 204 | Width=1003 205 | Height=3592 206 | MaxLeft=-1 207 | MaxTop=-1 208 | ClientWidth=1003 209 | ClientHeight=3592 210 | TBDockHeight=7148 211 | LRDockWidth=1999 212 | Dockable=1 213 | StayOnTop=0 214 | 215 | [ClipboardHistory] 216 | PercentageSizes=1 217 | Create=1 218 | Visible=0 219 | Docked=0 220 | State=0 221 | Left=0 222 | Top=0 223 | Width=2461 224 | Height=5400 225 | MaxLeft=-7 226 | MaxTop=-12 227 | ClientWidth=2357 228 | ClientHeight=4927 229 | TBDockHeight=5400 230 | LRDockWidth=2461 231 | Dockable=1 232 | StayOnTop=0 233 | 234 | [ProjectStatistics] 235 | PercentageSizes=1 236 | Create=1 237 | Visible=0 238 | Docked=0 239 | State=0 240 | Left=0 241 | Top=0 242 | Width=1719 243 | Height=6226 244 | MaxLeft=-7 245 | MaxTop=-12 246 | ClientWidth=1615 247 | ClientHeight=5752 248 | TBDockHeight=6226 249 | LRDockWidth=1719 250 | Dockable=1 251 | StayOnTop=0 252 | 253 | [PropertyInspector] 254 | PercentageSizes=1 255 | Create=1 256 | Visible=1 257 | Docked=1 258 | State=0 259 | Left=0 260 | Top=341 261 | Width=892 262 | Height=4648 263 | MaxLeft=-1 264 | MaxTop=-1 265 | ClientWidth=892 266 | ClientHeight=4648 267 | TBDockHeight=5194 268 | LRDockWidth=892 269 | Dockable=1 270 | StayOnTop=0 271 | SplitPos=77 272 | 273 | [frmDesignPreview] 274 | PercentageSizes=1 275 | Create=1 276 | Visible=1 277 | Docked=1 278 | State=0 279 | Left=0 280 | Top=0 281 | Width=1999 282 | Height=3641 283 | MaxLeft=-1 284 | MaxTop=-1 285 | ClientWidth=1999 286 | ClientHeight=3641 287 | TBDockHeight=5959 288 | LRDockWidth=2513 289 | Dockable=1 290 | StayOnTop=0 291 | 292 | [TemplateView] 293 | PercentageSizes=1 294 | Create=1 295 | Visible=0 296 | Docked=1 297 | State=0 298 | Left=0 299 | Top=0 300 | Width=273 301 | Height=364 302 | MaxLeft=-1 303 | MaxTop=-1 304 | ClientWidth=273 305 | ClientHeight=364 306 | TBDockHeight=364 307 | LRDockWidth=273 308 | Dockable=1 309 | StayOnTop=0 310 | Name=120 311 | Description=334 312 | filter=1 313 | 314 | [DebugLogView] 315 | PercentageSizes=1 316 | Create=1 317 | Visible=1 318 | Docked=1 319 | State=0 320 | Left=0 321 | Top=0 322 | Width=3822 323 | Height=1080 324 | MaxLeft=-1 325 | MaxTop=-1 326 | ClientWidth=3822 327 | ClientHeight=1080 328 | TBDockHeight=413 329 | LRDockWidth=4948 330 | Dockable=1 331 | StayOnTop=0 332 | 333 | [ThreadStatusWindow] 334 | PercentageSizes=1 335 | Create=1 336 | Visible=1 337 | Docked=1 338 | State=0 339 | Left=0 340 | Top=0 341 | Width=3822 342 | Height=1080 343 | MaxLeft=-1 344 | MaxTop=-1 345 | ClientWidth=3822 346 | ClientHeight=1080 347 | TBDockHeight=218 348 | LRDockWidth=7409 349 | Dockable=1 350 | StayOnTop=0 351 | Column0Width=145 352 | Column1Width=100 353 | Column2Width=115 354 | Column3Width=227 355 | 356 | [LocalVarsWindow] 357 | PercentageSizes=1 358 | Create=1 359 | Visible=1 360 | Docked=1 361 | State=0 362 | Left=0 363 | Top=0 364 | Width=3822 365 | Height=1080 366 | MaxLeft=-1 367 | MaxTop=-1 368 | ClientWidth=3822 369 | ClientHeight=1080 370 | TBDockHeight=1541 371 | LRDockWidth=3483 372 | Dockable=1 373 | StayOnTop=0 374 | 375 | [CallStackWindow] 376 | PercentageSizes=1 377 | Create=1 378 | Visible=1 379 | Docked=1 380 | State=0 381 | Left=0 382 | Top=0 383 | Width=3822 384 | Height=1080 385 | MaxLeft=-1 386 | MaxTop=-1 387 | ClientWidth=3822 388 | ClientHeight=1080 389 | TBDockHeight=2063 390 | LRDockWidth=3483 391 | Dockable=1 392 | StayOnTop=0 393 | 394 | [PatchForm] 395 | PercentageSizes=1 396 | Create=1 397 | Visible=1 398 | Docked=1 399 | State=0 400 | Left=0 401 | Top=0 402 | Width=2337 403 | Height=1141 404 | MaxLeft=-1 405 | MaxTop=-1 406 | ClientWidth=2337 407 | ClientHeight=1141 408 | TBDockHeight=2500 409 | LRDockWidth=3398 410 | Dockable=1 411 | StayOnTop=0 412 | 413 | [FindReferencsForm] 414 | PercentageSizes=1 415 | Create=1 416 | Visible=1 417 | Docked=1 418 | State=0 419 | Left=0 420 | Top=0 421 | Width=2337 422 | Height=1141 423 | MaxLeft=-1 424 | MaxTop=-1 425 | ClientWidth=2337 426 | ClientHeight=1141 427 | TBDockHeight=2318 428 | LRDockWidth=2826 429 | Dockable=1 430 | StayOnTop=0 431 | 432 | [RefactoringForm] 433 | PercentageSizes=1 434 | Create=1 435 | Visible=1 436 | Docked=1 437 | State=0 438 | Left=0 439 | Top=0 440 | Width=2337 441 | Height=1141 442 | MaxLeft=-1 443 | MaxTop=-1 444 | ClientWidth=2337 445 | ClientHeight=1141 446 | TBDockHeight=3204 447 | LRDockWidth=2826 448 | Dockable=1 449 | StayOnTop=0 450 | 451 | [ToDo List] 452 | PercentageSizes=1 453 | Create=1 454 | Visible=1 455 | Docked=1 456 | State=0 457 | Left=0 458 | Top=0 459 | Width=2337 460 | Height=1068 461 | MaxLeft=-1 462 | MaxTop=-1 463 | ClientWidth=2337 464 | ClientHeight=1068 465 | TBDockHeight=1153 466 | LRDockWidth=3678 467 | Dockable=1 468 | StayOnTop=0 469 | Column0Width=314 470 | Column1Width=30 471 | Column2Width=150 472 | Column3Width=172 473 | Column4Width=129 474 | SortOrder=4 475 | ShowHints=1 476 | ShowChecked=1 477 | 478 | [DataExplorerContainer] 479 | PercentageSizes=1 480 | Create=1 481 | Visible=1 482 | Docked=1 483 | State=0 484 | Left=0 485 | Top=0 486 | Width=1999 487 | Height=0 488 | MaxLeft=-1 489 | MaxTop=-1 490 | ClientWidth=1999 491 | ClientHeight=0 492 | TBDockHeight=4879 493 | LRDockWidth=7148 494 | Dockable=1 495 | StayOnTop=0 496 | 497 | [GraphDrawingModel] 498 | PercentageSizes=1 499 | Create=1 500 | Visible=0 501 | Docked=1 502 | State=0 503 | Left=0 504 | Top=0 505 | Width=2858 506 | Height=3204 507 | MaxLeft=-1 508 | MaxTop=-1 509 | ClientWidth=2858 510 | ClientHeight=3204 511 | TBDockHeight=3204 512 | LRDockWidth=2858 513 | Dockable=1 514 | StayOnTop=0 515 | 516 | [ClassBrowserTool] 517 | PercentageSizes=1 518 | Create=1 519 | Visible=0 520 | Docked=1 521 | State=0 522 | Left=-260 523 | Top=-251 524 | Width=1849 525 | Height=3143 526 | MaxLeft=-1 527 | MaxTop=-1 528 | ClientWidth=1849 529 | ClientHeight=3143 530 | TBDockHeight=3143 531 | LRDockWidth=1849 532 | Dockable=1 533 | StayOnTop=0 534 | 535 | [MetricsView] 536 | PercentageSizes=1 537 | Create=1 538 | Visible=1 539 | Docked=1 540 | State=0 541 | Left=0 542 | Top=0 543 | Width=2337 544 | Height=1214 545 | MaxLeft=-1 546 | MaxTop=-1 547 | ClientWidth=2337 548 | ClientHeight=1214 549 | TBDockHeight=4830 550 | LRDockWidth=3561 551 | Dockable=1 552 | StayOnTop=0 553 | 554 | [QAView] 555 | PercentageSizes=1 556 | Create=1 557 | Visible=1 558 | Docked=1 559 | State=0 560 | Left=0 561 | Top=0 562 | Width=2337 563 | Height=1214 564 | MaxLeft=-1 565 | MaxTop=-1 566 | ClientWidth=2337 567 | ClientHeight=1214 568 | TBDockHeight=4830 569 | LRDockWidth=3561 570 | Dockable=1 571 | StayOnTop=0 572 | 573 | [BreakpointWindow] 574 | PercentageSizes=1 575 | Create=1 576 | Visible=1 577 | Docked=1 578 | State=0 579 | Left=0 580 | Top=0 581 | Width=3822 582 | Height=1080 583 | MaxLeft=-1 584 | MaxTop=-1 585 | ClientWidth=3822 586 | ClientHeight=1080 587 | TBDockHeight=1541 588 | LRDockWidth=8743 589 | Dockable=1 590 | StayOnTop=0 591 | Column0Width=200 592 | Column1Width=75 593 | Column2Width=200 594 | Column3Width=200 595 | Column4Width=200 596 | Column5Width=75 597 | Column6Width=75 598 | 599 | [StructureView] 600 | PercentageSizes=1 601 | Create=1 602 | Visible=1 603 | Docked=1 604 | State=0 605 | Left=0 606 | Top=0 607 | Width=1895 608 | Height=3459 609 | MaxLeft=-1 610 | MaxTop=-1 611 | ClientWidth=1895 612 | ClientHeight=3459 613 | TBDockHeight=3677 614 | LRDockWidth=1895 615 | Dockable=1 616 | StayOnTop=0 617 | 618 | [ModelViewTool] 619 | PercentageSizes=1 620 | Create=1 621 | Visible=1 622 | Docked=1 623 | State=0 624 | Left=0 625 | Top=0 626 | Width=1999 627 | Height=0 628 | MaxLeft=-1 629 | MaxTop=-1 630 | ClientWidth=1999 631 | ClientHeight=0 632 | TBDockHeight=4879 633 | LRDockWidth=5306 634 | Dockable=1 635 | StayOnTop=0 636 | 637 | [BorlandEditorCodeExplorer@EditWindow0] 638 | PercentageSizes=1 639 | Create=1 640 | Visible=0 641 | Docked=0 642 | State=0 643 | Left=0 644 | Top=0 645 | Width=1823 646 | Height=6177 647 | MaxLeft=-7 648 | MaxTop=-12 649 | ClientWidth=1719 650 | ClientHeight=5704 651 | TBDockHeight=6177 652 | LRDockWidth=1823 653 | Dockable=1 654 | StayOnTop=0 655 | 656 | [DockHosts] 657 | DockHostCount=5 658 | 659 | [DockSite0] 660 | HostDockSite=DockBottomCenterPanel 661 | DockSiteType=1 662 | PercentageSizes=1 663 | Create=1 664 | Visible=0 665 | Docked=1 666 | State=0 667 | Left=8 668 | Top=8 669 | Width=2337 670 | Height=1481 671 | MaxLeft=-1 672 | MaxTop=-1 673 | ClientWidth=2337 674 | ClientHeight=1481 675 | TBDockHeight=1481 676 | LRDockWidth=2337 677 | Dockable=1 678 | StayOnTop=0 679 | TabPosition=1 680 | ActiveTabID=RefactoringForm 681 | TabDockClients=RefactoringForm,PatchForm,FindReferencsForm,ToDo List,MetricsView,QAView 682 | 683 | [DockSite1] 684 | HostDockSite=DockBottomPanel 685 | DockSiteType=1 686 | PercentageSizes=1 687 | Create=1 688 | Visible=0 689 | Docked=1 690 | State=0 691 | Left=8 692 | Top=8 693 | Width=3822 694 | Height=1420 695 | MaxLeft=-1 696 | MaxTop=-1 697 | ClientWidth=3822 698 | ClientHeight=1420 699 | TBDockHeight=1420 700 | LRDockWidth=3822 701 | Dockable=1 702 | StayOnTop=0 703 | TabPosition=1 704 | ActiveTabID=DebugLogView 705 | TabDockClients=DebugLogView,BreakpointWindow,ThreadStatusWindow,CallStackWindow,WatchWindow,LocalVarsWindow 706 | 707 | [DockSite2] 708 | HostDockSite=DockRightPanel 709 | DockSiteType=1 710 | PercentageSizes=1 711 | Create=1 712 | Visible=1 713 | Docked=1 714 | State=0 715 | Left=0 716 | Top=24 717 | Width=1003 718 | Height=4515 719 | MaxLeft=-1 720 | MaxTop=-1 721 | ClientWidth=1003 722 | ClientHeight=4515 723 | TBDockHeight=4600 724 | LRDockWidth=1003 725 | Dockable=1 726 | StayOnTop=0 727 | TabPosition=1 728 | ActiveTabID=ProjectManager 729 | TabDockClients=ProjectManager,ModelViewTool,DataExplorerContainer,frmDesignPreview 730 | 731 | [DockSite3] 732 | HostDockSite=DockLeftPanel 733 | DockSiteType=1 734 | PercentageSizes=1 735 | Create=1 736 | Visible=1 737 | Docked=1 738 | State=0 739 | Left=0 740 | Top=24 741 | Width=892 742 | Height=3459 743 | MaxLeft=-1 744 | MaxTop=-1 745 | ClientWidth=892 746 | ClientHeight=3459 747 | TBDockHeight=3556 748 | LRDockWidth=892 749 | Dockable=1 750 | StayOnTop=0 751 | TabPosition=1 752 | ActiveTabID=StructureView 753 | TabDockClients=StructureView,ClassBrowserTool 754 | 755 | [DockSite4] 756 | HostDockSite=DockRightPanel 757 | DockSiteType=1 758 | PercentageSizes=1 759 | Create=1 760 | Visible=1 761 | Docked=1 762 | State=0 763 | Left=0 764 | Top=428 765 | Width=1003 766 | Height=3592 767 | MaxLeft=-1 768 | MaxTop=-1 769 | ClientWidth=1003 770 | ClientHeight=3592 771 | TBDockHeight=4150 772 | LRDockWidth=1003 773 | Dockable=1 774 | StayOnTop=0 775 | TabPosition=1 776 | ActiveTabID=ToolForm 777 | TabDockClients=ToolForm,TemplateView 778 | 779 | [ActiveProject] 780 | ActiveProject=3 781 | 782 | -------------------------------------------------------------------------------- /OpenXml.dproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | {0D6E08B1-1CC7-4902-A742-C2398876829D} 4 | 18.6 5 | VCL 6 | OpenXml.dpr 7 | True 8 | Debug 9 | Win32 10 | 1 11 | Application 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Cfg_1 34 | true 35 | true 36 | 37 | 38 | true 39 | Base 40 | true 41 | 42 | 43 | true 44 | Cfg_2 45 | true 46 | true 47 | 48 | 49 | .\$(Platform)\$(Config) 50 | .\$(Platform)\$(Config) 51 | false 52 | false 53 | false 54 | false 55 | false 56 | System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) 57 | $(BDS)\bin\delphi_PROJECTICON.ico 58 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png 59 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png 60 | OpenXml 61 | 62 | 63 | DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) 64 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 65 | Debug 66 | true 67 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= 68 | 1033 69 | $(BDS)\bin\default_app.manifest 70 | 71 | 72 | DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) 73 | 74 | 75 | DEBUG;$(DCC_Define) 76 | true 77 | false 78 | true 79 | true 80 | true 81 | 82 | 83 | false 84 | true 85 | PerMonitorV2 86 | 87 | 88 | false 89 | RELEASE;$(DCC_Define) 90 | 0 91 | 0 92 | 93 | 94 | true 95 | PerMonitorV2 96 | 97 | 98 | 99 | MainSource 100 | 101 | 102 |
Form1
103 | dfm 104 |
105 | 106 | Cfg_2 107 | Base 108 | 109 | 110 | Base 111 | 112 | 113 | Cfg_1 114 | Base 115 | 116 |
117 | 118 | Delphi.Personality.12 119 | Application 120 | 121 | 122 | 123 | OpenXml.dpr 124 | 125 | 126 | 127 | 128 | 129 | OpenXml.exe 130 | true 131 | 132 | 133 | 134 | 135 | 1 136 | 137 | 138 | Contents\MacOS 139 | 1 140 | 141 | 142 | 0 143 | 144 | 145 | 146 | 147 | classes 148 | 1 149 | 150 | 151 | 152 | 153 | res\xml 154 | 1 155 | 156 | 157 | 158 | 159 | library\lib\armeabi-v7a 160 | 1 161 | 162 | 163 | 164 | 165 | library\lib\armeabi 166 | 1 167 | 168 | 169 | 170 | 171 | library\lib\mips 172 | 1 173 | 174 | 175 | 176 | 177 | library\lib\armeabi-v7a 178 | 1 179 | 180 | 181 | 182 | 183 | res\drawable 184 | 1 185 | 186 | 187 | 188 | 189 | res\values 190 | 1 191 | 192 | 193 | 194 | 195 | res\values-v21 196 | 1 197 | 198 | 199 | 200 | 201 | res\drawable 202 | 1 203 | 204 | 205 | 206 | 207 | res\drawable-xxhdpi 208 | 1 209 | 210 | 211 | 212 | 213 | res\drawable-ldpi 214 | 1 215 | 216 | 217 | 218 | 219 | res\drawable-mdpi 220 | 1 221 | 222 | 223 | 224 | 225 | res\drawable-hdpi 226 | 1 227 | 228 | 229 | 230 | 231 | res\drawable-xhdpi 232 | 1 233 | 234 | 235 | 236 | 237 | res\drawable-small 238 | 1 239 | 240 | 241 | 242 | 243 | res\drawable-normal 244 | 1 245 | 246 | 247 | 248 | 249 | res\drawable-large 250 | 1 251 | 252 | 253 | 254 | 255 | res\drawable-xlarge 256 | 1 257 | 258 | 259 | 260 | 261 | 1 262 | 263 | 264 | Contents\MacOS 265 | 1 266 | 267 | 268 | 0 269 | 270 | 271 | 272 | 273 | Contents\MacOS 274 | 1 275 | .framework 276 | 277 | 278 | Contents\MacOS 279 | 1 280 | .framework 281 | 282 | 283 | 0 284 | 285 | 286 | 287 | 288 | 1 289 | .dylib 290 | 291 | 292 | 1 293 | .dylib 294 | 295 | 296 | 1 297 | .dylib 298 | 299 | 300 | Contents\MacOS 301 | 1 302 | .dylib 303 | 304 | 305 | Contents\MacOS 306 | 1 307 | .dylib 308 | 309 | 310 | 0 311 | .dll;.bpl 312 | 313 | 314 | 315 | 316 | 1 317 | .dylib 318 | 319 | 320 | 1 321 | .dylib 322 | 323 | 324 | 1 325 | .dylib 326 | 327 | 328 | Contents\MacOS 329 | 1 330 | .dylib 331 | 332 | 333 | Contents\MacOS 334 | 1 335 | .dylib 336 | 337 | 338 | 0 339 | .bpl 340 | 341 | 342 | 343 | 344 | 0 345 | 346 | 347 | 0 348 | 349 | 350 | 0 351 | 352 | 353 | 0 354 | 355 | 356 | Contents\Resources\StartUp\ 357 | 0 358 | 359 | 360 | Contents\Resources\StartUp\ 361 | 0 362 | 363 | 364 | 0 365 | 366 | 367 | 368 | 369 | 1 370 | 371 | 372 | 1 373 | 374 | 375 | 1 376 | 377 | 378 | 379 | 380 | 1 381 | 382 | 383 | 1 384 | 385 | 386 | 1 387 | 388 | 389 | 390 | 391 | 1 392 | 393 | 394 | 1 395 | 396 | 397 | 1 398 | 399 | 400 | 401 | 402 | 1 403 | 404 | 405 | 1 406 | 407 | 408 | 1 409 | 410 | 411 | 412 | 413 | 1 414 | 415 | 416 | 1 417 | 418 | 419 | 1 420 | 421 | 422 | 423 | 424 | 1 425 | 426 | 427 | 1 428 | 429 | 430 | 1 431 | 432 | 433 | 434 | 435 | 1 436 | 437 | 438 | 1 439 | 440 | 441 | 1 442 | 443 | 444 | 445 | 446 | 1 447 | 448 | 449 | 450 | 451 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 452 | 1 453 | 454 | 455 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 456 | 1 457 | 458 | 459 | 460 | 461 | 1 462 | 463 | 464 | 1 465 | 466 | 467 | 468 | 469 | ..\ 470 | 1 471 | 472 | 473 | ..\ 474 | 1 475 | 476 | 477 | 478 | 479 | 1 480 | 481 | 482 | 1 483 | 484 | 485 | 1 486 | 487 | 488 | 489 | 490 | 1 491 | 492 | 493 | 1 494 | 495 | 496 | 1 497 | 498 | 499 | 500 | 501 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 502 | 1 503 | 504 | 505 | 506 | 507 | ..\ 508 | 1 509 | 510 | 511 | ..\ 512 | 1 513 | 514 | 515 | 516 | 517 | Contents 518 | 1 519 | 520 | 521 | Contents 522 | 1 523 | 524 | 525 | 526 | 527 | Contents\Resources 528 | 1 529 | 530 | 531 | Contents\Resources 532 | 1 533 | 534 | 535 | 536 | 537 | library\lib\armeabi-v7a 538 | 1 539 | 540 | 541 | 1 542 | 543 | 544 | 1 545 | 546 | 547 | 1 548 | 549 | 550 | 1 551 | 552 | 553 | Contents\MacOS 554 | 1 555 | 556 | 557 | Contents\MacOS 558 | 1 559 | 560 | 561 | 0 562 | 563 | 564 | 565 | 566 | 1 567 | 568 | 569 | 1 570 | 571 | 572 | 573 | 574 | Assets 575 | 1 576 | 577 | 578 | Assets 579 | 1 580 | 581 | 582 | 583 | 584 | Assets 585 | 1 586 | 587 | 588 | Assets 589 | 1 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | True 604 | False 605 | 606 | 607 | 12 608 | 609 | 610 | 611 | 612 |
613 | -------------------------------------------------------------------------------- /CreateWord/CreateWord.dproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | {D8BB2ECE-9410-4C61-8B23-A0B2ECE647B7} 4 | 18.6 5 | VCL 6 | CreateWord.dpr 7 | True 8 | Debug 9 | Win32 10 | 1 11 | Application 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Cfg_1 34 | true 35 | true 36 | 37 | 38 | true 39 | Base 40 | true 41 | 42 | 43 | true 44 | Cfg_2 45 | true 46 | true 47 | 48 | 49 | .\$(Platform)\$(Config) 50 | .\$(Platform)\$(Config) 51 | false 52 | false 53 | false 54 | false 55 | false 56 | System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) 57 | $(BDS)\bin\delphi_PROJECTICON.ico 58 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png 59 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png 60 | CreateWord 61 | 62 | 63 | DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) 64 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 65 | Debug 66 | true 67 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= 68 | 1033 69 | $(BDS)\bin\default_app.manifest 70 | 71 | 72 | DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) 73 | 74 | 75 | DEBUG;$(DCC_Define) 76 | true 77 | false 78 | true 79 | true 80 | true 81 | 82 | 83 | false 84 | true 85 | PerMonitorV2 86 | 87 | 88 | false 89 | RELEASE;$(DCC_Define) 90 | 0 91 | 0 92 | 93 | 94 | true 95 | PerMonitorV2 96 | 97 | 98 | 99 | MainSource 100 | 101 | 102 |
Form2
103 | dfm 104 |
105 | 106 | Cfg_2 107 | Base 108 | 109 | 110 | Base 111 | 112 | 113 | Cfg_1 114 | Base 115 | 116 |
117 | 118 | Delphi.Personality.12 119 | Application 120 | 121 | 122 | 123 | CreateWord.dpr 124 | 125 | 126 | 127 | 128 | 129 | CreateWord.exe 130 | true 131 | 132 | 133 | 134 | 135 | 1 136 | 137 | 138 | Contents\MacOS 139 | 1 140 | 141 | 142 | 0 143 | 144 | 145 | 146 | 147 | classes 148 | 1 149 | 150 | 151 | 152 | 153 | res\xml 154 | 1 155 | 156 | 157 | 158 | 159 | library\lib\armeabi-v7a 160 | 1 161 | 162 | 163 | 164 | 165 | library\lib\armeabi 166 | 1 167 | 168 | 169 | 170 | 171 | library\lib\mips 172 | 1 173 | 174 | 175 | 176 | 177 | library\lib\armeabi-v7a 178 | 1 179 | 180 | 181 | 182 | 183 | res\drawable 184 | 1 185 | 186 | 187 | 188 | 189 | res\values 190 | 1 191 | 192 | 193 | 194 | 195 | res\values-v21 196 | 1 197 | 198 | 199 | 200 | 201 | res\drawable 202 | 1 203 | 204 | 205 | 206 | 207 | res\drawable-xxhdpi 208 | 1 209 | 210 | 211 | 212 | 213 | res\drawable-ldpi 214 | 1 215 | 216 | 217 | 218 | 219 | res\drawable-mdpi 220 | 1 221 | 222 | 223 | 224 | 225 | res\drawable-hdpi 226 | 1 227 | 228 | 229 | 230 | 231 | res\drawable-xhdpi 232 | 1 233 | 234 | 235 | 236 | 237 | res\drawable-small 238 | 1 239 | 240 | 241 | 242 | 243 | res\drawable-normal 244 | 1 245 | 246 | 247 | 248 | 249 | res\drawable-large 250 | 1 251 | 252 | 253 | 254 | 255 | res\drawable-xlarge 256 | 1 257 | 258 | 259 | 260 | 261 | 1 262 | 263 | 264 | Contents\MacOS 265 | 1 266 | 267 | 268 | 0 269 | 270 | 271 | 272 | 273 | Contents\MacOS 274 | 1 275 | .framework 276 | 277 | 278 | Contents\MacOS 279 | 1 280 | .framework 281 | 282 | 283 | 0 284 | 285 | 286 | 287 | 288 | 1 289 | .dylib 290 | 291 | 292 | 1 293 | .dylib 294 | 295 | 296 | 1 297 | .dylib 298 | 299 | 300 | Contents\MacOS 301 | 1 302 | .dylib 303 | 304 | 305 | Contents\MacOS 306 | 1 307 | .dylib 308 | 309 | 310 | 0 311 | .dll;.bpl 312 | 313 | 314 | 315 | 316 | 1 317 | .dylib 318 | 319 | 320 | 1 321 | .dylib 322 | 323 | 324 | 1 325 | .dylib 326 | 327 | 328 | Contents\MacOS 329 | 1 330 | .dylib 331 | 332 | 333 | Contents\MacOS 334 | 1 335 | .dylib 336 | 337 | 338 | 0 339 | .bpl 340 | 341 | 342 | 343 | 344 | 0 345 | 346 | 347 | 0 348 | 349 | 350 | 0 351 | 352 | 353 | 0 354 | 355 | 356 | Contents\Resources\StartUp\ 357 | 0 358 | 359 | 360 | Contents\Resources\StartUp\ 361 | 0 362 | 363 | 364 | 0 365 | 366 | 367 | 368 | 369 | 1 370 | 371 | 372 | 1 373 | 374 | 375 | 1 376 | 377 | 378 | 379 | 380 | 1 381 | 382 | 383 | 1 384 | 385 | 386 | 1 387 | 388 | 389 | 390 | 391 | 1 392 | 393 | 394 | 1 395 | 396 | 397 | 1 398 | 399 | 400 | 401 | 402 | 1 403 | 404 | 405 | 1 406 | 407 | 408 | 1 409 | 410 | 411 | 412 | 413 | 1 414 | 415 | 416 | 1 417 | 418 | 419 | 1 420 | 421 | 422 | 423 | 424 | 1 425 | 426 | 427 | 1 428 | 429 | 430 | 1 431 | 432 | 433 | 434 | 435 | 1 436 | 437 | 438 | 1 439 | 440 | 441 | 1 442 | 443 | 444 | 445 | 446 | 1 447 | 448 | 449 | 450 | 451 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 452 | 1 453 | 454 | 455 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 456 | 1 457 | 458 | 459 | 460 | 461 | 1 462 | 463 | 464 | 1 465 | 466 | 467 | 468 | 469 | ..\ 470 | 1 471 | 472 | 473 | ..\ 474 | 1 475 | 476 | 477 | 478 | 479 | 1 480 | 481 | 482 | 1 483 | 484 | 485 | 1 486 | 487 | 488 | 489 | 490 | 1 491 | 492 | 493 | 1 494 | 495 | 496 | 1 497 | 498 | 499 | 500 | 501 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 502 | 1 503 | 504 | 505 | 506 | 507 | ..\ 508 | 1 509 | 510 | 511 | ..\ 512 | 1 513 | 514 | 515 | 516 | 517 | Contents 518 | 1 519 | 520 | 521 | Contents 522 | 1 523 | 524 | 525 | 526 | 527 | Contents\Resources 528 | 1 529 | 530 | 531 | Contents\Resources 532 | 1 533 | 534 | 535 | 536 | 537 | library\lib\armeabi-v7a 538 | 1 539 | 540 | 541 | 1 542 | 543 | 544 | 1 545 | 546 | 547 | 1 548 | 549 | 550 | 1 551 | 552 | 553 | Contents\MacOS 554 | 1 555 | 556 | 557 | Contents\MacOS 558 | 1 559 | 560 | 561 | 0 562 | 563 | 564 | 565 | 566 | 1 567 | 568 | 569 | 1 570 | 571 | 572 | 573 | 574 | Assets 575 | 1 576 | 577 | 578 | Assets 579 | 1 580 | 581 | 582 | 583 | 584 | Assets 585 | 1 586 | 587 | 588 | Assets 589 | 1 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | True 604 | False 605 | 606 | 607 | 12 608 | 609 | 610 | 611 | 612 |
613 | -------------------------------------------------------------------------------- /ComplexWord/ComplexWord.dproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | {D76777DF-7571-41E2-BF42-1BF3B3EEDF4F} 4 | 18.6 5 | VCL 6 | ComplexWord.dpr 7 | True 8 | Debug 9 | Win32 10 | 1 11 | Application 12 | 13 | 14 | true 15 | 16 | 17 | true 18 | Base 19 | true 20 | 21 | 22 | true 23 | Base 24 | true 25 | 26 | 27 | true 28 | Base 29 | true 30 | 31 | 32 | true 33 | Cfg_1 34 | true 35 | true 36 | 37 | 38 | true 39 | Base 40 | true 41 | 42 | 43 | true 44 | Cfg_2 45 | true 46 | true 47 | 48 | 49 | .\$(Platform)\$(Config) 50 | .\$(Platform)\$(Config) 51 | false 52 | false 53 | false 54 | false 55 | false 56 | System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) 57 | $(BDS)\bin\delphi_PROJECTICON.ico 58 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png 59 | $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png 60 | ComplexWord 61 | 62 | 63 | DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;svnui;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) 64 | Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) 65 | Debug 66 | true 67 | CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= 68 | 1033 69 | $(BDS)\bin\default_app.manifest 70 | 71 | 72 | DBXSqliteDriver;RESTComponents;fmxase;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;DataSnapServerMidas;$(DCC_UsePackage) 73 | 74 | 75 | DEBUG;$(DCC_Define) 76 | true 77 | false 78 | true 79 | true 80 | true 81 | 82 | 83 | false 84 | true 85 | PerMonitorV2 86 | 87 | 88 | false 89 | RELEASE;$(DCC_Define) 90 | 0 91 | 0 92 | 93 | 94 | true 95 | PerMonitorV2 96 | 97 | 98 | 99 | MainSource 100 | 101 | 102 |
Form3
103 | dfm 104 |
105 | 106 | Cfg_2 107 | Base 108 | 109 | 110 | Base 111 | 112 | 113 | Cfg_1 114 | Base 115 | 116 |
117 | 118 | Delphi.Personality.12 119 | Application 120 | 121 | 122 | 123 | ComplexWord.dpr 124 | 125 | 126 | 127 | 128 | 129 | ComplexWord.exe 130 | true 131 | 132 | 133 | 134 | 135 | 1 136 | 137 | 138 | Contents\MacOS 139 | 1 140 | 141 | 142 | 0 143 | 144 | 145 | 146 | 147 | classes 148 | 1 149 | 150 | 151 | 152 | 153 | res\xml 154 | 1 155 | 156 | 157 | 158 | 159 | library\lib\armeabi-v7a 160 | 1 161 | 162 | 163 | 164 | 165 | library\lib\armeabi 166 | 1 167 | 168 | 169 | 170 | 171 | library\lib\mips 172 | 1 173 | 174 | 175 | 176 | 177 | library\lib\armeabi-v7a 178 | 1 179 | 180 | 181 | 182 | 183 | res\drawable 184 | 1 185 | 186 | 187 | 188 | 189 | res\values 190 | 1 191 | 192 | 193 | 194 | 195 | res\values-v21 196 | 1 197 | 198 | 199 | 200 | 201 | res\drawable 202 | 1 203 | 204 | 205 | 206 | 207 | res\drawable-xxhdpi 208 | 1 209 | 210 | 211 | 212 | 213 | res\drawable-ldpi 214 | 1 215 | 216 | 217 | 218 | 219 | res\drawable-mdpi 220 | 1 221 | 222 | 223 | 224 | 225 | res\drawable-hdpi 226 | 1 227 | 228 | 229 | 230 | 231 | res\drawable-xhdpi 232 | 1 233 | 234 | 235 | 236 | 237 | res\drawable-small 238 | 1 239 | 240 | 241 | 242 | 243 | res\drawable-normal 244 | 1 245 | 246 | 247 | 248 | 249 | res\drawable-large 250 | 1 251 | 252 | 253 | 254 | 255 | res\drawable-xlarge 256 | 1 257 | 258 | 259 | 260 | 261 | 1 262 | 263 | 264 | Contents\MacOS 265 | 1 266 | 267 | 268 | 0 269 | 270 | 271 | 272 | 273 | Contents\MacOS 274 | 1 275 | .framework 276 | 277 | 278 | Contents\MacOS 279 | 1 280 | .framework 281 | 282 | 283 | 0 284 | 285 | 286 | 287 | 288 | 1 289 | .dylib 290 | 291 | 292 | 1 293 | .dylib 294 | 295 | 296 | 1 297 | .dylib 298 | 299 | 300 | Contents\MacOS 301 | 1 302 | .dylib 303 | 304 | 305 | Contents\MacOS 306 | 1 307 | .dylib 308 | 309 | 310 | 0 311 | .dll;.bpl 312 | 313 | 314 | 315 | 316 | 1 317 | .dylib 318 | 319 | 320 | 1 321 | .dylib 322 | 323 | 324 | 1 325 | .dylib 326 | 327 | 328 | Contents\MacOS 329 | 1 330 | .dylib 331 | 332 | 333 | Contents\MacOS 334 | 1 335 | .dylib 336 | 337 | 338 | 0 339 | .bpl 340 | 341 | 342 | 343 | 344 | 0 345 | 346 | 347 | 0 348 | 349 | 350 | 0 351 | 352 | 353 | 0 354 | 355 | 356 | Contents\Resources\StartUp\ 357 | 0 358 | 359 | 360 | Contents\Resources\StartUp\ 361 | 0 362 | 363 | 364 | 0 365 | 366 | 367 | 368 | 369 | 1 370 | 371 | 372 | 1 373 | 374 | 375 | 1 376 | 377 | 378 | 379 | 380 | 1 381 | 382 | 383 | 1 384 | 385 | 386 | 1 387 | 388 | 389 | 390 | 391 | 1 392 | 393 | 394 | 1 395 | 396 | 397 | 1 398 | 399 | 400 | 401 | 402 | 1 403 | 404 | 405 | 1 406 | 407 | 408 | 1 409 | 410 | 411 | 412 | 413 | 1 414 | 415 | 416 | 1 417 | 418 | 419 | 1 420 | 421 | 422 | 423 | 424 | 1 425 | 426 | 427 | 1 428 | 429 | 430 | 1 431 | 432 | 433 | 434 | 435 | 1 436 | 437 | 438 | 1 439 | 440 | 441 | 1 442 | 443 | 444 | 445 | 446 | 1 447 | 448 | 449 | 450 | 451 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 452 | 1 453 | 454 | 455 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 456 | 1 457 | 458 | 459 | 460 | 461 | 1 462 | 463 | 464 | 1 465 | 466 | 467 | 468 | 469 | ..\ 470 | 1 471 | 472 | 473 | ..\ 474 | 1 475 | 476 | 477 | 478 | 479 | 1 480 | 481 | 482 | 1 483 | 484 | 485 | 1 486 | 487 | 488 | 489 | 490 | 1 491 | 492 | 493 | 1 494 | 495 | 496 | 1 497 | 498 | 499 | 500 | 501 | ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF 502 | 1 503 | 504 | 505 | 506 | 507 | ..\ 508 | 1 509 | 510 | 511 | ..\ 512 | 1 513 | 514 | 515 | 516 | 517 | Contents 518 | 1 519 | 520 | 521 | Contents 522 | 1 523 | 524 | 525 | 526 | 527 | Contents\Resources 528 | 1 529 | 530 | 531 | Contents\Resources 532 | 1 533 | 534 | 535 | 536 | 537 | library\lib\armeabi-v7a 538 | 1 539 | 540 | 541 | 1 542 | 543 | 544 | 1 545 | 546 | 547 | 1 548 | 549 | 550 | 1 551 | 552 | 553 | Contents\MacOS 554 | 1 555 | 556 | 557 | Contents\MacOS 558 | 1 559 | 560 | 561 | 0 562 | 563 | 564 | 565 | 566 | 1 567 | 568 | 569 | 1 570 | 571 | 572 | 573 | 574 | Assets 575 | 1 576 | 577 | 578 | Assets 579 | 1 580 | 581 | 582 | 583 | 584 | Assets 585 | 1 586 | 587 | 588 | Assets 589 | 1 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | True 604 | False 605 | 606 | 607 | 12 608 | 609 | 610 | 611 | 612 |
613 | --------------------------------------------------------------------------------