fpspreadsheet: Better names for some MetaData properties.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7578 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2020-07-28 14:28:33 +00:00
parent bbf4b2b092
commit dd3f0611a0
4 changed files with 44 additions and 43 deletions

View File

@ -8,14 +8,15 @@
<MainUnitHasCreateFormStatements Value="False"/> <MainUnitHasCreateFormStatements Value="False"/>
<MainUnitHasTitleStatement Value="False"/> <MainUnitHasTitleStatement Value="False"/>
<MainUnitHasScaledStatement Value="False"/> <MainUnitHasScaledStatement Value="False"/>
<CompatibilityMode Value="True"/>
</Flags> </Flags>
<SessionStorage Value="InProjectDir"/> <SessionStorage Value="InProjectDir"/>
<Title Value="demo_metadata"/> <Title Value="demo_metadata"/>
<UseAppBundle Value="False"/> <UseAppBundle Value="False"/>
<ResourceType Value="res"/> <ResourceType Value="res"/>
</General> </General>
<BuildModes> <BuildModes Count="1">
<Item Name="Default" Default="True"/> <Item1 Name="Default" Default="True"/>
</BuildModes> </BuildModes>
<PublishOptions> <PublishOptions>
<Version Value="2"/> <Version Value="2"/>
@ -24,16 +25,16 @@
<RunParams> <RunParams>
<FormatVersion Value="2"/> <FormatVersion Value="2"/>
</RunParams> </RunParams>
<RequiredPackages> <RequiredPackages Count="1">
<Item> <Item1>
<PackageName Value="laz_fpspreadsheet"/> <PackageName Value="laz_fpspreadsheet"/>
</Item> </Item1>
</RequiredPackages> </RequiredPackages>
<Units> <Units Count="1">
<Unit> <Unit0>
<Filename Value="demo_metadata.lpr"/> <Filename Value="demo_metadata.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
</Unit> </Unit0>
</Units> </Units>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
@ -53,16 +54,16 @@
</Linking> </Linking>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
<Exceptions> <Exceptions Count="3">
<Item> <Item1>
<Name Value="EAbort"/> <Name Value="EAbort"/>
</Item> </Item1>
<Item> <Item2>
<Name Value="ECodetoolError"/> <Name Value="ECodetoolError"/>
</Item> </Item2>
<Item> <Item3>
<Name Value="EFOpenError"/> <Name Value="EFOpenError"/>
</Item> </Item3>
</Exceptions> </Exceptions>
</Debugging> </Debugging>
</CONFIG> </CONFIG>

View File

@ -62,7 +62,7 @@ begin
book := TsWorkbook.Create; book := TsWorkbook.Create;
try try
book.MetaData.CreatedBy := 'Donald Duck'; 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.Title := 'Test of metadata äöü';
book.MetaData.Comments.Add('This is a test of spreadsheet metadata.'); book.MetaData.Comments.Add('This is a test of spreadsheet metadata.');
book.MetaData.Comments.Add('Assign the author to the field CreatedBy.'); book.MetaData.Comments.Add('Assign the author to the field CreatedBy.');
@ -82,16 +82,16 @@ begin
book := TsWorkbook.Create; book := TsWorkbook.Create;
try try
book.ReadFromFile('test.xlsx'); book.ReadFromFile('test.xlsx');
book.MetaData.ModifiedAt := Now(); book.MetaData.DateLastModified := Now();
book.MetaData.ModifiedBy := GetUserName; book.MetaData.LastModifiedBy := GetUserName;
WriteLn('CreatedBy : ', book.MetaData.CreatedBy); WriteLn('Created by : ', book.MetaData.CreatedBy);
WriteLn('CreatedAt : ', DateTimeToStr(book.MetaData.CreatedAt)); WriteLn('Date created : ', DateTimeToStr(book.MetaData.DateCreated));
WriteLn('ModifiedBy : ', book.MetaData.ModifiedBy); WriteLn('Modified by : ', book.MetaData.LastModifiedBy);
WriteLn('ModifiedAt : ', DateTimeToStr(book.MetaData.ModifiedAt)); WriteLn('Date last modified : ', DateTimeToStr(book.MetaData.DateLastModified));
WriteLn('Title : ', book.MetaData.Title); WriteLn('Title : ', book.MetaData.Title);
WriteLn('Keywords : ', book.MetaData.Keywords.CommaText);
WriteLn('Comments: '); WriteLn('Comments: ');
WriteLn(book.MetaData.Comments.Text); WriteLn(book.MetaData.Comments.Text);
WriteLn('Keywords : ', book.MetaData.Keywords.CommaText);
finally finally
book.Free; book.Free;
end; end;

View File

