You've already forked lazarus-ccr
biffexplorer: Show 3D cell addresses.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6397 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<Version Value="10"/>
|
<Version Value="11"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<General>
|
<General>
|
||||||
<SessionStorage Value="InProjectDir"/>
|
<SessionStorage Value="InProjectDir"/>
|
||||||
@ -96,9 +96,10 @@
|
|||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
</PublishOptions>
|
</PublishOptions>
|
||||||
<RunParams>
|
<RunParams>
|
||||||
<local>
|
<FormatVersion Value="2"/>
|
||||||
<FormatVersion Value="1"/>
|
<Modes Count="1">
|
||||||
</local>
|
<Mode0 Name="default"/>
|
||||||
|
</Modes>
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<RequiredPackages Count="5">
|
<RequiredPackages Count="5">
|
||||||
<Item1>
|
<Item1>
|
||||||
|
@ -40,8 +40,9 @@ type
|
|||||||
procedure ShowBottomMargin;
|
procedure ShowBottomMargin;
|
||||||
procedure ShowCalcCount;
|
procedure ShowCalcCount;
|
||||||
procedure ShowCalcMode;
|
procedure ShowCalcMode;
|
||||||
procedure ShowCellAddress;
|
procedure ShowCellAddress(ForceRelativeAddress: Boolean = false);
|
||||||
procedure ShowCellAddressRange(AFormat: TsSpreadsheetFormat);
|
procedure ShowCellAddressRange(AFormat: TsSpreadsheetFormat);
|
||||||
|
procedure ShowCellAddress3D;
|
||||||
procedure ShowClrtClient;
|
procedure ShowClrtClient;
|
||||||
procedure ShowCodePage;
|
procedure ShowCodePage;
|
||||||
procedure ShowColInfo;
|
procedure ShowColInfo;
|
||||||
@ -970,7 +971,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TBIFFGrid.ShowCellAddress;
|
procedure TBIFFGrid.ShowCellAddress(ForceRelativeAddress: Boolean = false);
|
||||||
{ Note: The bitmask assignment to relative column/row is reversed in relation
|
{ Note: The bitmask assignment to relative column/row is reversed in relation
|
||||||
to OpenOffice documentation in order to match with Excel files. }
|
to OpenOffice documentation in order to match with Excel files. }
|
||||||
var
|
var
|
||||||
@ -1034,6 +1035,54 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TBIFFGrid.ShowCellAddress3D;
|
||||||
|
var
|
||||||
|
numBytes: Word;
|
||||||
|
b: Byte;
|
||||||
|
w: Word;
|
||||||
|
i: Int16;
|
||||||
|
r,c: Integer;
|
||||||
|
begin
|
||||||
|
if FFormat = sfExcel5 then begin
|
||||||
|
{ Excel 5 }
|
||||||
|
numBytes := 2;
|
||||||
|
Move(FBuffer[FBufferIndex], i, numBytes);
|
||||||
|
ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(i),
|
||||||
|
'1-based index to EXTERNSHEET record (> 0: external ref, < 0: 3D reference)');
|
||||||
|
|
||||||
|
if i < 0 then begin
|
||||||
|
{ 3D reference }
|
||||||
|
numbytes := 8;
|
||||||
|
ShowInRow(FCurrRow, FBufferIndex, numbytes, '', '(not used)', true);
|
||||||
|
|
||||||
|
numbytes := 2;
|
||||||
|
Move(FBuffer[FBufferIndex], w, numbytes);
|
||||||
|
ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(w),
|
||||||
|
'0-based index to first referenced sheet ($FFFF = deleted sheet)');
|
||||||
|
|
||||||
|
numbytes := 2;
|
||||||
|
Move(FBuffer[FBufferIndex], w, numbytes);
|
||||||
|
ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(w),
|
||||||
|
'0-based index to last referenced sheet ($FFFF = deleted sheet)');
|
||||||
|
end else
|
||||||
|
if i > 0 then begin
|
||||||
|
{ external reference }
|
||||||
|
numbytes := 12;
|
||||||
|
ShowInRow(FCurrRow, FBufferIndex, numbytes, '', '(not used)', true);
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
else
|
||||||
|
{ Excel 8 }
|
||||||
|
if FFormat = sfExcel8 then begin
|
||||||
|
numbytes := 2;
|
||||||
|
Move(FBuffer[FBufferIndex], w, numbytes);
|
||||||
|
ShowInRow(FCurrRow, FBufferIndex, numbytes, IntToStr(w),
|
||||||
|
'0-based index to REF entry in EXTERNSHEET record');
|
||||||
|
end;
|
||||||
|
ShowCellAddress(true);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TBIFFGrid.ShowCellAddressRange(AFormat: TsSpreadsheetFormat);
|
procedure TBIFFGrid.ShowCellAddressRange(AFormat: TsSpreadsheetFormat);
|
||||||
{ Note: The bitmask assignment to relative column/row is reversed in relation
|
{ Note: The bitmask assignment to relative column/row is reversed in relation
|
||||||
to OpenOffice documentation in order to match with Excel files.
|
to OpenOffice documentation in order to match with Excel files.
|
||||||
@ -2988,6 +3037,18 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
$3A, $5A, $7A:
|
||||||
|
begin
|
||||||
|
case token of
|
||||||
|
$3A: s := 'reference';
|
||||||
|
$5A: s := 'value';
|
||||||
|
$7A: s := 'array';
|
||||||
|
end;
|
||||||
|
ShowInRow(FCurrRow, FBufferIndex, numBytes, Format('$%.2x', [token]),
|
||||||
|
Format('Token tREF3D (Cell %s)', [s]));
|
||||||
|
ShowCellAddress3D;
|
||||||
|
end;
|
||||||
|
|
||||||
else
|
else
|
||||||
ShowInRow(FCurrRow, FBufferIndex, numBytes, Format('$%.2x', [token]),
|
ShowInRow(FCurrRow, FBufferIndex, numBytes, Format('$%.2x', [token]),
|
||||||
'(unknown token)');
|
'(unknown token)');
|
||||||
|
Reference in New Issue
Block a user