Komisch bei folgender Routine hat sich mir irgendwie eine while-Schlaife aufgedrängt. Ich weiß auch nicht warum:
Delphi-Quellcode:
function GetNextLowerPLZFromList(
var PLZ: Integer; PLZSunHours: TPLZSunHours): Integer;
var
i: Integer;
begin
// Raises EPLZNotInList exception if no lower PLZ can be found
i := High(PLZSunHours);
while (PLZ < PLZSunHours[i, 0])
and (i > -1)
do
begin
Dec(i);
end;
if i = -1
then
Raise EPLZNotInList.Create(rsENotInList);
PLZ := PLZSunHours[i, 0];
Result := PLZSunHours[i, 0];
end;