Код:
| 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