fpspreadsheet: Fix incorrect dection of cell ranges when reading biff rpn formulas

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3090 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz
2014-05-24 18:20:30 +00:00
parent 81ca0a4e41
commit 934e210a4f
2 changed files with 44 additions and 49 deletions

View File

@ -150,7 +150,6 @@
<Unit3>
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
<UnitName Value="fpspreadsheetgrid"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="6"/>
<WindowIndex Value="0"/>
<TopLine Value="539"/>
@ -264,10 +263,11 @@
<Unit17>
<Filename Value="..\..\xlsbiff8.pas"/>
<UnitName Value="xlsbiff8"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="1920"/>
<CursorPos X="21" Y="1924"/>
<TopLine Value="847"/>
<CursorPos X="3" Y="859"/>
<UsageCount Value="99"/>
<Loaded Value="True"/>
</Unit17>
@ -291,8 +291,8 @@
<UnitName Value="xlscommon"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="1112"/>
<CursorPos X="1" Y="1142"/>
<TopLine Value="1363"/>
<CursorPos X="3" Y="1366"/>
<UsageCount Value="95"/>
<Loaded Value="True"/>
</Unit20>
@ -599,124 +599,124 @@
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="mainform.pas"/>
<Caret Line="654" Column="3" TopLine="647"/>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="742" Column="12" TopLine="723"/>
</Position1>
<Position2>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="742" Column="12" TopLine="723"/>
<Caret Line="115" Column="1" TopLine="115"/>
</Position2>
<Position3>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="115" Column="1" TopLine="115"/>
<Caret Line="349" Column="12" TopLine="318"/>
</Position3>
<Position4>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="349" Column="12" TopLine="318"/>
<Caret Line="358" Column="25" TopLine="327"/>
</Position4>
<Position5>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="358" Column="25" TopLine="327"/>
<Caret Line="478" Column="34" TopLine="449"/>
</Position5>
<Position6>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="478" Column="34" TopLine="449"/>
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="2524" Column="3" TopLine="2520"/>
</Position6>
<Position7>
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="2524" Column="3" TopLine="2520"/>
<Caret Line="2504" Column="46" TopLine="2498"/>
</Position7>
<Position8>
<Filename Value="..\..\fpspreadsheetgrid.pas"/>
<Caret Line="2504" Column="46" TopLine="2498"/>
<Filename Value="mainform.pas"/>
<Caret Line="654" Column="3" TopLine="647"/>
</Position8>
<Position9>
<Filename Value="mainform.pas"/>
<Caret Line="654" Column="3" TopLine="647"/>
<Caret Line="661" Column="3" TopLine="654"/>
</Position9>
<Position10>
<Filename Value="mainform.pas"/>
<Caret Line="661" Column="3" TopLine="654"/>
<Caret Line="542" Column="56" TopLine="540"/>
</Position10>
<Position11>
<Filename Value="mainform.pas"/>
<Caret Line="542" Column="56" TopLine="540"/>
<Caret Line="728" Column="1" TopLine="704"/>
</Position11>
<Position12>
<Filename Value="mainform.pas"/>
<Caret Line="728" Column="1" TopLine="704"/>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="1316" Column="1" TopLine="1285"/>
</Position12>
<Position13>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="1316" Column="1" TopLine="1285"/>
<Caret Line="394" Column="34" TopLine="394"/>
</Position13>
<Position14>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="394" Column="34" TopLine="394"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position14>
<Position15>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Caret Line="501" Column="18" TopLine="470"/>
</Position15>
<Position16>
<Filename Value="..\..\fpspreadsheet.pas"/>
<Caret Line="501" Column="18" TopLine="470"/>
<Filename Value="..\..\xlscommon.pas"/>
<Caret Line="1430" Column="28" TopLine="1430"/>
</Position16>
<Position17>
<Filename Value="..\..\xlscommon.pas"/>
<Caret Line="1430" Column="28" TopLine="1430"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position17>
<Position18>
<Filename Value="..\..\xlscommon.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Filename Value="mainform.pas"/>
<Caret Line="704" Column="21" TopLine="704"/>
</Position18>
<Position19>
<Filename Value="mainform.pas"/>
<Caret Line="704" Column="21" TopLine="704"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position19>
<Position20>
<Filename Value="mainform.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Caret Line="83" Column="19" TopLine="53"/>
</Position20>
<Position21>
<Filename Value="mainform.pas"/>
<Caret Line="83" Column="19" TopLine="53"/>
<Caret Line="229" Column="29" TopLine="199"/>
</Position21>
<Position22>
<Filename Value="mainform.pas"/>
<Caret Line="229" Column="29" TopLine="199"/>
<Caret Line="540" Column="32" TopLine="509"/>
</Position22>
<Position23>
<Filename Value="mainform.pas"/>
<Caret Line="540" Column="32" TopLine="509"/>
<Caret Line="511" Column="29" TopLine="511"/>
</Position23>
<Position24>
<Filename Value="mainform.pas"/>
<Caret Line="511" Column="29" TopLine="511"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position24>
<Position25>
<Filename Value="mainform.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Caret Line="83" Column="19" TopLine="53"/>
</Position25>
<Position26>
<Filename Value="mainform.pas"/>
<Caret Line="83" Column="19" TopLine="53"/>
<Caret Line="229" Column="29" TopLine="199"/>
</Position26>
<Position27>
<Filename Value="mainform.pas"/>
<Caret Line="229" Column="29" TopLine="199"/>
<Caret Line="540" Column="32" TopLine="509"/>
</Position27>
<Position28>
<Filename Value="mainform.pas"/>
<Caret Line="540" Column="32" TopLine="509"/>
<Filename Value="..\..\xlscommon.pas"/>
<Caret Line="1141" Column="28" TopLine="1111"/>
</Position28>
<Position29>
<Filename Value="..\..\xlscommon.pas"/>
<Caret Line="1141" Column="28" TopLine="1111"/>
<Caret Line="1142" Column="1" TopLine="1106"/>
</Position29>
<Position30>
<Filename Value="..\..\xlscommon.pas"/>
<Caret Line="1142" Column="1" TopLine="1112"/>
<Caret Line="1427" Column="3" TopLine="1408"/>
</Position30>
</JumpHistory>
</ProjectOptions>

View File

@ -1431,17 +1431,12 @@ begin
while (AStream.Position < p0 + n) and supported do begin
token := AStream.ReadByte;
case token of
INT_EXCEL_TOKEN_TREFV:
begin;
ReadRPNCellAddress(AStream, r, c, flags);
rpnItem := RPNCellValue(r, c, flags, rpnItem);
end;
INT_EXCEL_TOKEN_TREFR:
INT_EXCEL_TOKEN_TREFV, INT_EXCEL_TOKEN_TREFR:
begin
ReadRPNCellAddress(AStream, r, c, flags);
rpnItem := RPNCellRef(r, c, flags, rpnItem);
end;
INT_EXCEL_TOKEN_TREFA:
INT_EXCEL_TOKEN_TAREA_R, INT_EXCEL_TOKEN_TAREA_V:
begin
ReadRPNCellRangeAddress(AStream, r, c, r2, c2, flags);
rpnItem := RPNCellRange(r, c, r2, c2, flags, rpnItem);