mam taki maly a zarazem strasznie dziwny problem. Przy starcie programu (w onCreate) Mam Reg.ReadString('ilosc'); w skrocie z rejestru ma zostać pobrany string z cyfrą następnie zamieniam go na integera strtoint i ODEJMUJE OD NIEGO 1 i zapisuje do rejestru znow jako string nową ilosc (po drodze jest wyswietlana w kilku miejscach wiec dlatego latwiej mi bylo uzyc stringa) -- i tu pojawia się dziwny problem
p := Reg.ReadString('ilosc');
k:= strtoint(p);
k:= k-1;
p:=inttostr(k);
Reg.WriteString('ilosc',p);
za pierwszym uruchomieniem probraframu mam wiec 130-1 i to daje 129 i taka wartosc jest zapisywana do rejestru, niestety przy kolejnych uruchomieniach zamiast pojawiac sie kolejno wartosci 128, 127,126 itd. w wyniku odejmowania pojawia sie kolejno 129, 119, 109, 99, 89, 79 itd.
Nie umie sobie z tym poradzic -- odejmuje przeciez 1 a dostaje w wyniku cos jak bym odejmowal 10. Probowalem zmienic pozniej na Reg.WriteInteger('ilosc',130) - ale to nic nie dalo i dale jest ten blad!