Aloha!
folgenden PHP code möchte ich gerne nach Delphi übersetzen:
Code:
define('CON_COUNT', 10);
define('SEC_COUNT', 10);
define('SUB_COUNT', 5);
function coord_to_xy($con, $sec, $sub) {
$x = $sub%SUB_COUNT + ($sec%SEC_COUNT)*SUB_COUNT + ($con%CON_COUNT)*SUB_COUNT*SEC_COUNT;
$y = floor($sub/SUB_COUNT) + floor($sec/SEC_COUNT)*SUB_COUNT + floor($con/CON_COUNT)*SUB_COUNT*SEC_COUNT;
return array($x, $y);
}
mein versuch war:
Delphi-Quellcode:
const
CON_COUNT = 10;
SEC_COUNT = 10;
SUB_COUNT = 10;
type TS4coords = record
con: Integer;
sec: Integer;
sub: Integer;
end;
type TS2coords = record
x: Integer;
y: Integer;
end;
function coord_to_xy(coords: TS4Coords): TS2coords;
var x,y: Integer;
begin
x := (coords.sub mod SUB_COUNT) + (coords.sec mod SEC_COUNT)*SUB_COUNT + (coords.con mod CON_COUNT)*SUB_COUNT*SEC_COUNT;
y := Floor(coords.sub div SUB_COUNT) + Floor(coords.sec div SEC_COUNT)*SUB_COUNT + Floor(coords.con div CON_COUNT)*SUB_COUNT*SEC_COUNT;
Result.x := x;
Result.y := y;
end;
Es geht um die Umrechnung zweier verschiedener Koordinatensysteme. Nur scheint meine Delphi Variante nciht wirklich dasselbe rauszubekommen wie obige PHP Version. Findet ihr einen Fehler, oder wie würdet ihr das umsetzen?
edit:
jetzt hab ichs nach ein paar stunden (ok, minuten
) verzweifelter suche doch noch gefunden... konstanten falsche werte zugewiesen
sorry