Ввод числа с произвольной точностью

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Ввод числа с произвольной точностью

Сообщение Игорь Столяров »

Привет всем !

Есть странная задача. Но она есть. :(
Нужно вводить (и отображать) число в поле SPIN с произвольной точностью.

- Вводим 1 отображаем 1
- Вводим 1.23 отображаем 1.23
- Вводим 1.234 отображаем 1.234
и т.д.

Ничего умней, чем сделать переменную REAL и задать шаблон ввода @S15 - я не придумал.
И в общем-то всё хорошо, вот только отсутствие значения отображается как "0" и это нельзя подавить. :(
Или можно ?

Не предлагать пожалуйста варианты:
1. Шаблон ввода @S15B - ошибки нет, но и не работает.
2. Обработки - не работают:

Код: Выделить всё

    If Loc:MyField = 0 then ?Loc:MyField{Prop:Value} = ''.
    If Loc:MyField = 0 then Erase(?Loc:MyField).
Есть идеи как это сделать ? Заранее спасибо ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
VWV
Бывалый
Сообщения: 60
Зарегистрирован: 12 Июнь 2015, 22:59
Откуда: Новороссийск
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Ввод числа с произвольной точностью

Сообщение VWV »

Я использую переменные тип CSTRING() и picture поля @Sn.
Проверяю аля: IF Var AND NOT NUMERIC(Var) THEN SELECT(?Var); CYCLE.
DecimalKey обрабатывается как обычно.
Пусто не светится как 0, а ноль видно. Можно вводить даже 0.0
Для вычислений переприсваиваю loc:Var = Var и работаю с loc:Var, где loc:Var REAL
Последний раз редактировалось VWV 16 Апрель 2022, 23:03, всего редактировалось 2 раза.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Ввод числа с произвольной точностью

Сообщение kreator »

Помнится мне, делал поле не Real, а String. Обработка в этом случае работает. Могу поискать в анналах.
We are hard at work… for you. :)
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7327
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

Ввод числа с произвольной точностью

Сообщение Игорь Столяров »

VWV писал(а): 16 Апрель 2022, 17:12 Я использую переменную CSRING и picture @S.
Спасибо ! Работает. :)
Это немного не то, что я бы хотел - но видимо других вариантов нет ...
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить