diff --git a/components/fpspreadsheet/examples/other/metadata/demo_metadata.lpi b/components/fpspreadsheet/examples/other/metadata/demo_metadata.lpi index 6e4ee2aaa..37e135dfd 100644 --- a/components/fpspreadsheet/examples/other/metadata/demo_metadata.lpi +++ b/components/fpspreadsheet/examples/other/metadata/demo_metadata.lpi @@ -8,14 +8,15 @@ + <UseAppBundle Value="False"/> <ResourceType Value="res"/> </General> - <BuildModes> - <Item Name="Default" Default="True"/> + <BuildModes Count="1"> + <Item1 Name="Default" Default="True"/> </BuildModes> <PublishOptions> <Version Value="2"/> @@ -24,16 +25,16 @@ <RunParams> <FormatVersion Value="2"/> </RunParams> - <RequiredPackages> - <Item> + <RequiredPackages Count="1"> + <Item1> <PackageName Value="laz_fpspreadsheet"/> - </Item> + </Item1> </RequiredPackages> - <Units> - <Unit> + <Units Count="1"> + <Unit0> <Filename Value="demo_metadata.lpr"/> <IsPartOfProject Value="True"/> - </Unit> + </Unit0> </Units> </ProjectOptions> <CompilerOptions> @@ -53,16 +54,16 @@ </Linking> </CompilerOptions> <Debugging> - <Exceptions> - <Item> + <Exceptions Count="3"> + <Item1> <Name Value="EAbort"/> - </Item> - <Item> + </Item1> + <Item2> <Name Value="ECodetoolError"/> - </Item> - <Item> + </Item2> + <Item3> <Name Value="EFOpenError"/> - </Item> + </Item3> </Exceptions> </Debugging> </CONFIG> diff --git a/components/fpspreadsheet/examples/other/metadata/demo_metadata.lpr b/components/fpspreadsheet/examples/other/metadata/demo_metadata.lpr index b0309d151..2ed050264 100644 --- a/components/fpspreadsheet/examples/other/metadata/demo_metadata.lpr +++ b/components/fpspreadsheet/examples/other/metadata/demo_metadata.lpr @@ -62,7 +62,7 @@ begin book := TsWorkbook.Create; try book.MetaData.CreatedBy := 'Donald Duck'; - book.MetaData.CreatedAt := EncodeDate(2020, 1, 1) + EncodeTime(12, 30, 40, 20); + book.MetaData.DateCreated := EncodeDate(2020, 1, 1) + EncodeTime(12, 30, 40, 20); book.MetaData.Title := 'Test of metadata äöü'; book.MetaData.Comments.Add('This is a test of spreadsheet metadata.'); book.MetaData.Comments.Add('Assign the author to the field CreatedBy.'); @@ -82,16 +82,16 @@ begin book := TsWorkbook.Create; try book.ReadFromFile('test.xlsx'); - book.MetaData.ModifiedAt := Now(); - book.MetaData.ModifiedBy := GetUserName; - WriteLn('CreatedBy : ', book.MetaData.CreatedBy); - WriteLn('CreatedAt : ', DateTimeToStr(book.MetaData.CreatedAt)); - WriteLn('ModifiedBy : ', book.MetaData.ModifiedBy); - WriteLn('ModifiedAt : ', DateTimeToStr(book.MetaData.ModifiedAt)); - WriteLn('Title : ', book.MetaData.Title); - WriteLn('Comments : '); + book.MetaData.DateLastModified := Now(); + book.MetaData.LastModifiedBy := GetUserName; + WriteLn('Created by : ', book.MetaData.CreatedBy); + WriteLn('Date created : ', DateTimeToStr(book.MetaData.DateCreated)); + WriteLn('Modified by : ', book.MetaData.LastModifiedBy); + WriteLn('Date last modified : ', DateTimeToStr(book.MetaData.DateLastModified)); + WriteLn('Title : ', book.MetaData.Title); + WriteLn('Keywords : ', book.MetaData.Keywords.CommaText); + WriteLn('Comments: '); WriteLn(book.MetaData.Comments.Text); - WriteLn('Keywords : ', book.MetaData.Keywords.CommaText); finally book.Free; end; diff --git a/components/fpspreadsheet/source/common/fpstypes.pas b/components/fpspreadsheet/source/common/fpstypes.pas index b935a74ce..506998f3a 100644 --- a/components/fpspreadsheet/source/common/fpstypes.pas +++ b/components/fpspreadsheet/source/common/fpstypes.pas @@ -969,9 +969,9 @@ type TsMetaData = class private FCreatedBy: String; - FCreatedAt: TDateTime; - FModifiedBy: String; - FModifiedAt: TDateTime; + FDateCreated: TDateTime; + FDateLastModified: TDateTime; + FLastModifiedBy: String; FTitle: String; FComments: TStrings; FKeywords: TStrings; @@ -980,9 +980,9 @@ type destructor Destroy; function IsEmpty: Boolean; property CreatedBy: String read FCreatedBy write FCreatedBy; - property CreatedAt: TDateTime read FCreatedAt write FCreatedAt; - property ModifiedBy: String read FModifiedBy write FModifiedBy; - property ModifiedAt: TDatetime read FModifiedAt write FModifiedAt; + property LastModifiedBy: String read FLastModifiedBy write FlastModifiedBy; + property DateCreated: TDateTime read FDateCreated write FDateCreated; + property DateLastModified: TDatetime read FDateLastModified write FDateLastModified; property Title: String read FTitle write FTitle; property Comments: TStrings read FComments write FComments; property Keywords: TStrings read FKeywords write FKeywords; @@ -1208,9 +1208,9 @@ end; function TsMetaData.IsEmpty: Boolean; begin - Result := (FCreatedBy = '') and (FModifiedBy = '') and (FTitle = '') and + Result := (FCreatedBy = '') and (FLastModifiedBy = '') and (FTitle = '') and (FComments.Count = 0) and (FKeywords.Count = 0) and - (FCreatedAt = 0) and (FModifiedAt = 0); + (FDateCreated = 0) and (FDateLastModified = 0); end; diff --git a/components/fpspreadsheet/source/common/xlsxooxml.pas b/components/fpspreadsheet/source/common/xlsxooxml.pas index 5dc756800..faf82ea91 100644 --- a/components/fpspreadsheet/source/common/xlsxooxml.pas +++ b/components/fpspreadsheet/source/common/xlsxooxml.pas @@ -2666,7 +2666,7 @@ begin 'dc:creator': book.MetaData.CreatedBy := s; 'cp:lastModifiedBy': - book.MetaData.ModifiedBy := s; + book.MetaData.LastModifiedBy := s; 'dc:description': if s <> '' then begin @@ -2681,10 +2681,10 @@ begin book.MetaData.Keywords.Clear; 'dcterms:created': if s <> '' then - book.MetaData.CreatedAt := ISO8601StrToDateTime(s); + book.MetaData.DateCreated := ISO8601StrToDateTime(s); 'dcterms:modified': if s <> '' then - book.MetaData.ModifiedAt :=ISO8601StrToDateTime(s); + book.MetaData.DateLastModified :=ISO8601StrToDateTime(s); end; ANode := ANode.NextSibling; end; @@ -6143,24 +6143,24 @@ begin '<dc:description>%s</dc:description>', [s])); end; - if book.MetaData.ModifiedBy = '' then + if book.MetaData.LastModifiedBy = '' then s := book.MetaData.CreatedBy else - s := book.MetaData.ModifiedBy; + s := book.MetaData.LastModifiedBy; AppendToStream(AStream, Format( '<cp:lastModifiedBy>%s</cp:lastModifiedBy>', [s])); // to do: check xml entities - if book.MetaData.CreatedAt > 0 then + if book.MetaData.DateCreated > 0 then begin - s := FormatDateTime(ISO8601FormatExtended, book.MetaData.CreatedAt) + 'Z'; + s := FormatDateTime(ISO8601FormatExtended, book.MetaData.DateCreated) + 'Z'; AppendToStream(AStream, Format( '<dcterms:created xsi:type="dcterms:W3CDTF">%s</dcterms:created>', [s])); end; - if book.MetaData.ModifiedAt = 0 then - s := FormatDateTime(ISO8601FormatExtended, book.MetaData.CreatedAt) + 'Z' + if book.MetaData.DateLastModified <= 0 then + s := FormatDateTime(ISO8601FormatExtended, book.MetaData.DateCreated) + 'Z' else - s := FormatDateTime(ISO8601FormatExtended, book.MetaData.ModifiedAt) + 'Z'; + s := FormatDateTime(ISO8601FormatExtended, book.MetaData.DateLastModified) + 'Z'; AppendToStream(AStream, Format( '<dcterms:modified xsi:type="dcterms:W3CDTF">%s</dcterms:modified>', [s]));