Mam taki kłopot w Turbo Basicu, ale nie wiem czy może dotyczyć też zwykłego Basica.
Mam w programie coś takiego w podprogramie po GOSUB:
DIM A$(1)
...
K=0
INPUT A$
IF A$="X" THEN K=1
? A$,K
RETURN
Kłopot polega na tym, że czasami warunek się sprawdza, a czasami nie chce zaskoczyć. Program w pętli działa, ciągle wyświetlając od nowa INPUT, wprowadzam sobie jakiś znak i w 90% przypadków znak jest wprowadzony, ale od czasu do czasu pomimo, że go wprowadzam, to ? wyświetla mi nic dla A$ a K=0, chociaż powinno być 1
Czy jest jakiś znany błąd związany z poleceniem INPUT, albo jakieś zastrzeżenia co do użycia tego polecenia np. w pętlach, albo w podprogramach GOSUB?
Edit: wygląda na to, że znalazłem pewną prawidłowość, ale i tak bym chciał to jakoś wyjaśnić.
Otóż w swoim programie mam szereg warunków:
IF A$="X" THEN K=1
IF A$="Y" THEN K=2
IF A$="Z" THEN K=3
Problem zaczął się jak chciałem jeszcze sprawdzać wciśnięcie samego Return. Dodałem warunek:
IF A$=" " THEN K=9
Próbowałem też IF A$="" THEN K=9
W obu przypadkach działa tak sprawdzanie pustego stringu - ale właśnie czasem działa a czasem nie, a oprócz tego dodanie takiego warunku powoduje że wszystkie pozostałe "normalne warunki" też zaczynają działac czasami, a czasami nie.
Ciekawe...