Код:
         | Meta.sRealTyp:
            IF (x = "") OR (x = "-") THEN r := 0; res := 0 ELSE Strings.StringToReal(x, r, res) END;
            IF (res = 0) & (r >= MIN(SHORTREAL)) & (r <= MAX(SHORTREAL)) THEN
               or := c.item.RealVal();
               IF r # or THEN c.item.PutRealVal(r); Notify(c, f, Dialog.changed, 0, 0) END
(1)         ELSIF x # "-" THEN
               Dialog.Beep
            END
         | Meta.realTyp:
            IF (x = "") OR (x = "-") THEN r := 0; res := 0 ELSE Strings.StringToReal(x, r, res) END;
            IF res = 0 THEN
               or := c.item.RealVal();
               IF r # or THEN c.item.PutRealVal(r); Notify(c, f, Dialog.changed, 0, 0) END
(2)         ELSIF x # "-" THEN
               Dialog.Beep
            END
 При вычислении x # "-" в (1) и (2):
(1) ~( (res = 0) & (r >= MIN(SHORTREAL)) & (r <= MAX(SHORTREAL)) ) -> x # "-"
(2) ~(res = 0) -> x # "-"
Заменить
Код:
            ELSIF x # "-" THEN
            на
            ELSE