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:
wp_xxyyzz
2014-09-04 18:55:21 +00:00
parent cbc6beae9a
commit ac149b750d
5 changed files with 24 additions and 69 deletions

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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;

View File

@ -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);