You've already forked lazarus-ccr
fpspreadsheet: Some cleanup of unused variables.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3526 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -186,8 +186,6 @@ type
|
|||||||
|
|
||||||
{ TsOrderingExprNode }
|
{ TsOrderingExprNode }
|
||||||
TsOrderingExprNode = class(TsBooleanResultExprNode)
|
TsOrderingExprNode = class(TsBooleanResultExprNode)
|
||||||
protected
|
|
||||||
procedure CheckSameNodeTypes; override;
|
|
||||||
public
|
public
|
||||||
procedure Check; override;
|
procedure Check; override;
|
||||||
end;
|
end;
|
||||||
@ -300,10 +298,9 @@ type
|
|||||||
TsUnaryOperationExprNode = class(TsExprNode)
|
TsUnaryOperationExprNode = class(TsExprNode)
|
||||||
private
|
private
|
||||||
FOperand: TsExprNode;
|
FOperand: TsExprNode;
|
||||||
protected
|
|
||||||
procedure Check; override;
|
|
||||||
public
|
public
|
||||||
constructor Create(AParser: TsExpressionParser; AOperand: TsExprNode);
|
constructor Create(AParser: TsExpressionParser; AOperand: TsExprNode);
|
||||||
|
procedure Check; override;
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
property Operand: TsExprNode read FOperand;
|
property Operand: TsExprNode read FOperand;
|
||||||
end;
|
end;
|
||||||
@ -317,11 +314,11 @@ type
|
|||||||
{ TsNotExprNode }
|
{ TsNotExprNode }
|
||||||
TsNotExprNode = class(TsUnaryOperationExprNode)
|
TsNotExprNode = class(TsUnaryOperationExprNode)
|
||||||
protected
|
protected
|
||||||
procedure Check; override;
|
|
||||||
procedure GetNodeValue(var Result: TsExpressionResult); override;
|
procedure GetNodeValue(var Result: TsExpressionResult); override;
|
||||||
public
|
public
|
||||||
function AsRPNItem(ANext: PRPNItem): PRPNItem; override;
|
function AsRPNItem(ANext: PRPNItem): PRPNItem; override;
|
||||||
function AsString: String; override;
|
function AsString: String; override;
|
||||||
|
procedure Check; override;
|
||||||
function NodeType: TsResultType; override;
|
function NodeType: TsResultType; override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -350,9 +347,9 @@ type
|
|||||||
{ TsFloatToDateTimeExprNode }
|
{ TsFloatToDateTimeExprNode }
|
||||||
TsFloatToDateTimeExprNode = class(TsConvertExprNode)
|
TsFloatToDateTimeExprNode = class(TsConvertExprNode)
|
||||||
protected
|
protected
|
||||||
procedure Check; override;
|
|
||||||
procedure GetNodeValue(var Result: TsExpressionResult); override;
|
procedure GetNodeValue(var Result: TsExpressionResult); override;
|
||||||
public
|
public
|
||||||
|
procedure Check; override;
|
||||||
function NodeType: TsResultType; override;
|
function NodeType: TsResultType; override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -404,9 +401,9 @@ type
|
|||||||
private
|
private
|
||||||
FValue: TsExpressionResult;
|
FValue: TsExpressionResult;
|
||||||
protected
|
protected
|
||||||
procedure Check; override;
|
|
||||||
procedure GetNodeValue(var Result: TsExpressionResult); override;
|
procedure GetNodeValue(var Result: TsExpressionResult); override;
|
||||||
public
|
public
|
||||||
|
procedure Check; override;
|
||||||
constructor CreateString(AParser: TsExpressionParser; AValue: String);
|
constructor CreateString(AParser: TsExpressionParser; AValue: String);
|
||||||
constructor CreateInteger(AParser: TsExpressionParser; AValue: Int64);
|
constructor CreateInteger(AParser: TsExpressionParser; AValue: Int64);
|
||||||
constructor CreateDateTime(AParser: TsExpressionParser; AValue: TDateTime);
|
constructor CreateDateTime(AParser: TsExpressionParser; AValue: TDateTime);
|
||||||
@ -549,6 +546,7 @@ type
|
|||||||
|
|
||||||
{ TsVariableExprNode }
|
{ TsVariableExprNode }
|
||||||
TsVariableExprNode = class(TsIdentifierExprNode)
|
TsVariableExprNode = class(TsIdentifierExprNode)
|
||||||
|
public
|
||||||
procedure Check; override;
|
procedure Check; override;
|
||||||
function AsString: string; override;
|
function AsString: string; override;
|
||||||
Function AsRPNItem(ANext: PRPNItem): PRPNItem; override;
|
Function AsRPNItem(ANext: PRPNItem): PRPNItem; override;
|
||||||
@ -605,7 +603,6 @@ type
|
|||||||
FCell: PCell;
|
FCell: PCell;
|
||||||
FIsRef: Boolean;
|
FIsRef: Boolean;
|
||||||
protected
|
protected
|
||||||
procedure Check; override;
|
|
||||||
function GetCol: Cardinal;
|
function GetCol: Cardinal;
|
||||||
function GetRow: Cardinal;
|
function GetRow: Cardinal;
|
||||||
procedure GetNodeValue(var Result: TsExpressionResult); override;
|
procedure GetNodeValue(var Result: TsExpressionResult); override;
|
||||||
@ -616,6 +613,7 @@ type
|
|||||||
ARow, ACol: Cardinal; AFlags: TsRelFlags); overload;
|
ARow, ACol: Cardinal; AFlags: TsRelFlags); overload;
|
||||||
function AsRPNItem(ANext: PRPNItem): PRPNItem; override;
|
function AsRPNItem(ANext: PRPNItem): PRPNItem; override;
|
||||||
function AsString: string; override;
|
function AsString: string; override;
|
||||||
|
procedure Check; override;
|
||||||
function NodeType: TsResultType; override;
|
function NodeType: TsResultType; override;
|
||||||
property Worksheet: TsWorksheet read FWorksheet;
|
property Worksheet: TsWorksheet read FWorksheet;
|
||||||
end;
|
end;
|
||||||
@ -628,7 +626,6 @@ type
|
|||||||
FCol1, FCol2: Cardinal;
|
FCol1, FCol2: Cardinal;
|
||||||
FFlags: TsRelFlags;
|
FFlags: TsRelFlags;
|
||||||
protected
|
protected
|
||||||
procedure Check; override;
|
|
||||||
procedure GetNodeValue(var Result: TsExpressionResult); override;
|
procedure GetNodeValue(var Result: TsExpressionResult); override;
|
||||||
public
|
public
|
||||||
constructor Create(AParser: TsExpressionParser; AWorksheet: TsWorksheet;
|
constructor Create(AParser: TsExpressionParser; AWorksheet: TsWorksheet;
|
||||||
@ -637,6 +634,7 @@ type
|
|||||||
ARow1,ACol1, ARow2,ACol2: Cardinal; AFlags: TsRelFlags); overload;
|
ARow1,ACol1, ARow2,ACol2: Cardinal; AFlags: TsRelFlags); overload;
|
||||||
function AsRPNItem(ANext: PRPNItem): PRPNItem; override;
|
function AsRPNItem(ANext: PRPNItem): PRPNItem; override;
|
||||||
function AsString: String; override;
|
function AsString: String; override;
|
||||||
|
procedure Check; override;
|
||||||
function NodeType: TsResultType; override;
|
function NodeType: TsResultType; override;
|
||||||
property Worksheet: TsWorksheet read FWorksheet;
|
property Worksheet: TsWorksheet read FWorksheet;
|
||||||
end;
|
end;
|
||||||
@ -859,7 +857,6 @@ resourcestring
|
|||||||
SErrUnknownCharacter = 'Unknown character at pos %d: "%s"';
|
SErrUnknownCharacter = 'Unknown character at pos %d: "%s"';
|
||||||
SErrUnexpectedEndOfExpression = 'Unexpected end of expression';
|
SErrUnexpectedEndOfExpression = 'Unexpected end of expression';
|
||||||
SErrUnknownComparison = 'Internal error: Unknown comparison';
|
SErrUnknownComparison = 'Internal error: Unknown comparison';
|
||||||
SErrUnknownBooleanOp = 'Internal error: Unknown boolean operation';
|
|
||||||
SErrBracketExpected = 'Expected ) bracket at position %d, but got %s';
|
SErrBracketExpected = 'Expected ) bracket at position %d, but got %s';
|
||||||
SerrUnknownTokenAtPos = 'Unknown token at pos %d : %s';
|
SerrUnknownTokenAtPos = 'Unknown token at pos %d : %s';
|
||||||
SErrLeftBracketExpected = 'Expected ( bracket at position %d, but got %s';
|
SErrLeftBracketExpected = 'Expected ( bracket at position %d, but got %s';
|
||||||
@ -880,7 +877,6 @@ resourcestring
|
|||||||
SErrNoNOTOperation = 'Cannot perform NOT operation on expression of type %s: %s';
|
SErrNoNOTOperation = 'Cannot perform NOT operation on expression of type %s: %s';
|
||||||
SErrNoPercentOperation = 'Cannot perform percent operation on expression of type %s: %s';
|
SErrNoPercentOperation = 'Cannot perform percent operation on expression of type %s: %s';
|
||||||
SErrTypesDoNotMatch = 'Type mismatch: %s<>%s for expressions "%s" and "%s".';
|
SErrTypesDoNotMatch = 'Type mismatch: %s<>%s for expressions "%s" and "%s".';
|
||||||
SErrTypesIncompatible = 'Incompatible types: %s<>%s for expressions "%s" and "%s".';
|
|
||||||
SErrNoNodeToCheck = 'Internal error: No node to check !';
|
SErrNoNodeToCheck = 'Internal error: No node to check !';
|
||||||
SInvalidNodeType = 'Node type (%s) not in allowed types (%s) for expression: %s';
|
SInvalidNodeType = 'Node type (%s) not in allowed types (%s) for expression: %s';
|
||||||
SErrUnterminatedExpression = 'Badly terminated expression. Found token at position %d : %s';
|
SErrUnterminatedExpression = 'Badly terminated expression. Found token at position %d : %s';
|
||||||
@ -890,7 +886,6 @@ resourcestring
|
|||||||
SErrInvalidArgumentType = 'Invalid type for argument %d: Expected %s, got %s';
|
SErrInvalidArgumentType = 'Invalid type for argument %d: Expected %s, got %s';
|
||||||
SErrInvalidResultType = 'Invalid result type: %s';
|
SErrInvalidResultType = 'Invalid result type: %s';
|
||||||
SErrNotVariable = 'Identifier %s is not a variable';
|
SErrNotVariable = 'Identifier %s is not a variable';
|
||||||
SErrInactive = 'Operation not allowed while an expression is active';
|
|
||||||
SErrCircularReference = 'Circular reference found when calculating worksheet formulas';
|
SErrCircularReference = 'Circular reference found when calculating worksheet formulas';
|
||||||
|
|
||||||
{ ---------------------------------------------------------------------
|
{ ---------------------------------------------------------------------
|
||||||
@ -1409,9 +1404,11 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function TsExpressionParser.Level1: TsExprNode;
|
function TsExpressionParser.Level1: TsExprNode;
|
||||||
|
{
|
||||||
var
|
var
|
||||||
tt: TsTokenType;
|
tt: TsTokenType;
|
||||||
Right: TsExprNode;
|
Right: TsExprNode;
|
||||||
|
}
|
||||||
begin
|
begin
|
||||||
{$ifdef debugexpr}Writeln('Level 1 ',TokenName(TokenType),': ',CurrentToken);{$endif debugexpr}
|
{$ifdef debugexpr}Writeln('Level 1 ',TokenName(TokenType),': ',CurrentToken);{$endif debugexpr}
|
||||||
{
|
{
|
||||||
@ -1425,21 +1422,6 @@ begin
|
|||||||
else
|
else
|
||||||
}
|
}
|
||||||
Result := Level2;
|
Result := Level2;
|
||||||
{
|
|
||||||
try
|
|
||||||
if TokenType = ttPower then
|
|
||||||
begin
|
|
||||||
tt := Tokentype;
|
|
||||||
GetToken;
|
|
||||||
CheckEOF;
|
|
||||||
Right := Level2;
|
|
||||||
Result := TsPowerExprNode.Create(Result, Right);
|
|
||||||
end;
|
|
||||||
except
|
|
||||||
Result.Free;
|
|
||||||
raise;
|
|
||||||
end;
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
||||||
@ -1572,7 +1554,6 @@ end;
|
|||||||
|
|
||||||
function TsExpressionParser.Level6: TsExprNode;
|
function TsExpressionParser.Level6: TsExprNode;
|
||||||
var
|
var
|
||||||
tt: TsTokenType;
|
|
||||||
Right: TsExprNode;
|
Right: TsExprNode;
|
||||||
currToken: String;
|
currToken: String;
|
||||||
begin
|
begin
|
||||||
@ -1600,7 +1581,6 @@ begin
|
|||||||
begin
|
begin
|
||||||
try
|
try
|
||||||
CheckEOF;
|
CheckEOF;
|
||||||
tt := Tokentype;
|
|
||||||
GetToken;
|
GetToken;
|
||||||
Right := Primitive;
|
Right := Primitive;
|
||||||
CheckNodes(Result, right);
|
CheckNodes(Result, right);
|
||||||
@ -1651,7 +1631,6 @@ var
|
|||||||
ID: TsExprIdentifierDef;
|
ID: TsExprIdentifierDef;
|
||||||
Args: TsExprArgumentArray;
|
Args: TsExprArgumentArray;
|
||||||
AI: Integer;
|
AI: Integer;
|
||||||
cell: PCell;
|
|
||||||
optional: Boolean;
|
optional: Boolean;
|
||||||
token: String;
|
token: String;
|
||||||
begin
|
begin
|
||||||
@ -1836,10 +1815,9 @@ procedure TsExpressionParser.SetRPNFormula(const AFormula: TsRPNFormula);
|
|||||||
|
|
||||||
procedure CreateNodeFromRPN(var ANode: TsExprNode; var AIndex: Integer);
|
procedure CreateNodeFromRPN(var ANode: TsExprNode; var AIndex: Integer);
|
||||||
var
|
var
|
||||||
node: TsExprNode;
|
left: TsExprNode = nil;
|
||||||
left: TsExprNode;
|
right: TsExprNode = nil;
|
||||||
right: TsExprNode;
|
operand: TsExprNode = nil;
|
||||||
operand: TsExprNode;
|
|
||||||
fek: TFEKind;
|
fek: TFEKind;
|
||||||
r,c, r2,c2: Cardinal;
|
r,c, r2,c2: Cardinal;
|
||||||
flags: TsRelFlags;
|
flags: TsRelFlags;
|
||||||
@ -1971,7 +1949,6 @@ procedure TsExpressionParser.SetRPNFormula(const AFormula: TsRPNFormula);
|
|||||||
|
|
||||||
var
|
var
|
||||||
index: Integer;
|
index: Integer;
|
||||||
node: TsExprNode;
|
|
||||||
begin
|
begin
|
||||||
FExpression := '';
|
FExpression := '';
|
||||||
FreeAndNil(FExprNode);
|
FreeAndNil(FExprNode);
|
||||||
@ -2172,6 +2149,7 @@ end;
|
|||||||
|
|
||||||
procedure TsExprIdentifierDefs.Update(Item: TCollectionItem);
|
procedure TsExprIdentifierDefs.Update(Item: TCollectionItem);
|
||||||
begin
|
begin
|
||||||
|
Unused(Item);
|
||||||
if Assigned(FParser) then
|
if Assigned(FParser) then
|
||||||
FParser.FDirty := true;
|
FParser.FDirty := true;
|
||||||
end;
|
end;
|
||||||
@ -2732,7 +2710,6 @@ end;
|
|||||||
|
|
||||||
procedure TsUPlusExprNode.GetNodeValue(var Result: TsExpressionResult);
|
procedure TsUPlusExprNode.GetNodeValue(var Result: TsExpressionResult);
|
||||||
var
|
var
|
||||||
res: TsExpressionresult;
|
|
||||||
cell: PCell;
|
cell: PCell;
|
||||||
begin
|
begin
|
||||||
Operand.GetNodeValue(Result);
|
Operand.GetNodeValue(Result);
|
||||||
@ -3040,22 +3017,6 @@ begin
|
|||||||
inherited Check;
|
inherited Check;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TsOrderingExprNode.CheckSameNodeTypes;
|
|
||||||
var
|
|
||||||
LT, RT: TsResultType;
|
|
||||||
begin
|
|
||||||
{
|
|
||||||
LT := Left.NodeType;
|
|
||||||
RT := Right.NodeType;
|
|
||||||
case LT of
|
|
||||||
rtFloat, rtInteger:
|
|
||||||
if (RT in [rtFloat, rtInteger]) or
|
|
||||||
((Rt = rtCell) and (Right.Res
|
|
||||||
if (RT <> LT) then
|
|
||||||
RaiseParserError(SErrTypesDoNotMatch, [ResultTypeName(LT), ResultTypeName(RT), Left.AsString, Right.AsString])
|
|
||||||
}
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{ TsLessExprNode }
|
{ TsLessExprNode }
|
||||||
@ -3205,7 +3166,7 @@ begin
|
|||||||
Result := RPNFunc(fekConcat,
|
Result := RPNFunc(fekConcat,
|
||||||
Right.AsRPNItem(
|
Right.AsRPNItem(
|
||||||
Left.AsRPNItem(
|
Left.AsRPNItem(
|
||||||
nil)));
|
ANext)));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TsConcatExprNode.AsString: string;
|
function TsConcatExprNode.AsString: string;
|
||||||
@ -3468,7 +3429,6 @@ end;
|
|||||||
procedure TsPowerExprNode.GetNodeValue(var Result: TsExpressionResult);
|
procedure TsPowerExprNode.GetNodeValue(var Result: TsExpressionResult);
|
||||||
var
|
var
|
||||||
RRes: TsExpressionResult;
|
RRes: TsExpressionResult;
|
||||||
ex: TsExprFloat;
|
|
||||||
begin
|
begin
|
||||||
Left.GetNodeValue(Result);
|
Left.GetNodeValue(Result);
|
||||||
if Result.ResultType = rtError then
|
if Result.ResultType = rtError then
|
||||||
@ -3599,6 +3559,7 @@ end;
|
|||||||
|
|
||||||
function TsVariableExprNode.AsRPNItem(ANext: PRPNItem): PRPNItem;
|
function TsVariableExprNode.AsRPNItem(ANext: PRPNItem): PRPNItem;
|
||||||
begin
|
begin
|
||||||
|
Result := ANext; // Just a dummy assignment to silence the compiler...
|
||||||
RaiseParserError('Cannot handle variables for RPN, so far.');
|
RaiseParserError('Cannot handle variables for RPN, so far.');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -4060,7 +4021,7 @@ begin
|
|||||||
rtBoolean : if Arg.ResBoolean then Result := 1.0;
|
rtBoolean : if Arg.ResBoolean then Result := 1.0;
|
||||||
rtString : begin
|
rtString : begin
|
||||||
fs := Arg.Worksheet.Workbook.FormatSettings;
|
fs := Arg.Worksheet.Workbook.FormatSettings;
|
||||||
if not TryStrToDateTime(Arg.ResString, Result) then
|
if not TryStrToDateTime(Arg.ResString, Result, fs) then
|
||||||
Result := 1.0;
|
Result := 1.0;
|
||||||
end;
|
end;
|
||||||
rtCell : begin
|
rtCell : begin
|
||||||
|
@ -503,6 +503,7 @@ procedure fpsNOW(var Result: TsExpressionResult; const Args: TsExprParameterArra
|
|||||||
// whenever the worksheet recalculates.
|
// whenever the worksheet recalculates.
|
||||||
// NOW()
|
// NOW()
|
||||||
begin
|
begin
|
||||||
|
Unused(Args);
|
||||||
Result := DateTimeResult(Now);
|
Result := DateTimeResult(Now);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -553,6 +554,7 @@ procedure fpsTODAY(var Result: TsExpressionResult; const Args: TsExprParameterAr
|
|||||||
// whenever the worksheet recalculates.
|
// whenever the worksheet recalculates.
|
||||||
// TODAY()
|
// TODAY()
|
||||||
begin
|
begin
|
||||||
|
Unused(Args);
|
||||||
Result := DateTimeResult(Date);
|
Result := DateTimeResult(Date);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1251,7 +1253,6 @@ var
|
|||||||
stype: String;
|
stype: String;
|
||||||
r1,r2, c1,c2: Cardinal;
|
r1,r2, c1,c2: Cardinal;
|
||||||
cell: PCell;
|
cell: PCell;
|
||||||
res: TsExpressionResult;
|
|
||||||
begin
|
begin
|
||||||
if Length(Args)=1 then
|
if Length(Args)=1 then
|
||||||
begin
|
begin
|
||||||
|
@ -1209,7 +1209,7 @@ implementation
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Math, StrUtils, TypInfo,
|
Math, StrUtils, TypInfo,
|
||||||
fpsStreams, fpsUtils, fpsNumFormatParser, fpsExprParser, fpsFunc;
|
fpsStreams, fpsUtils, fpsNumFormatParser, fpsExprParser;
|
||||||
|
|
||||||
{ Translatable strings }
|
{ Translatable strings }
|
||||||
resourcestring
|
resourcestring
|
||||||
@ -1820,7 +1820,7 @@ begin
|
|||||||
parser.ActiveCell := ACell;
|
parser.ActiveCell := ACell;
|
||||||
end;
|
end;
|
||||||
parser.Expression := formula;
|
parser.Expression := formula;
|
||||||
parser.EvaluateExpression(res);
|
res := parser.Evaluate;
|
||||||
case res.ResultType of
|
case res.ResultType of
|
||||||
rtEmpty : WriteBlank(ACell);
|
rtEmpty : WriteBlank(ACell);
|
||||||
rtError : WriteErrorValue(ACell, res.ResError);
|
rtError : WriteErrorValue(ACell, res.ResError);
|
||||||
|
@ -1461,7 +1461,7 @@ begin
|
|||||||
// 2 bytes for offset to last row
|
// 2 bytes for offset to last row
|
||||||
r2 := WordLEToN(AStream.ReadWord);
|
r2 := WordLEToN(AStream.ReadWord);
|
||||||
dr2 := SmallInt(r2 and $3FFF);
|
dr2 := SmallInt(r2 and $3FFF);
|
||||||
ARow1Offset := dr2;
|
ARow2Offset := dr2;
|
||||||
|
|
||||||
// 1 byte for offset to first column
|
// 1 byte for offset to first column
|
||||||
dc1 := ShortInt(AStream.ReadByte);
|
dc1 := ShortInt(AStream.ReadByte);
|
||||||
@ -1664,9 +1664,6 @@ end;
|
|||||||
procedure TsSpreadBIFFReader.ReadSharedFormula(AStream: TStream);
|
procedure TsSpreadBIFFReader.ReadSharedFormula(AStream: TStream);
|
||||||
var
|
var
|
||||||
r1, r2, c1, c2: Cardinal;
|
r1, r2, c1, c2: Cardinal;
|
||||||
flags: TsRelFlags;
|
|
||||||
b: Byte;
|
|
||||||
ok: Boolean;
|
|
||||||
cell: PCell;
|
cell: PCell;
|
||||||
begin
|
begin
|
||||||
// Cell range in which the formula is valid
|
// Cell range in which the formula is valid
|
||||||
@ -1689,7 +1686,7 @@ begin
|
|||||||
AStream.ReadByte;
|
AStream.ReadByte;
|
||||||
|
|
||||||
// RPN formula tokens
|
// RPN formula tokens
|
||||||
ok := ReadRPNTokenArray(AStream, cell);
|
ReadRPNTokenArray(AStream, cell);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ Helper function for reading a string with 8-bit length. Here, we implement the
|
{ Helper function for reading a string with 8-bit length. Here, we implement the
|
||||||
@ -2488,7 +2485,6 @@ var
|
|||||||
TokenArraySizePos: Int64;
|
TokenArraySizePos: Int64;
|
||||||
FinalPos: Int64;
|
FinalPos: Int64;
|
||||||
exprDef: TsExprIdentifierDef;
|
exprDef: TsExprIdentifierDef;
|
||||||
excelCode: Word;
|
|
||||||
primaryExcelCode, secondaryExcelCode: Word;
|
primaryExcelCode, secondaryExcelCode: Word;
|
||||||
begin
|
begin
|
||||||
RPNLength := 0;
|
RPNLength := 0;
|
||||||
@ -2815,8 +2811,9 @@ var
|
|||||||
recordSizePos: Int64;
|
recordSizePos: Int64;
|
||||||
startPos, finalPos: Int64;
|
startPos, finalPos: Int64;
|
||||||
formula: TsRPNFormula;
|
formula: TsRPNFormula;
|
||||||
i: Integer;
|
|
||||||
begin
|
begin
|
||||||
|
RPNLength := 0;
|
||||||
|
|
||||||
// Determine cell range covered by the shared formula in ACell.
|
// Determine cell range covered by the shared formula in ACell.
|
||||||
// Find range of cells using this shared formula
|
// Find range of cells using this shared formula
|
||||||
r1 := ACell^.Row; r2 := r1;
|
r1 := ACell^.Row; r2 := r1;
|
||||||
|
@ -615,9 +615,6 @@ var
|
|||||||
formulaStr: String;
|
formulaStr: String;
|
||||||
sstIndex: Integer;
|
sstIndex: Integer;
|
||||||
number: Double;
|
number: Double;
|
||||||
ref: String;
|
|
||||||
r1,r2, c1,c2: Cardinal;
|
|
||||||
sharedFormulaBase: PCell;
|
|
||||||
begin
|
begin
|
||||||
if ANode = nil then
|
if ANode = nil then
|
||||||
exit;
|
exit;
|
||||||
@ -2531,7 +2528,6 @@ var
|
|||||||
r, r1, r2: Cardinal;
|
r, r1, r2: Cardinal;
|
||||||
c, c1, c2: Cardinal;
|
c, c1, c2: Cardinal;
|
||||||
cell: PCell;
|
cell: PCell;
|
||||||
id: Cardinal;
|
|
||||||
t, v: String;
|
t, v: String;
|
||||||
begin
|
begin
|
||||||
cellPosText := TsWorksheet.CellPosToText(ARow, ACol);
|
cellPosText := TsWorksheet.CellPosToText(ARow, ACol);
|
||||||
|
Reference in New Issue
Block a user