logo search
ZX-Review-1992-01-12

13. Ошибка SCREEN$.

Эта ошибка похожа на ошибку STR$. При расчете функции SCREEN$ из БЕЙСИКа на вершине стека калькулятора полученный результат ошибочно дублируется.

Врезультате такое выражение, как:

IF "x" = SCREEN$ (0,0) THEN PRINT "KU KU"

всегда будет печатать "KU KU", независимо от того, что имеется на экране в позиции

скоординатами (0,0). К счастью, эта ошибка характерна только для БЕЙСИКа. Соответствующая процедура ПЗУ при вызове ее из машинного кода работает нормально (о том, как ее использовать, мы писали в книге "Элементарная графика", т.1).

ВБЕЙСИКе путь обхода этой ошибки прост и выполняется переприсвоением переменной:

LET a$ = SCREEN$ (0,0):

IF "x" = a$ THEN PRINT "KU KU"