Тип переменной, строковые и числовые переменные, операторы ввода и факты.



Posted by Анатолий Анимица on February 02, 2000 at 13:18:47:

In Reply to: Окажите помощь posted by Демехина Яна on February 02, 2000 at 01:55:26:

Яна Демехина: и все, кто сталкивается с различиями в поведении модулей ФБП (серверы разных версий, Ultra-16, Ultra-32 etc.) над, казалось бы, одинаковыми значениями переменных.
Мы уже несколько раз обсуждали эту проблему, в частности, с использованием оператора


? R <переменная>

Есть такая штука в "ФБП", в известной мере - несущественная, если придерживаться определеннных правил.
1. Контролируйте типы переменных на вводе! В формах - применяйте [ir ..] и [is..], в ветвях операций - блокируйте ошибочный тип баллонами [ch 250]+N.. [ch 250]+S.., на выходе search b news - проверяйте типы, полученные по [success] и приводите их в чувство - [strip..],[intsn..] и так далее.

Внимание Надо помнить, что если субсчет выглядит как число, то его обозначение в поле факта будет числовым! Если важно, чтобы это была строка - или не применяйте чисто цифровых обозначений субсчетов, или восстанавливайте строковое значение известными вам способами.

2. Очень опасно искать факт по цифровому полю, прямо задавая образец. Это же двоичная арифметика! Да еще с плавающей точкой - гораздо спокойнее отловить все такие факты в массив, а потом "попадание" числа в диапазон контролировать расстоянием (a-b) in -0.000001..0.000001 - и лучше не сужать точность лучше чем 1E-6 (одной миллионной).

Вот и все.

ААА


Пpишедшие ответы: