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