Gute Idee!
Zitat:
in_module : ARRAY [0..MAXMOD - 1] OF TRectangle;
Ich muß alle Arrays mal darauf überprüfen -- aber zunächst hat es noch keine Wirkung gezeigt.
Die Schleife sieht wie folgt aus:
Delphi-Quellcode:
IF i > to_slice+1 THEN
BEGIN
FOR j := to_slice TO i-1 DO
BEGIN
in_module[j].height := in_module[j+1].height;
in_module[j].width := in_module[j+1].width;
in_module[j].area := in_module[j+1].area;
in_module[j].ptr := in_module[j+1].ptr;
in_module[j].ptr.key := j; // <= geht schief
END;
in_module[i-1].height := other_cut;
in_module[i-1].width := width;
in_module[i-1].area := other_cut * width;
END;
In C sieht sie so aus:
Code:
if (i > to_slice+1)
{
for (j = to_slice; j < i-1; j++)
{
in_module[j].height = in_module[j+1].height;
in_module[j].width = in_module[j+1].width;
in_module[j].area = in_module[j+1].area;
in_module[j].ptr = in_module[j+1].ptr;
in_module[j].ptr->key = j;
}
in_module[i-1].height = height;
in_module[i-1].width = other_cut;
in_module[i-1].area = height*other_cut;
}
Dankeschön
Jazzman