Ten kod je dost hrozny.
1) Je tam dvakrat ten isty kod
2) Nemozes sa spoliehat na to, ze je ta pravdepodobnost mala
3) Nie su tam osetrene chyby

Keby si zacal bodom 3), mozno nemusis riesit tie ostatne veci (v Delphi som uz dlho nerobil, preto "mozno").