Czemu dwa identyczne kody zwracają inne wartości?

0
function GetRightNumber($i)
{
  if ($i > 25) return ($i % 25);
    else return $i;
}

  $i = date("d");
  $l = 59 - $i;
  $k = date("H");
  $j = 52 + date("N") - $k;

  $i = GetRightNumber($i) + 65;
  $l = GetRightNumber($l) + 65;
  $k = GetRightNumber($k) + 65;
  $j = GetRightNumber($j) + 65;

  echo chr($i).chr($l).chr($k).chr($j)."  <BR>";

end;

zwraca: EFTO (dzisiaj o 19)

function GetRightNumber(I: Integer): Integer;
begin
  if I > 25 then Result := I mod 25
    else Result := I;
end;

procedure TForm1.Button1Click(Sender: TObject);
var I, J, K, L: Integer;
begin
  I := DayOf(Now);
  L := 59 - I;
  K := HourOf(Now);
  J := 52 + WeekOf(Now) - K;

  I := GetRightNumber(I) + 65;
  J := GetRightNumber(J) + 65;
  K := GetRightNumber(K) + 65;
  L := GetRightNumber(L) + 65;

  Edit1.Text := Chr(I) + Chr(L) + Chr(K) + Chr(J);
end;

zwraca: EFTB

Gdzieś musi być ta różnica, ale gdzie?

0
  if ($i > 25) return ($i % 25);
    else return $i;

Co to za twór?

return $i%25;
0
date("N")

Zwraca ci 6 (sobota)

WeekOf(Now)

Zwraca 43 (tydzień)

1 użytkowników online, w tym zalogowanych: 0, gości: 1