From 42e34dc6959db1c672cbfecb14db811f39e599b8 Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Sun, 14 Feb 2016 14:16:28 +0000 Subject: [PATCH] fpspreadsheet: Identify some unknown formula tags in DEFINEDNAME records. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4500 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- .../reference/BIFFExplorer/bebiffgrid.pas | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/components/fpspreadsheet/reference/BIFFExplorer/bebiffgrid.pas b/components/fpspreadsheet/reference/BIFFExplorer/bebiffgrid.pas index 1af42cb66..92d1e5fae 100644 --- a/components/fpspreadsheet/reference/BIFFExplorer/bebiffgrid.pas +++ b/components/fpspreadsheet/reference/BIFFExplorer/bebiffgrid.pas @@ -1722,6 +1722,36 @@ begin token := FBuffer[FBufferIndex]; numBytes := 1; case token of + $10: + begin + numBytes := 1; + ShowInRow(FCurrRow, FBufferIndex, numBytes, Format('$%.2x', [token]), + 'Token tList (List operator)'); + end; + + $29, $39, $49: + begin + case token of + $29: s := 'Token tMemFuncR'; + $39: s := 'Token tMemFuncV'; + $49: s := 'Token tMemFuncV'; + end; + ShowInRow(FCurrRow, FBufferIndex, numbytes, Format('$%.2x', [token]), s); + if FFormat = sfExcel2 then + begin + numbytes := 1; + b := FBuffer[FBufferIndex]; + w := b; + end else + begin + numbytes := 2; + Move(FBuffer[FBufferIndex], w, numbytes); + w := WordLEToN(w); + end; + ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(w), + 'Size of following subexpression (ends after offset ' + IntToStr(FBufferIndex+w-1+numbytes) + ')'); + end; + $3A, $3B, $5A, $5B, $7A, $7B: begin case token of