You've already forked lazarus-ccr
fpspreadsheet: Some clean-up: Less hints and warnings.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7555 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -192,8 +192,8 @@ procedure TsCSVReader.ReadFromStream(AStream: TStream; APassword: String = '';
|
|||||||
AParams: TsStreamParams = []);
|
AParams: TsStreamParams = []);
|
||||||
var
|
var
|
||||||
Parser: TCSVParser;
|
Parser: TCSVParser;
|
||||||
s: String;
|
|
||||||
encoding: String;
|
encoding: String;
|
||||||
|
s: String = '';
|
||||||
begin
|
begin
|
||||||
Unused(AParams, APassword);
|
Unused(AParams, APassword);
|
||||||
|
|
||||||
|
@ -1873,7 +1873,7 @@ var
|
|||||||
X: TsExprFloat;
|
X: TsExprFloat;
|
||||||
lCount: Integer;
|
lCount: Integer;
|
||||||
ID: TsExprIdentifierDef;
|
ID: TsExprIdentifierDef;
|
||||||
Args: TsExprArgumentArray;
|
Args: TsExprArgumentArray = nil;
|
||||||
AI: Integer;
|
AI: Integer;
|
||||||
optional: Boolean;
|
optional: Boolean;
|
||||||
token: String;
|
token: String;
|
||||||
@ -2185,7 +2185,7 @@ procedure TsExpressionParser.SetRPNFormula(const AFormula: TsRPNFormula);
|
|||||||
flags: TsRelFlags;
|
flags: TsRelFlags;
|
||||||
ID: TsExprIdentifierDef;
|
ID: TsExprIdentifierDef;
|
||||||
i, n: Integer;
|
i, n: Integer;
|
||||||
args: TsExprArgumentArray;
|
args: TsExprArgumentArray = nil;
|
||||||
sn, sn2: string;
|
sn, sn2: string;
|
||||||
rng: TsCellRange;
|
rng: TsCellRange;
|
||||||
begin
|
begin
|
||||||
@ -4742,7 +4742,7 @@ var
|
|||||||
idx, idx1, idx2: Integer;
|
idx, idx1, idx2: Integer;
|
||||||
begin
|
begin
|
||||||
AError := errOK;
|
AError := errOK;
|
||||||
SetLength(AData, BLOCKSIZE);
|
SetLength(AData{%H-}, BLOCKSIZE);
|
||||||
n := 0;
|
n := 0;
|
||||||
for i:=Low(Args) to High(Args) do
|
for i:=Low(Args) to High(Args) do
|
||||||
begin
|
begin
|
||||||
|
@ -951,6 +951,7 @@ var
|
|||||||
len: Integer;
|
len: Integer;
|
||||||
nrtp: Integer;
|
nrtp: Integer;
|
||||||
begin
|
begin
|
||||||
|
ARichTextParams := nil;
|
||||||
analyzer := TsHTMLAnalyzer.Create(AWorkbook as TsWorkbook, AFont, AHTMLText + '<end>');
|
analyzer := TsHTMLAnalyzer.Create(AWorkbook as TsWorkbook, AFont, AHTMLText + '<end>');
|
||||||
try
|
try
|
||||||
analyzer.PreserveSpaces := true;
|
analyzer.PreserveSpaces := true;
|
||||||
@ -967,8 +968,7 @@ begin
|
|||||||
SetLength(ARichTextParams, nrtp);
|
SetLength(ARichTextParams, nrtp);
|
||||||
for j:=0 to nrtp-1 do
|
for j:=0 to nrtp-1 do
|
||||||
ARichTextParams[j] := analyzer.RichTextParams[j];
|
ARichTextParams[j] := analyzer.RichTextParams[j];
|
||||||
end else
|
end;
|
||||||
SetLength(ARichTextParams, 0);
|
|
||||||
finally
|
finally
|
||||||
analyzer.Free;
|
analyzer.Free;
|
||||||
end;
|
end;
|
||||||
@ -1162,7 +1162,7 @@ procedure TsHTMLComposer.GetFontsFromWorkbook(out AFonts: TsFontArray);
|
|||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
SetLength(AFonts, Length(FRichTextParams));
|
SetLength(AFonts{%H-}, Length(FRichTextParams));
|
||||||
for i:=0 to High(AFonts) do
|
for i:=0 to High(AFonts) do
|
||||||
AFonts[i] := FWorkbook.GetFont(FRichTextParams[i].FontIndex);
|
AFonts[i] := FWorkbook.GetFont(FRichTextParams[i].FontIndex);
|
||||||
end;
|
end;
|
||||||
|
@ -2573,7 +2573,7 @@ end;
|
|||||||
function TsNumFormatList.AddFormat(AFormatStr: String): Integer;
|
function TsNumFormatList.AddFormat(AFormatStr: String): Integer;
|
||||||
var
|
var
|
||||||
parser: TsNumFormatParser;
|
parser: TsNumFormatParser;
|
||||||
newSections: TsNumFormatSections;
|
newSections: TsNumFormatSections = nil;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
parser := TsNumFormatParser.Create(AFormatStr, FFormatSettings);
|
parser := TsNumFormatParser.Create(AFormatStr, FFormatSettings);
|
||||||
|
@ -2172,7 +2172,6 @@ end;
|
|||||||
procedure TsSpreadOpenDocReader.ReadConditionalFormats(ANode: TDOMNode;
|
procedure TsSpreadOpenDocReader.ReadConditionalFormats(ANode: TDOMNode;
|
||||||
AWorksheet: TsBasicWorksheet);
|
AWorksheet: TsBasicWorksheet);
|
||||||
var
|
var
|
||||||
sheet: TsWorksheet;
|
|
||||||
childNode: TDOMNode;
|
childNode: TDOMNode;
|
||||||
nodeName: String;
|
nodeName: String;
|
||||||
s: String;
|
s: String;
|
||||||
@ -2184,7 +2183,6 @@ begin
|
|||||||
if ANode = nil then
|
if ANode = nil then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
sheet := TsWorksheet(AWorksheet);
|
|
||||||
ANode := ANode.FirstChild;
|
ANode := ANode.FirstChild;
|
||||||
while ANode <> nil do
|
while ANode <> nil do
|
||||||
begin
|
begin
|
||||||
@ -2888,7 +2886,7 @@ var
|
|||||||
nodeName: String;
|
nodeName: String;
|
||||||
cell: PCell;
|
cell: PCell;
|
||||||
hyperlink: string;
|
hyperlink: string;
|
||||||
rtParams: TsRichTextParams;
|
rtParams: TsRichTextParams = nil;
|
||||||
idx: Integer;
|
idx: Integer;
|
||||||
rtFntIndex, fntIndex: Integer;
|
rtFntIndex, fntIndex: Integer;
|
||||||
rtFnt, fnt: TsFont;
|
rtFnt, fnt: TsFont;
|
||||||
@ -3827,7 +3825,8 @@ var
|
|||||||
fmt: TsCellFormat;
|
fmt: TsCellFormat;
|
||||||
ok: Boolean;
|
ok: Boolean;
|
||||||
condition: TsCFCondition;
|
condition: TsCFCondition;
|
||||||
param1, param2: String;
|
param1: String = '';
|
||||||
|
param2: String = '';
|
||||||
op1, op2: Variant;
|
op1, op2: Variant;
|
||||||
sheet: TsWorksheet;
|
sheet: TsWorksheet;
|
||||||
begin
|
begin
|
||||||
@ -3939,8 +3938,8 @@ begin
|
|||||||
if not ok then
|
if not ok then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
if param1 = '' then VarClear(op1) else op1 := param1;
|
if param1 = '' then VarClear(op1{%H-}) else op1 := param1;
|
||||||
if param2 = '' then VarClear(op2) else op2 := param2;
|
if param2 = '' then VarClear(op2{%H-}) else op2 := param2;
|
||||||
sheet.WriteConditionalCellFormat(ARange, condition, op1, op2, fmtIndex);
|
sheet.WriteConditionalCellFormat(ARange, condition, op1, op2, fmtIndex);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -1255,15 +1255,13 @@ function TsWorksheet.BuildRPNFormula(ACell: PCell;
|
|||||||
var
|
var
|
||||||
formula: PsFormula;
|
formula: PsFormula;
|
||||||
begin
|
begin
|
||||||
if (ACell = nil) or (not HasFormula(ACell)) then begin
|
Result := nil;
|
||||||
SetLength(Result, 0);
|
if (ACell = nil) or (not HasFormula(ACell)) then
|
||||||
exit;
|
exit;
|
||||||
end;
|
|
||||||
formula := FFormulas.FindFormula(ACell^.Row, ACell^.Col);
|
formula := FFormulas.FindFormula(ACell^.Row, ACell^.Col);
|
||||||
if formula = nil then begin
|
if formula = nil then
|
||||||
SetLength(Result, 0);
|
|
||||||
exit;
|
exit;
|
||||||
end;
|
|
||||||
|
|
||||||
if ADestCell <> nil then begin
|
if ADestCell <> nil then begin
|
||||||
formula^.Parser.PrepareCopyMode(ACell, ADestCell);
|
formula^.Parser.PrepareCopyMode(ACell, ADestCell);
|
||||||
@ -3630,7 +3628,7 @@ function TsWorksheet.GetSelection: TsCellRangeArray;
|
|||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
SetLength(Result, Length(FSelection));
|
SetLength(Result{%H-}, Length(FSelection));
|
||||||
for i:=0 to High(FSelection) do
|
for i:=0 to High(FSelection) do
|
||||||
Result[i] := FSelection[i];
|
Result[i] := FSelection[i];
|
||||||
end;
|
end;
|
||||||
@ -6398,7 +6396,7 @@ var
|
|||||||
fmtIDs: TsSpreadformatIDArray;
|
fmtIDs: TsSpreadformatIDArray;
|
||||||
i, j: Integer;
|
i, j: Integer;
|
||||||
begin
|
begin
|
||||||
SetLength(AFormatIDs, 0);
|
AFormatIDs := nil;
|
||||||
if AStream = nil then
|
if AStream = nil then
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
@ -7314,7 +7312,7 @@ var
|
|||||||
begin
|
begin
|
||||||
Result := false;
|
Result := false;
|
||||||
AWorksheet := nil;
|
AWorksheet := nil;
|
||||||
SetLength(ARanges, 0);
|
ARanges := nil;
|
||||||
|
|
||||||
if AText = '' then
|
if AText = '' then
|
||||||
exit;
|
exit;
|
||||||
|
@ -76,7 +76,7 @@ var
|
|||||||
clipbook: TsWorkbook;
|
clipbook: TsWorkbook;
|
||||||
clipsheet: TsWorksheet;
|
clipsheet: TsWorksheet;
|
||||||
sel: TsCellRange;
|
sel: TsCellRange;
|
||||||
selArray: TsCellRangeArray;
|
selArray: TsCellRangeArray = nil;
|
||||||
r, c: LongInt;
|
r, c: LongInt;
|
||||||
dr, dc: LongInt;
|
dr, dc: LongInt;
|
||||||
srcCell, destCell: PCell;
|
srcCell, destCell: PCell;
|
||||||
|
@ -1171,7 +1171,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
SetLength(Result, FList.Count);
|
SetLength(Result{%H-}, FList.Count);
|
||||||
n := 0;
|
n := 0;
|
||||||
for i := 0 to FList.Count-1 do
|
for i := 0 to FList.Count-1 do
|
||||||
begin
|
begin
|
||||||
@ -1205,7 +1205,7 @@ begin
|
|||||||
FList.Exchange(0, idx);
|
FList.Exchange(0, idx);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
SetLength(Result, FList.Count);
|
SetLength(Result{%H-}, FList.Count);
|
||||||
n := 0;
|
n := 0;
|
||||||
for i := 0 to FList.Count - 1 do
|
for i := 0 to FList.Count - 1 do
|
||||||
begin
|
begin
|
||||||
|
@ -472,7 +472,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
// Set array length of TsRPNFormula result
|
// Set array length of TsRPNFormula result
|
||||||
SetLength(Result, n);
|
SetLength(Result{%H-}, n);
|
||||||
|
|
||||||
// Copy FormulaElements to result and free temporary RPNItems
|
// Copy FormulaElements to result and free temporary RPNItems
|
||||||
item := AItem;
|
item := AItem;
|
||||||
|
@ -491,7 +491,6 @@ var
|
|||||||
p: Integer;
|
p: Integer;
|
||||||
s: String;
|
s: String;
|
||||||
f: TsRelFlags;
|
f: TsRelFlags;
|
||||||
singleCell: Boolean = false;
|
|
||||||
begin
|
begin
|
||||||
Result := True;
|
Result := True;
|
||||||
|
|
||||||
@ -499,7 +498,6 @@ begin
|
|||||||
p := pos(':', AStr);
|
p := pos(':', AStr);
|
||||||
if p = 0 then //exit(false);
|
if p = 0 then //exit(false);
|
||||||
begin
|
begin
|
||||||
singleCell := true;
|
|
||||||
Result := ParseCellString(AStr, AFirstcellRow, AFirstCellCol, f);
|
Result := ParseCellString(AStr, AFirstcellRow, AFirstCellCol, f);
|
||||||
if not Result then exit;
|
if not Result then exit;
|
||||||
ALastCellRow := AFirstCellRow;
|
ALastCellRow := AFirstCellRow;
|
||||||
@ -2355,7 +2353,7 @@ function RandomString(ALen: Integer): String;
|
|||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
SetLength(Result, ALen);
|
SetLength(Result{%H-}, ALen);
|
||||||
for i:=1 to ALen do
|
for i:=1 to ALen do
|
||||||
Result[i] := char(Random(26) + ord('a'));
|
Result[i] := char(Random(26) + ord('a'));
|
||||||
end;
|
end;
|
||||||
@ -2411,6 +2409,7 @@ var
|
|||||||
arr1, arr2: TStringArray;
|
arr1, arr2: TStringArray;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
|
ARichText := nil;
|
||||||
p := pos(SEPARATOR, AValue);
|
p := pos(SEPARATOR, AValue);
|
||||||
if p = 0 then begin
|
if p = 0 then begin
|
||||||
AText := AValue;
|
AText := AValue;
|
||||||
@ -2438,6 +2437,7 @@ var
|
|||||||
L: TStringList;
|
L: TStringList;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
|
Result := nil;
|
||||||
L := TStringList.Create;
|
L := TStringList.Create;
|
||||||
try
|
try
|
||||||
L.Delimiter := ADelimiter;
|
L.Delimiter := ADelimiter;
|
||||||
|
@ -113,7 +113,7 @@ procedure TVirtualLayer.SplitPath(const APath: UTF8String;const ASplittedPath: T
|
|||||||
var
|
var
|
||||||
j,k: integer;
|
j,k: integer;
|
||||||
LB: integer;
|
LB: integer;
|
||||||
Chunk: UTF8String;
|
Chunk: UTF8String = '';
|
||||||
ChunkC: integer;
|
ChunkC: integer;
|
||||||
begin
|
begin
|
||||||
ASplittedPath.Clear;
|
ASplittedPath.Clear;
|
||||||
|
@ -559,7 +559,7 @@ var
|
|||||||
lHeight: Word;
|
lHeight: Word;
|
||||||
lOptions: Word;
|
lOptions: Word;
|
||||||
Len: Byte;
|
Len: Byte;
|
||||||
lFontName: UTF8String;
|
lFontName: UTF8String = '';
|
||||||
isDefaultFont: Boolean;
|
isDefaultFont: Boolean;
|
||||||
begin
|
begin
|
||||||
FFont := TsFont.Create;
|
FFont := TsFont.Create;
|
||||||
@ -613,7 +613,7 @@ end;*)
|
|||||||
procedure TsSpreadBIFF2Reader.ReadFormat(AStream: TStream);
|
procedure TsSpreadBIFF2Reader.ReadFormat(AStream: TStream);
|
||||||
var
|
var
|
||||||
len: byte;
|
len: byte;
|
||||||
fmtString: AnsiString;
|
fmtString: AnsiString = '';
|
||||||
nfs: String;
|
nfs: String;
|
||||||
begin
|
begin
|
||||||
// number format string
|
// number format string
|
||||||
@ -798,7 +798,7 @@ var
|
|||||||
L: Byte;
|
L: Byte;
|
||||||
ARow, ACol: Cardinal;
|
ARow, ACol: Cardinal;
|
||||||
XF: Word;
|
XF: Word;
|
||||||
ansiStr: ansistring;
|
ansiStr: ansistring = '';
|
||||||
valueStr: UTF8String;
|
valueStr: UTF8String;
|
||||||
cell: PCell;
|
cell: PCell;
|
||||||
sheet: TsWorksheet;
|
sheet: TsWorksheet;
|
||||||
@ -1099,7 +1099,7 @@ end;
|
|||||||
procedure TsSpreadBIFF2Reader.ReadStringRecord(AStream: TStream);
|
procedure TsSpreadBIFF2Reader.ReadStringRecord(AStream: TStream);
|
||||||
var
|
var
|
||||||
len: Byte;
|
len: Byte;
|
||||||
s: ansistring;
|
s: ansistring = '';
|
||||||
begin
|
begin
|
||||||
// The string is a byte-string with 8 bit length
|
// The string is a byte-string with 8 bit length
|
||||||
len := AStream.ReadByte;
|
len := AStream.ReadByte;
|
||||||
@ -1948,7 +1948,7 @@ var
|
|||||||
len: Integer;
|
len: Integer;
|
||||||
s: string; //ansistring;
|
s: string; //ansistring;
|
||||||
rec: TNumFormatRecord;
|
rec: TNumFormatRecord;
|
||||||
buf: array of byte;
|
buf: array of byte = nil;
|
||||||
begin
|
begin
|
||||||
Unused(AFormatIndex);
|
Unused(AFormatIndex);
|
||||||
|
|
||||||
@ -2239,7 +2239,7 @@ var
|
|||||||
L: Byte;
|
L: Byte;
|
||||||
AnsiText: ansistring;
|
AnsiText: ansistring;
|
||||||
rec: TBIFF2_LabelRecord;
|
rec: TBIFF2_LabelRecord;
|
||||||
buf: array of byte;
|
buf: array of byte = nil;
|
||||||
var
|
var
|
||||||
xf: Word;
|
xf: Word;
|
||||||
begin
|
begin
|
||||||
|
@ -397,7 +397,7 @@ end;
|
|||||||
procedure TsSpreadBIFF5Reader.ReadBOUNDSHEET(AStream: TStream);
|
procedure TsSpreadBIFF5Reader.ReadBOUNDSHEET(AStream: TStream);
|
||||||
var
|
var
|
||||||
len: Byte;
|
len: Byte;
|
||||||
s: AnsiString;
|
s: AnsiString = '';
|
||||||
sheetState: Byte;
|
sheetState: Byte;
|
||||||
sheet: TsWorksheet;
|
sheet: TsWorksheet;
|
||||||
//sheetData: TsSheetData;
|
//sheetData: TsSheetData;
|
||||||
@ -433,7 +433,7 @@ var
|
|||||||
options: Word;
|
options: Word;
|
||||||
len: byte;
|
len: byte;
|
||||||
formulaSize: Word;
|
formulaSize: Word;
|
||||||
ansistr: ansiString;
|
ansistr: ansiString = '';
|
||||||
defName: String;
|
defName: String;
|
||||||
rpnformula: TsRPNFormula;
|
rpnformula: TsRPNFormula;
|
||||||
{%H-}extsheetIndex: Integer;
|
{%H-}extsheetIndex: Integer;
|
||||||
@ -721,10 +721,10 @@ var
|
|||||||
B: Byte;
|
B: Byte;
|
||||||
ARow, ACol: Cardinal;
|
ARow, ACol: Cardinal;
|
||||||
XF: Word;
|
XF: Word;
|
||||||
ansistr: ansistring;
|
ansistr: ansistring = '';
|
||||||
valueStr: UTF8String;
|
valueStr: UTF8String;
|
||||||
cell: PCell;
|
cell: PCell;
|
||||||
rtfRuns: TBiff5_RichTextFormattingRuns;
|
rtfRuns: TBiff5_RichTextFormattingRuns = nil;
|
||||||
fntIndex: Integer;
|
fntIndex: Integer;
|
||||||
fnt: TsFont;
|
fnt: TsFont;
|
||||||
sheet: TsWorksheet;
|
sheet: TsWorksheet;
|
||||||
@ -796,7 +796,7 @@ end;
|
|||||||
procedure TsSpreadBIFF5Reader.ReadStringRecord(AStream: TStream);
|
procedure TsSpreadBIFF5Reader.ReadStringRecord(AStream: TStream);
|
||||||
var
|
var
|
||||||
len: Word;
|
len: Word;
|
||||||
s: ansistring;
|
s: ansistring = '';
|
||||||
begin
|
begin
|
||||||
// The string is a byte-string with 16 bit length
|
// The string is a byte-string with 16 bit length
|
||||||
len := WordLEToN(AStream.ReadWord);
|
len := WordLEToN(AStream.ReadWord);
|
||||||
@ -1045,7 +1045,7 @@ var
|
|||||||
lWeight: Word;
|
lWeight: Word;
|
||||||
lEsc: Word;
|
lEsc: Word;
|
||||||
Len: Byte;
|
Len: Byte;
|
||||||
fontname: ansistring;
|
fontname: ansistring = '';
|
||||||
font: TsFont;
|
font: TsFont;
|
||||||
isDefaultFont: Boolean;
|
isDefaultFont: Boolean;
|
||||||
begin
|
begin
|
||||||
@ -1132,7 +1132,7 @@ procedure TsSpreadBIFF5Reader.ReadFormat(AStream: TStream);
|
|||||||
var
|
var
|
||||||
len: byte;
|
len: byte;
|
||||||
fmtIndex: Integer;
|
fmtIndex: Integer;
|
||||||
fmtString: AnsiString;
|
fmtString: AnsiString = '';
|
||||||
nfs: String;
|
nfs: String;
|
||||||
begin
|
begin
|
||||||
// Record FORMAT, BIFF 8 (5.49):
|
// Record FORMAT, BIFF 8 (5.49):
|
||||||
@ -1162,7 +1162,7 @@ var
|
|||||||
ARow, ACol: Cardinal;
|
ARow, ACol: Cardinal;
|
||||||
XF: WORD;
|
XF: WORD;
|
||||||
cell: PCell;
|
cell: PCell;
|
||||||
ansistr: ansistring;
|
ansistr: ansistring = '';
|
||||||
valuestr: String;
|
valuestr: String;
|
||||||
begin
|
begin
|
||||||
rec.Row := 0; // to silence the compiler...
|
rec.Row := 0; // to silence the compiler...
|
||||||
@ -1223,7 +1223,7 @@ end;
|
|||||||
procedure TsSpreadBIFF5Writer.InternalWriteToStream(AStream: TStream);
|
procedure TsSpreadBIFF5Writer.InternalWriteToStream(AStream: TStream);
|
||||||
var
|
var
|
||||||
CurrentPos: Int64;
|
CurrentPos: Int64;
|
||||||
sheetPos: array of Int64;
|
sheetPos: array of Int64 = nil;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
pane: Byte;
|
pane: Byte;
|
||||||
book: TsWorkbook;
|
book: TsWorkbook;
|
||||||
@ -1769,7 +1769,7 @@ var
|
|||||||
//fmtStr: String;
|
//fmtStr: String;
|
||||||
ansiFmtStr: ansiString;
|
ansiFmtStr: ansiString;
|
||||||
rec: TNumFormatRecord;
|
rec: TNumFormatRecord;
|
||||||
buf: array of byte;
|
buf: array of byte = nil;
|
||||||
begin
|
begin
|
||||||
//fmtStr := NumFormatList.FormatStringForWriting(AListIndex);
|
//fmtStr := NumFormatList.FormatStringForWriting(AListIndex);
|
||||||
ansiFmtStr := ConvertEncoding(ANumFormatStr, encodingUTF8, FCodePage);
|
ansiFmtStr := ConvertEncoding(ANumFormatStr, encodingUTF8, FCodePage);
|
||||||
@ -1867,9 +1867,9 @@ var
|
|||||||
L: Word;
|
L: Word;
|
||||||
AnsiValue: ansistring;
|
AnsiValue: ansistring;
|
||||||
rec: TBIFF5_LabelRecord;
|
rec: TBIFF5_LabelRecord;
|
||||||
buf: array of byte;
|
|
||||||
i, nRuns: Integer;
|
i, nRuns: Integer;
|
||||||
rtfRuns: TBIFF5_RichTextFormattingRuns;
|
rtfRuns: TBIFF5_RichTextFormattingRuns = nil;
|
||||||
|
buf: array of byte = nil;
|
||||||
begin
|
begin
|
||||||
if (ARow >= FLimitations.MaxRowCount) or (ACol >= FLimitations.MaxColCount) then
|
if (ARow >= FLimitations.MaxRowCount) or (ACol >= FLimitations.MaxColCount) then
|
||||||
exit;
|
exit;
|
||||||
|
@ -967,13 +967,14 @@ function TsSpreadBIFF8Reader.ReadUnformattedWideString(const AStream: TStream;
|
|||||||
const ALength: WORD): WideString;
|
const ALength: WORD): WideString;
|
||||||
var
|
var
|
||||||
flags: Byte;
|
flags: Byte;
|
||||||
DecomprStrValue: WideString;
|
DecomprStrValue: WideString = '';
|
||||||
i: Integer;
|
i: Integer;
|
||||||
len: SizeInt;
|
len: SizeInt;
|
||||||
recType: Word;
|
recType: Word;
|
||||||
{%H-}recSize: Word;
|
{%H-}recSize: Word;
|
||||||
C: WideChar;
|
C: WideChar;
|
||||||
begin
|
begin
|
||||||
|
Result := '';
|
||||||
flags := AStream.ReadByte;
|
flags := AStream.ReadByte;
|
||||||
dec(PendingRecordSize);
|
dec(PendingRecordSize);
|
||||||
if flags and 1 = 1 Then begin
|
if flags and 1 = 1 Then begin
|
||||||
@ -1019,8 +1020,8 @@ function TsSpreadBIFF8Reader.ReadWideString(const AStream: TStream;
|
|||||||
const ALength: WORD; out ARichTextParams: TsRichTextParams): WideString;
|
const ALength: WORD; out ARichTextParams: TsRichTextParams): WideString;
|
||||||
var
|
var
|
||||||
StringFlags: BYTE;
|
StringFlags: BYTE;
|
||||||
DecomprStrValue: WideString;
|
DecomprStrValue: WideString = '';
|
||||||
AnsiStrValue: ansistring;
|
AnsiStrValue: ansistring = '';
|
||||||
RunsCounter: WORD;
|
RunsCounter: WORD;
|
||||||
AsianPhoneticBytes: DWORD;
|
AsianPhoneticBytes: DWORD;
|
||||||
rtf_dummy: TsRichTextParams;
|
rtf_dummy: TsRichTextParams;
|
||||||
@ -1031,6 +1032,7 @@ var
|
|||||||
recSize: WORD;
|
recSize: WORD;
|
||||||
C: WideChar;
|
C: WideChar;
|
||||||
begin
|
begin
|
||||||
|
Result := '';
|
||||||
StringFlags := AStream.ReadByte;
|
StringFlags := AStream.ReadByte;
|
||||||
Dec(PendingRecordSize);
|
Dec(PendingRecordSize);
|
||||||
if StringFlags and 8 = 8 then begin
|
if StringFlags and 8 = 8 then begin
|
||||||
@ -1698,7 +1700,7 @@ var
|
|||||||
XF: Word;
|
XF: Word;
|
||||||
wideStrValue: WideString;
|
wideStrValue: WideString;
|
||||||
cell: PCell;
|
cell: PCell;
|
||||||
rtfRuns: TBiff8_RichTextFormattingRuns;
|
rtfRuns: TBiff8_RichTextFormattingRuns = nil;
|
||||||
fntIndex: Integer;
|
fntIndex: Integer;
|
||||||
fnt: TsFont;
|
fnt: TsFont;
|
||||||
book: TsWorkbook;
|
book: TsWorkbook;
|
||||||
@ -1859,7 +1861,7 @@ var
|
|||||||
cell: PCell;
|
cell: PCell;
|
||||||
ms: TMemoryStream;
|
ms: TMemoryStream;
|
||||||
i, n: Integer;
|
i, n: Integer;
|
||||||
rtParams: TsRichTextParams;
|
rtParams: TsRichTextParams = nil;
|
||||||
fnt: TsFont;
|
fnt: TsFont;
|
||||||
fntIndex: Integer;
|
fntIndex: Integer;
|
||||||
book: TsWorkbook;
|
book: TsWorkbook;
|
||||||
@ -2432,13 +2434,13 @@ var
|
|||||||
row, col, row1, col1, row2, col2: word;
|
row, col, row1, col1, row2, col2: word;
|
||||||
guid: TGUID;
|
guid: TGUID;
|
||||||
flags: DWord;
|
flags: DWord;
|
||||||
widestr: widestring;
|
widestr: widestring = '';
|
||||||
len: DWord;
|
len: DWord;
|
||||||
link: String;
|
link: String;
|
||||||
linkDos: String;
|
linkDos: String;
|
||||||
mark: String;
|
mark: String;
|
||||||
dirUpCount: Word;
|
dirUpCount: Word;
|
||||||
ansistr: ansistring;
|
ansistr: ansistring = '';
|
||||||
size: DWord;
|
size: DWord;
|
||||||
begin
|
begin
|
||||||
{ Row and column index range of cells using the hyperlink }
|
{ Row and column index range of cells using the hyperlink }
|
||||||
@ -2574,7 +2576,7 @@ end;
|
|||||||
procedure TsSpreadBIFF8Reader.ReadHyperlinkToolTip(const AStream: TStream);
|
procedure TsSpreadBIFF8Reader.ReadHyperlinkToolTip(const AStream: TStream);
|
||||||
var
|
var
|
||||||
txt: String;
|
txt: String;
|
||||||
widestr: widestring;
|
widestr: widestring = '';
|
||||||
//row, col,
|
//row, col,
|
||||||
row1, col1, row2, col2: Word;
|
row1, col1, row2, col2: Word;
|
||||||
hyperlink: PsHyperlink;
|
hyperlink: PsHyperlink;
|
||||||
@ -2770,7 +2772,7 @@ const
|
|||||||
isBIFF8 = true;
|
isBIFF8 = true;
|
||||||
var
|
var
|
||||||
currentPos: Int64;
|
currentPos: Int64;
|
||||||
sheetPos: array of Int64;
|
sheetPos: array of Int64 = nil;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
pane: Byte;
|
pane: Byte;
|
||||||
book: TsWorkbook;
|
book: TsWorkbook;
|
||||||
@ -3503,7 +3505,7 @@ var
|
|||||||
len: Integer;
|
len: Integer;
|
||||||
ws: widestring;
|
ws: widestring;
|
||||||
rec: TNumFormatRecord;
|
rec: TNumFormatRecord;
|
||||||
buf: array of byte;
|
buf: array of byte = nil;
|
||||||
begin
|
begin
|
||||||
ws := UTF8Decode(ANumFormatStr);
|
ws := UTF8Decode(ANumFormatStr);
|
||||||
len := Length(ws);
|
len := Length(ws);
|
||||||
@ -3819,9 +3821,9 @@ var
|
|||||||
WideStr: WideString;
|
WideStr: WideString;
|
||||||
rec: TBIFF8_LabelRecord;
|
rec: TBIFF8_LabelRecord;
|
||||||
recSST: TBIFF8_LabelSSTRecord;
|
recSST: TBIFF8_LabelSSTRecord;
|
||||||
buf: array of byte;
|
buf: array of byte = nil;
|
||||||
i, nRuns, idx: Integer;
|
i, nRuns, idx: Integer;
|
||||||
rtfRuns: TBiff8_RichTextFormattingRuns;
|
rtfRuns: TBiff8_RichTextFormattingRuns = nil;
|
||||||
begin
|
begin
|
||||||
if (ARow >= FLimitations.MaxRowCount) or (ACol >= FLimitations.MaxColCount) then
|
if (ARow >= FLimitations.MaxRowCount) or (ACol >= FLimitations.MaxColCount) then
|
||||||
exit;
|
exit;
|
||||||
@ -4742,7 +4744,7 @@ procedure TsSpreadBIFF8Writer.WriteTXO(AStream: TStream; AComment: PsComment);
|
|||||||
var
|
var
|
||||||
recTXO: TBIFF8TXORecord;
|
recTXO: TBIFF8TXORecord;
|
||||||
comment: widestring;
|
comment: widestring;
|
||||||
compressed: ansistring;
|
compressed: ansistring = '';
|
||||||
len: Integer;
|
len: Integer;
|
||||||
wchar: widechar;
|
wchar: widechar;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
|
@ -1102,7 +1102,7 @@ var
|
|||||||
i, n: Integer;
|
i, n: Integer;
|
||||||
elem: TsFormulaElement;
|
elem: TsFormulaElement;
|
||||||
begin
|
begin
|
||||||
SetLength(Result, 0);
|
Result := nil;
|
||||||
for i:=0 to Length(FFormula)-1 do begin
|
for i:=0 to Length(FFormula)-1 do begin
|
||||||
n := Length(Result);
|
n := Length(Result);
|
||||||
elem := FFormula[i];
|
elem := FFormula[i];
|
||||||
@ -1740,7 +1740,7 @@ var
|
|||||||
rec: TBIFF25NoteRecord;
|
rec: TBIFF25NoteRecord;
|
||||||
r, c: Cardinal;
|
r, c: Cardinal;
|
||||||
n: Word;
|
n: Word;
|
||||||
s: ansiString;
|
s: ansiString = '';
|
||||||
List: TStringList;
|
List: TStringList;
|
||||||
sheet: TsWorksheet;
|
sheet: TsWorksheet;
|
||||||
begin
|
begin
|
||||||
@ -1885,7 +1885,7 @@ procedure TsSpreadBIFFReader.ReadEXTERNSHEET(AStream: TStream;
|
|||||||
AWorksheet: TsBasicWorksheet);
|
AWorksheet: TsBasicWorksheet);
|
||||||
var
|
var
|
||||||
len, b: Byte;
|
len, b: Byte;
|
||||||
ansistr: AnsiString;
|
ansistr: AnsiString = '';
|
||||||
s: String;
|
s: String;
|
||||||
sheetlist: TsBIFFExternSheetList;
|
sheetlist: TsBIFFExternSheetList;
|
||||||
begin
|
begin
|
||||||
@ -2046,7 +2046,7 @@ end;
|
|||||||
procedure TsSpreadBIFFReader.ReadHeaderFooter(AStream: TStream;
|
procedure TsSpreadBIFFReader.ReadHeaderFooter(AStream: TStream;
|
||||||
AIsHeader: Boolean);
|
AIsHeader: Boolean);
|
||||||
var
|
var
|
||||||
s: ansistring;
|
s: ansistring = '';
|
||||||
len: Byte;
|
len: Byte;
|
||||||
begin
|
begin
|
||||||
if RecordSize = 0 then
|
if RecordSize = 0 then
|
||||||
@ -2094,7 +2094,7 @@ begin
|
|||||||
n := WordLEToN(AStream.ReadWord);
|
n := WordLEToN(AStream.ReadWord);
|
||||||
|
|
||||||
for i := 1 to n do begin
|
for i := 1 to n do begin
|
||||||
AStream.ReadBuffer(rec, SizeOf(rec));
|
AStream.ReadBuffer(rec{%H-}, SizeOf(rec));
|
||||||
r := WordLEToN(rec.RowIndex);
|
r := WordLEToN(rec.RowIndex);
|
||||||
TsWorksheet(AWorksheet).AddPageBreakToRow(r);
|
TsWorksheet(AWorksheet).AddPageBreakToRow(r);
|
||||||
end;
|
end;
|
||||||
@ -2790,6 +2790,7 @@ begin
|
|||||||
dr2 := SmallInt(r2 and $3FFF)
|
dr2 := SmallInt(r2 and $3FFF)
|
||||||
else
|
else
|
||||||
dr2 := SmallInt($C000 or (r2 and $3FFF));
|
dr2 := SmallInt($C000 or (r2 and $3FFF));
|
||||||
|
ARowOffset2 := dr2;
|
||||||
|
|
||||||
// 1 byte for col1 and col2, each
|
// 1 byte for col1 and col2, each
|
||||||
dc1 := ShortInt(AStream.ReadByte);
|
dc1 := ShortInt(AStream.ReadByte);
|
||||||
@ -3341,7 +3342,7 @@ var
|
|||||||
{%H-}rngIndex: Word;
|
{%H-}rngIndex: Word;
|
||||||
actRow, actCol: Word;
|
actRow, actCol: Word;
|
||||||
n, i: Integer;
|
n, i: Integer;
|
||||||
sel: TsCellRangeArray;
|
sel: TsCellRangeArray = nil;
|
||||||
begin
|
begin
|
||||||
// Pane index
|
// Pane index
|
||||||
paneIdx := AStream.ReadByte;
|
paneIdx := AStream.ReadByte;
|
||||||
@ -3441,7 +3442,7 @@ end;
|
|||||||
function TsSpreadBIFFReader.ReadString_8bitLen(AStream: TStream): String;
|
function TsSpreadBIFFReader.ReadString_8bitLen(AStream: TStream): String;
|
||||||
var
|
var
|
||||||
len: Byte;
|
len: Byte;
|
||||||
s: ansistring;
|
s: ansistring = '';
|
||||||
begin
|
begin
|
||||||
len := AStream.ReadByte;
|
len := AStream.ReadByte;
|
||||||
SetLength(s, len);
|
SetLength(s, len);
|
||||||
@ -3493,7 +3494,7 @@ begin
|
|||||||
n := WordLEToN(AStream.ReadWord);
|
n := WordLEToN(AStream.ReadWord);
|
||||||
|
|
||||||
for i := 1 to n do begin
|
for i := 1 to n do begin
|
||||||
AStream.ReadBuffer(rec, SizeOf(rec));
|
AStream.ReadBuffer(rec{%H-}, SizeOf(rec));
|
||||||
c := WordLEToN(rec.ColIndex);
|
c := WordLEToN(rec.ColIndex);
|
||||||
TsWorksheet(AWorksheet).AddPageBreakToCol(c);
|
TsWorksheet(AWorksheet).AddPageBreakToCol(c);
|
||||||
end;
|
end;
|
||||||
|
@ -341,8 +341,6 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function TryStrToCFCellBorder(s: String; out ABorder: TsCellBorder): Boolean;
|
function TryStrToCFCellBorder(s: String; out ABorder: TsCellBorder): Boolean;
|
||||||
var
|
|
||||||
cb: TsCellBorder;
|
|
||||||
begin
|
begin
|
||||||
Result := true;
|
Result := true;
|
||||||
if s = 'border-left' then
|
if s = 'border-left' then
|
||||||
@ -860,8 +858,8 @@ begin
|
|||||||
// initialize parameters
|
// initialize parameters
|
||||||
condition := -1;
|
condition := -1;
|
||||||
range := fpsUtils.Range(Cardinal(-1), Cardinal(-1), Cardinal(-1), Cardinal(-1));
|
range := fpsUtils.Range(Cardinal(-1), Cardinal(-1), Cardinal(-1), Cardinal(-1));
|
||||||
VarClear(op1);
|
VarClear(op1{%H-});
|
||||||
VarClear(op2);
|
VarClear(op2{%H-});
|
||||||
bgColor := scNotDefined;
|
bgColor := scNotDefined;
|
||||||
fgColor := scNotDefined;
|
fgColor := scNotDefined;
|
||||||
fill := fsNoFill;
|
fill := fsNoFill;
|
||||||
@ -1044,7 +1042,7 @@ begin
|
|||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
if condition = Cardinal(-1) then
|
if condition = -1 then
|
||||||
begin
|
begin
|
||||||
book.AddErrorMsg('No condition given in conditional format.');
|
book.AddErrorMsg('No condition given in conditional format.');
|
||||||
exit;
|
exit;
|
||||||
@ -1392,7 +1390,6 @@ procedure TsSpreadExcelXMLReader.ReadPageBreak(ANode: TDOMNode;
|
|||||||
AWorksheet: TsBasicWorksheet);
|
AWorksheet: TsBasicWorksheet);
|
||||||
var
|
var
|
||||||
sheet: TsWorksheet absolute AWorksheet;
|
sheet: TsWorksheet absolute AWorksheet;
|
||||||
node: TDOMNode;
|
|
||||||
nodeName: String;
|
nodeName: String;
|
||||||
s: String;
|
s: String;
|
||||||
n: Integer;
|
n: Integer;
|
||||||
@ -1422,8 +1419,6 @@ var
|
|||||||
sheet: TsWorksheet absolute AWorksheet;
|
sheet: TsWorksheet absolute AWorksheet;
|
||||||
nodeName: String;
|
nodeName: String;
|
||||||
node: TDOMNode;
|
node: TDOMNode;
|
||||||
child: TDOMNode;
|
|
||||||
s: String;
|
|
||||||
begin
|
begin
|
||||||
while ANode <> nil do
|
while ANode <> nil do
|
||||||
begin
|
begin
|
||||||
@ -1524,7 +1519,6 @@ var
|
|||||||
nodeName: String;
|
nodeName: String;
|
||||||
s: String;
|
s: String;
|
||||||
n: Integer;
|
n: Integer;
|
||||||
x: Double;
|
|
||||||
begin
|
begin
|
||||||
while ANode <> nil do begin
|
while ANode <> nil do begin
|
||||||
nodeName := ANode.NodeName;
|
nodeName := ANode.NodeName;
|
||||||
@ -2012,6 +2006,8 @@ procedure TsSpreadExcelXMLReader.ReadFromStream(AStream: TStream;
|
|||||||
var
|
var
|
||||||
doc: TXMLDocument;
|
doc: TXMLDocument;
|
||||||
begin
|
begin
|
||||||
|
Unused(APassword, AParams);
|
||||||
|
|
||||||
try
|
try
|
||||||
ReadXMLStream(doc, AStream);
|
ReadXMLStream(doc, AStream);
|
||||||
|
|
||||||
@ -2614,12 +2610,10 @@ procedure TsSpreadExcelXMLWriter.WriteConditionalFormatting(AStream: TStream;
|
|||||||
AWorksheet: TsBasicWorksheet);
|
AWorksheet: TsBasicWorksheet);
|
||||||
var
|
var
|
||||||
book: TsWorkbook;
|
book: TsWorkbook;
|
||||||
sheet: TsWorksheet;
|
|
||||||
cf: TsConditionalFormat;
|
cf: TsConditionalFormat;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
book := TsWorkbook(FWorkbook);
|
book := TsWorkbook(FWorkbook);
|
||||||
sheet := TsWorksheet(AWorksheet);
|
|
||||||
for i := 0 to book.GetNumConditionalFormats-1 do
|
for i := 0 to book.GetNumConditionalFormats-1 do
|
||||||
begin
|
begin
|
||||||
cf := book.GetConditionalFormat(i);
|
cf := book.GetConditionalFormat(i);
|
||||||
@ -2731,6 +2725,9 @@ var
|
|||||||
xmlnsStr: String;
|
xmlnsStr: String;
|
||||||
dataTagStr: String;
|
dataTagStr: String;
|
||||||
begin
|
begin
|
||||||
|
Unused(ARow);
|
||||||
|
Unused(ACol);
|
||||||
|
|
||||||
if ACell^.ContentType <> cctFormula then
|
if ACell^.ContentType <> cctFormula then
|
||||||
raise Exception.Create('WriteFormula called for calculated cell.');
|
raise Exception.Create('WriteFormula called for calculated cell.');
|
||||||
|
|
||||||
@ -2873,9 +2870,9 @@ begin
|
|||||||
if (RepeatedCols.FirstIndex <> UNASSIGNED_ROW_COL_INDEX) and
|
if (RepeatedCols.FirstIndex <> UNASSIGNED_ROW_COL_INDEX) and
|
||||||
(RepeatedCols.LastIndex <> UNASSIGNED_ROW_COL_INDEX)
|
(RepeatedCols.LastIndex <> UNASSIGNED_ROW_COL_INDEX)
|
||||||
then begin
|
then begin
|
||||||
s := 'C' + IntToStr(RepeatedCols.FirstIndex + 1);
|
s := 'C' + {%H-}IntToStr(RepeatedCols.FirstIndex + 1);
|
||||||
if RepeatedCols.FirstIndex <> RepeatedCols.LastIndex then
|
if RepeatedCols.FirstIndex <> RepeatedCols.LastIndex then
|
||||||
s := s + ':C' + IntToStr(RepeatedCols.LastIndex + 1);
|
s := s + ':C' + {%H-}IntToStr(RepeatedCols.LastIndex + 1);
|
||||||
s := sheet.Name + '!' + s;
|
s := sheet.Name + '!' + s;
|
||||||
print_titles_str := s;
|
print_titles_str := s;
|
||||||
end;
|
end;
|
||||||
@ -2884,9 +2881,9 @@ begin
|
|||||||
if (RepeatedRows.FirstIndex <> UNASSIGNED_ROW_COL_INDEX) and
|
if (RepeatedRows.FirstIndex <> UNASSIGNED_ROW_COL_INDEX) and
|
||||||
(RepeatedRows.LastIndex <> UNASSIGNED_ROW_COL_INDEX)
|
(RepeatedRows.LastIndex <> UNASSIGNED_ROW_COL_INDEX)
|
||||||
then begin
|
then begin
|
||||||
s := 'R' + IntToStr(RepeatedRows.FirstIndex + 1);
|
s := 'R' + {%H-}IntToStr(RepeatedRows.FirstIndex + 1);
|
||||||
if RepeatedRows.FirstIndex <> RepeatedRows.LastIndex then
|
if RepeatedRows.FirstIndex <> RepeatedRows.LastIndex then
|
||||||
s := s + ':R' + IntToStr(RepeatedRows.LastIndex + 1);
|
s := s + ':R' + {%H-}IntToStr(RepeatedRows.LastIndex + 1);
|
||||||
s := sheet.Name + '!' + s;
|
s := sheet.Name + '!' + s;
|
||||||
if print_titles_str = '' then
|
if print_titles_str = '' then
|
||||||
print_titles_str := s
|
print_titles_str := s
|
||||||
|
@ -59,7 +59,6 @@ type
|
|||||||
FBorderList: TFPList;
|
FBorderList: TFPList;
|
||||||
FHyperlinkList: TFPList;
|
FHyperlinkList: TFPList;
|
||||||
FSharedFormulaBaseList: TFPList;
|
FSharedFormulaBaseList: TFPList;
|
||||||
FDxfList: TFPList;
|
|
||||||
FPalette: TsPalette;
|
FPalette: TsPalette;
|
||||||
FThemeColors: array of TsColor;
|
FThemeColors: array of TsColor;
|
||||||
FLastRow, FLastCol: Cardinal;
|
FLastRow, FLastCol: Cardinal;
|
||||||
@ -167,9 +166,9 @@ type
|
|||||||
procedure WriteConditionalFormatCellRule(AStream: TStream; ARule: TsCFCellRule;
|
procedure WriteConditionalFormatCellRule(AStream: TStream; ARule: TsCFCellRule;
|
||||||
ARange: TsCellRange; APriority: Integer);
|
ARange: TsCellRange; APriority: Integer);
|
||||||
procedure WriteConditionalFormatColorRangeRule(AStream: TStream; ARule: TsCFColorRangeRule;
|
procedure WriteConditionalFormatColorRangeRule(AStream: TStream; ARule: TsCFColorRangeRule;
|
||||||
const ARange: TsCellRange; APriority: Integer);
|
APriority: Integer);
|
||||||
procedure WriteConditionalFormatDataBarRule(AStream: TStream; ARule: TsCFDatabarRule;
|
procedure WriteConditionalFormatDataBarRule(AStream: TStream; ARule: TsCFDatabarRule;
|
||||||
const ARange: TsCellRange; APriority: Integer);
|
APriority: Integer);
|
||||||
procedure WriteConditionalFormatRule(AStream: TStream; ARule: TsCFRule;
|
procedure WriteConditionalFormatRule(AStream: TStream; ARule: TsCFRule;
|
||||||
const ARange: TsCellRange; var APriority: Integer);
|
const ARange: TsCellRange; var APriority: Integer);
|
||||||
procedure WriteConditionalFormats(AStream: TStream; AWorksheet: TsBasicWorksheet);
|
procedure WriteConditionalFormats(AStream: TStream; AWorksheet: TsBasicWorksheet);
|
||||||
@ -1271,7 +1270,7 @@ end;
|
|||||||
procedure TsSpreadOOXMLReader.ReadCFAverage(ANode: TDOMNode;
|
procedure TsSpreadOOXMLReader.ReadCFAverage(ANode: TDOMNode;
|
||||||
AWorksheet: TsBasicWorksheet; ARange: TsCellRange; AFormatIndex: Integer);
|
AWorksheet: TsBasicWorksheet; ARange: TsCellRange; AFormatIndex: Integer);
|
||||||
var
|
var
|
||||||
s, sStdDev, sEquAve, sAboveAve: String;
|
sStdDev, sEquAve, sAboveAve: String;
|
||||||
condition: TsCFCondition;
|
condition: TsCFCondition;
|
||||||
stdDev: Double;
|
stdDev: Double;
|
||||||
sheet: TsWorksheet;
|
sheet: TsWorksheet;
|
||||||
@ -1310,8 +1309,8 @@ procedure TsSpreadOOXMLReader.ReadCFCellFormat(ANode: TDOMNode;
|
|||||||
AWorksheet: TsBasicWorksheet; ARange: TsCellRange; AFormatIndex: Integer);
|
AWorksheet: TsBasicWorksheet; ARange: TsCellRange; AFormatIndex: Integer);
|
||||||
var
|
var
|
||||||
nodeName: String;
|
nodeName: String;
|
||||||
s, sType, sOp: String;
|
sOp: String;
|
||||||
sFormula: Array of String;
|
sFormula: Array of String = nil;
|
||||||
cf: TsCFCondition;
|
cf: TsCFCondition;
|
||||||
found: Boolean;
|
found: Boolean;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
@ -1319,7 +1318,7 @@ var
|
|||||||
x: Double;
|
x: Double;
|
||||||
r, c: Cardinal;
|
r, c: Cardinal;
|
||||||
condition: TsCFCondition;
|
condition: TsCFCondition;
|
||||||
values: array of Variant;
|
values: array of Variant = nil;
|
||||||
sheet: TsWorksheet;
|
sheet: TsWorksheet;
|
||||||
begin
|
begin
|
||||||
sheet := TsWorksheet(AWorksheet);
|
sheet := TsWorksheet(AWorksheet);
|
||||||
@ -2015,7 +2014,6 @@ var
|
|||||||
nodeName: String;
|
nodeName: String;
|
||||||
childNode: TDOMNode;
|
childNode: TDOMNode;
|
||||||
pattNode: TDOMNode;
|
pattNode: TDOMNode;
|
||||||
s: String;
|
|
||||||
fontStyles: TsFontStyles;
|
fontStyles: TsFontStyles;
|
||||||
fontColor: TsColor;
|
fontColor: TsColor;
|
||||||
bgColor: TsColor;
|
bgColor: TsColor;
|
||||||
@ -2854,7 +2852,7 @@ var
|
|||||||
nodename: String;
|
nodename: String;
|
||||||
totaltxt, sval: String;
|
totaltxt, sval: String;
|
||||||
fntIndex: Integer;
|
fntIndex: Integer;
|
||||||
rtParams: TsRichTextParams;
|
rtParams: TsRichTextParams = nil;
|
||||||
ms: TMemoryStream;
|
ms: TMemoryStream;
|
||||||
fnt: TsFont;
|
fnt: TsFont;
|
||||||
begin
|
begin
|
||||||
@ -3787,10 +3785,9 @@ end;
|
|||||||
procedure TsSpreadOOXMLWriter.ListAllDifferentialFormats;
|
procedure TsSpreadOOXMLWriter.ListAllDifferentialFormats;
|
||||||
var
|
var
|
||||||
book: TsWorkbook;
|
book: TsWorkbook;
|
||||||
sheet: TsWorksheet;
|
|
||||||
n: Integer;
|
n: Integer;
|
||||||
idx: Integer;
|
idx: Integer;
|
||||||
i, j, k, r, d: Integer;
|
j, k, d: Integer;
|
||||||
CF: TsConditionalFormat;
|
CF: TsConditionalFormat;
|
||||||
rule: TsCFCellRule;
|
rule: TsCFCellRule;
|
||||||
begin
|
begin
|
||||||
@ -4157,7 +4154,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TsSpreadOOXMLWriter.WriteConditionalFormatColorRangeRule(AStream: TStream;
|
procedure TsSpreadOOXMLWriter.WriteConditionalFormatColorRangeRule(AStream: TStream;
|
||||||
ARule: TsCFColorRangeRule; const ARange: TsCellRange; APriority: Integer);
|
ARule: TsCFColorRangeRule; APriority: Integer);
|
||||||
{ example:
|
{ example:
|
||||||
<cfRule type="colorScale" priority="3">
|
<cfRule type="colorScale" priority="3">
|
||||||
<colorScale>
|
<colorScale>
|
||||||
@ -4189,7 +4186,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TsSpreadOOXMLWriter.WriteConditionalFormatDatabarRule(AStream: TStream;
|
procedure TsSpreadOOXMLWriter.WriteConditionalFormatDatabarRule(AStream: TStream;
|
||||||
ARule: TsCFDataBarRule; const ARange: TsCellRange; APriority: Integer);
|
ARule: TsCFDataBarRule; APriority: Integer);
|
||||||
{ example from test file:
|
{ example from test file:
|
||||||
<cfRule type="dataBar" priority="1">
|
<cfRule type="dataBar" priority="1">
|
||||||
<dataBar>
|
<dataBar>
|
||||||
@ -4225,10 +4222,10 @@ begin
|
|||||||
WriteConditionalFormatCellRule(AStream, TsCFCellRule(ARule), ARange, APriority)
|
WriteConditionalFormatCellRule(AStream, TsCFCellRule(ARule), ARange, APriority)
|
||||||
else
|
else
|
||||||
if ARule is TsCFColorRangeRule then
|
if ARule is TsCFColorRangeRule then
|
||||||
WriteConditionalFormatColorRangeRule(AStream, TsCFColorRangeRule(ARule), ARange, APriority)
|
WriteConditionalFormatColorRangeRule(AStream, TsCFColorRangeRule(ARule), APriority)
|
||||||
else
|
else
|
||||||
if ARule is TsCFDataBarRule then
|
if ARule is TsCFDataBarRule then
|
||||||
WriteConditionalFormatDataBarRule(AStream, TsCFDataBarRule(ARule), ARange, APriority)
|
WriteConditionalFormatDataBarRule(AStream, TsCFDataBarRule(ARule), APriority)
|
||||||
else
|
else
|
||||||
exit;
|
exit;
|
||||||
dec(APriority);
|
dec(APriority);
|
||||||
@ -6135,7 +6132,6 @@ procedure TsSpreadOOXMLWriter.WriteDifferentialFormat(AStream: TStream;
|
|||||||
|
|
||||||
var
|
var
|
||||||
pt, bc, fc, diag: string;
|
pt, bc, fc, diag: string;
|
||||||
font: TsFont;
|
|
||||||
begin
|
begin
|
||||||
AppendToStream(AStream,
|
AppendToStream(AStream,
|
||||||
'<dxf>');
|
'<dxf>');
|
||||||
|
Reference in New Issue
Block a user