From 169dbe7b4fb19f88ac655d20775f71529a21bd2a Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Thu, 22 May 2014 09:38:28 +0000 Subject: [PATCH] fpspreadsheet: Fix biff2 writing incorrect xf record index if > 63. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3076 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/fpspreadsheet/examples/excel2demo/excel2write.lpr | 4 ++-- components/fpspreadsheet/xlsbiff2.pas | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/fpspreadsheet/examples/excel2demo/excel2write.lpr b/components/fpspreadsheet/examples/excel2demo/excel2write.lpr index d53cfcea6..d23f4a5b9 100644 --- a/components/fpspreadsheet/examples/excel2demo/excel2write.lpr +++ b/components/fpspreadsheet/examples/excel2demo/excel2write.lpr @@ -43,7 +43,7 @@ begin MyWorksheet.LeftPaneWidth := 1; MyWorksheet.TopPaneHeight := 3; } - (* + // Write some number cells MyWorksheet.WriteNumber(0, 0, 1.0); MyWorksheet.WriteUsedFormatting(0, 0, [uffBold, uffNumberFormat]); @@ -82,7 +82,7 @@ begin MyWorksheet.WriteUTF8Text(1, 1, 'Second'); MyWorksheet.WriteUTF8Text(1, 2, 'Third'); MyWorksheet.WriteUTF8Text(1, 3, 'Fourth'); - *) + // Write current date/time MyWorksheet.WriteDateTime(2, 0, now); diff --git a/components/fpspreadsheet/xlsbiff2.pas b/components/fpspreadsheet/xlsbiff2.pas index 06ea3d4d4..c2e12d82e 100755 --- a/components/fpspreadsheet/xlsbiff2.pas +++ b/components/fpspreadsheet/xlsbiff2.pas @@ -876,7 +876,7 @@ begin // Mask $3F: Index to XF record // Mask $40: 1 = Cell is locked // Mask $80: 1 = Formula is hidden - AStream.WriteByte(XFIndex and $3F); + AStream.WriteByte(Min(XFIndex, $3F) and $3F); // 2nd byte: // Mask $3F: Index to FORMAT record