biffexplorer: Add details for rpn formula attributes

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6030 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2017-10-04 12:25:18 +00:00
parent c25b20a161
commit 8ddf7321f2
2 changed files with 30 additions and 0 deletions

View File

@ -17,6 +17,9 @@
<i18n> <i18n>
<EnableI18N LFM="False"/> <EnableI18N LFM="False"/>
</i18n> </i18n>
<VersionInfo>
<StringTable ProductVersion="0.0.0.0"/>
</VersionInfo>
<BuildModes Count="3"> <BuildModes Count="3">
<Item1 Name="Release" Default="True"/> <Item1 Name="Release" Default="True"/>
<Item2 Name="Debug"> <Item2 Name="Debug">

View File

@ -2739,6 +2739,33 @@ begin
ExtractString(FBufferIndex, 1, (FFormat = sfExcel8), s, numBytes); ExtractString(FBufferIndex, 1, (FFormat = sfExcel8), s, numBytes);
ShowInRow(FCurrRow, FBufferIndex, numBytes, s, 'String value'); ShowInRow(FCurrRow, FBufferIndex, numBytes, s, 'String value');
end; end;
$19: begin
ShowInRow(FCurrRow, FBufferIndex, numBytes, Format('$%.2x', [token]),
'Token tAttr (special attribute)');
token := FBuffer[FBufferIndex];
case token of
$01: s := 'tAttrVolatile (volatile function)';
$02: s := 'tAttrIf (IF function control)';
$04: s := 'tAttrChoose (CHOOSE function control)';
$08: s := 'tAttrSkip (skip part of token array)';
$10: s := 'tAttrSum (SUM function with one parameter)';
$20: s := 'tAttrAssign (assignment-style formula in a macro sheet)';
$40: s := 'tAttrSpace (spaces and carriage returns)';
$41: s := 'tAttrSpaceVolatile';
end;
ShowInRow(FCurrRow, FBufferIndex, numbytes, Format('$%.2x', [token]), s);
if token in [$01, $10, $20] then begin
if FFormat = sfExcel2 then begin
numbytes := 1;
b := FBuffer[FBufferIndex];
ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(b), 'not used');
end else begin
numbytes := 2;
Move(FBuffer[FBufferIndex], w, numbytes);
ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(WordLEToN(w)), 'not used');
end;
end;
end;
$1C: begin $1C: begin
ShowInRow(FCurrRow, FBufferIndex, numBytes, Format('$%.2x', [token]), ShowInRow(FCurrRow, FBufferIndex, numBytes, Format('$%.2x', [token]),
'Token tERR (Error)'); 'Token tERR (Error)');