You've already forked lazarus-ccr
LazStats: Remove remaining goto instructions from the crosstab BreakDown procedure
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@7711 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@@ -102,8 +102,6 @@ type
|
|||||||
|
|
||||||
|
|
||||||
procedure TCrossTabCalculator.BreakDown;
|
procedure TCrossTabCalculator.BreakDown;
|
||||||
label
|
|
||||||
2,3,4;
|
|
||||||
var
|
var
|
||||||
i, j, row, col, bigmax: integer;
|
i, j, row, col, bigmax: integer;
|
||||||
ptr1, ptr2: Integer;
|
ptr1, ptr2: Integer;
|
||||||
@@ -168,23 +166,22 @@ begin
|
|||||||
sum := 0;
|
sum := 0;
|
||||||
row := row + 1;
|
row := row + 1;
|
||||||
|
|
||||||
2:
|
|
||||||
if ptr1 < 1 then
|
if ptr1 < 1 then
|
||||||
break;
|
break;
|
||||||
|
|
||||||
subscript[ptr1-1] := subscript[ptr1-1] + 1;
|
subscript[ptr1-1] := subscript[ptr1-1] + 1;
|
||||||
if subscript[ptr1-1] <= levels[ptr1-1] then
|
if subscript[ptr1-1] > levels[ptr1-1] then
|
||||||
goto 4;
|
begin
|
||||||
|
repeat
|
||||||
|
ptr1 := ptr1 - 1;
|
||||||
|
if ptr1 < 1 then
|
||||||
|
break;
|
||||||
|
until subscript[ptr1-1] < levels[ptr1-1];
|
||||||
|
if ptr1 < 1 then
|
||||||
|
break;
|
||||||
|
subscript[ptr1-1] := subscript[ptr1-1] + 1;
|
||||||
|
end;
|
||||||
|
|
||||||
3:
|
|
||||||
ptr1 := ptr1 - 1;
|
|
||||||
if ptr1 < 1 then
|
|
||||||
break;
|
|
||||||
if subscript[ptr1-1] >= levels[ptr1-1] then
|
|
||||||
goto 3;
|
|
||||||
subscript[ptr1-1] := subscript[ptr1-1] + 1;
|
|
||||||
|
|
||||||
4:
|
|
||||||
for i := ptr1 + 1 to no_in_list do
|
for i := ptr1 + 1 to no_in_list do
|
||||||
subscript[i-1] := 1;
|
subscript[i-1] := 1;
|
||||||
ptr1 := no_in_list - 1;
|
ptr1 := no_in_list - 1;
|
||||||
|
Reference in New Issue
Block a user