OberonCore
https://forum.oberoncore.ru/

Controls.SetField - навед-е крс-ты - устр-е тожд.-ист. пред.
https://forum.oberoncore.ru/viewtopic.php?f=131&t=2138
Страница 1 из 1

Автор:  Евгений Темиргалеев [ Понедельник, 30 Ноябрь, 2009 17:12 ]
Заголовок сообщения:  Controls.SetField - навед-е крс-ты - устр-е тожд.-ист. пред.

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

Автор:  Info21 [ Понедельник, 30 Ноябрь, 2009 20:32 ]
Заголовок сообщения:  Re: Controls.SetField - навед-е крс-ты - устр-е тожд.-ист. пред.

Евгений Темиргалеев писал(а):
Заменить
Код:
            ELSIF x # "-" THEN
            на
            ELSE
В таких случаях полезно вставить ELSE ASSERT( x # "-" )

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/