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"/>
<MainUnitHasTitleStatement Value="False"/>
<MainUnitHasScaledStatement Value="False"/>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<Title Value="demo_metadata"/>
<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>

View File

@ -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;

View File

@ -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;

View File

@ -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]));