@ -969,9 +969,9 @@ type
TsMetaData = class TsMetaData = class
private private
FCreatedBy: String; FCreatedBy: String;
FCreatedAt: TDateTime; FDateCreated: TDateTime;
FModifiedBy: String; FDateLastModified: TDateTime;
FModifiedAt: TDateTime; FLastModifiedBy: String;
FTitle: String; FTitle: String;
FComments: TStrings; FComments: TStrings;
FKeywords: TStrings; FKeywords: TStrings;
@ -980,9 +980,9 @@ type
destructor Destroy; destructor Destroy;
function IsEmpty: Boolean; function IsEmpty: Boolean;
property CreatedBy: String read FCreatedBy write FCreatedBy; property CreatedBy: String read FCreatedBy write FCreatedBy;
property CreatedAt: TDateTime read FCreatedAt write FCreatedAt; property LastModifiedBy: String read FLastModifiedBy write FlastModifiedBy;
property ModifiedBy: String read FModifiedBy write FModifiedBy; property DateCreated: TDateTime read FDateCreated write FDateCreated;
property ModifiedAt: TDatetime read FModifiedAt write FModifiedAt; property DateLastModified: TDatetime read FDateLastModified write FDateLastModified;
property Title: String read FTitle write FTitle; property Title: String read FTitle write FTitle;
property Comments: TStrings read FComments write FComments; property Comments: TStrings read FComments write FComments;
property Keywords: TStrings read FKeywords write FKeywords; property Keywords: TStrings read FKeywords write FKeywords;
@ -1208,9 +1208,9 @@ end;
function TsMetaData.IsEmpty: Boolean; function TsMetaData.IsEmpty: Boolean;
begin begin
Result := (FCreatedBy = '') and (FModifiedBy = '') and (FTitle = '') and Result := (FCreatedBy = '') and (FLastModifiedBy = '') and (FTitle = '') and
(FComments.Count = 0) and (FKeywords.Count = 0) and (FComments.Count = 0) and (FKeywords.Count = 0) and
(FCreatedAt = 0) and (FModifiedAt = 0); (FDateCreated = 0) and (FDateLastModified = 0);
end; end;

View File

@ -2666,7 +2666,7 @@ begin
'dc:creator': 'dc:creator':
book.MetaData.CreatedBy := s; book.MetaData.CreatedBy := s;
'cp:lastModifiedBy': 'cp:lastModifiedBy':
book.MetaData.ModifiedBy := s; book.MetaData.LastModifiedBy := s;
'dc:description': 'dc:description':
if s <> '' then if s <> '' then
begin begin
@ -2681,10 +2681,10 @@ begin
book.MetaData.Keywords.Clear; book.MetaData.Keywords.Clear;
'dcterms:created': 'dcterms:created':
if s <> '' then if s <> '' then
book.MetaData.CreatedAt := ISO8601StrToDateTime(s); book.MetaData.DateCreated := ISO8601StrToDateTime(s);
'dcterms:modified': 'dcterms:modified':
if s <> '' then if s <> '' then
book.MetaData.ModifiedAt :=ISO8601StrToDateTime(s); book.MetaData.DateLastModified :=ISO8601StrToDateTime(s);
end; end;
ANode := ANode.NextSibling; ANode := ANode.NextSibling;
end; end;
@ -6143,24 +6143,24 @@ begin
'<dc:description>%s</dc:description>', [s])); '<dc:description>%s</dc:description>', [s]));
end; end;
if book.MetaData.ModifiedBy = '' then if book.MetaData.LastModifiedBy = '' then
s := book.MetaData.CreatedBy s := book.MetaData.CreatedBy
else else
s := book.MetaData.ModifiedBy; s := book.MetaData.LastModifiedBy;
AppendToStream(AStream, Format( AppendToStream(AStream, Format(
'<cp:lastModifiedBy>%s</cp:lastModifiedBy>', [s])); // to do: check xml entities '<cp:lastModifiedBy>%s</cp:lastModifiedBy>', [s])); // to do: check xml entities
if book.MetaData.CreatedAt > 0 then if book.MetaData.DateCreated > 0 then
begin begin
s := FormatDateTime(ISO8601FormatExtended, book.MetaData.CreatedAt) + 'Z'; s := FormatDateTime(ISO8601FormatExtended, book.MetaData.DateCreated) + 'Z';
AppendToStream(AStream, Format( AppendToStream(AStream, Format(
'<dcterms:created xsi:type="dcterms:W3CDTF">%s</dcterms:created>', [s])); '<dcterms:created xsi:type="dcterms:W3CDTF">%s</dcterms:created>', [s]));
end; end;
if book.MetaData.ModifiedAt = 0 then if book.MetaData.DateLastModified <= 0 then
s := FormatDateTime(ISO8601FormatExtended, book.MetaData.CreatedAt) + 'Z' s := FormatDateTime(ISO8601FormatExtended, book.MetaData.DateCreated) + 'Z'
else else
s := FormatDateTime(ISO8601FormatExtended, book.MetaData.ModifiedAt) + 'Z'; s := FormatDateTime(ISO8601FormatExtended, book.MetaData.DateLastModified) + 'Z';
AppendToStream(AStream, Format( AppendToStream(AStream, Format(
'<dcterms:modified xsi:type="dcterms:W3CDTF">%s</dcterms:modified>', [s])); '<dcterms:modified xsi:type="dcterms:W3CDTF">%s</dcterms:modified>', [s]));