|
![]() |
#1 |
Участник
|
ну, так я о том и написал, что BP не разрешает делать такие трюки с метками!
кстати говоря, а как проверить, что мы при импорте из текстового поля получили существующее значение перечисления (enum)? как известно, первым идёт значение 0, оно же выбирается по умолчанию. как быть? вот это вот "если не преобразовалось" - это как?
__________________
Felix nihil admirari |
|
![]() |
#2 |
Участник
|
Цитата:
При создании enum не присваивать ни одному из его значений код 0. Значение по умолчанию, все равно останется ноль, т.к. enum - это int, но теперь оно не будет совпадать ни с одним из его реальных значений. Вариант 2. Перед использованием явно проинициализировать переменную enum несуществующим значением, например отрицательным. |
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от S.Kuskov
![]() Вариант 1.
При создании enum не присваивать ни одному из его значений код 0. Значение по умолчанию, все равно останется ноль, т.к. enum - это int, но теперь оно не будет совпадать ни с одним из его реальных значений. Вариант 2. Перед использованием явно проинициализировать переменную enum несуществующим значением, например отрицательным. Вариант 3 - добавить в enum значение с 0 под названием None |
|
|
За это сообщение автора поблагодарили: Logger (3). |
![]() |
#4 |
Участник
|
речь изначально шла об импорте значений из файла. соответственно нет нужды что-то менять на существующих enum. тем более для таких, как NoYes, например.
__________________
Felix nihil admirari |
|
![]() |
#5 |
Участник
|
Цитата:
Можно еще хранить признак корректности импорта где-то еще - в другом поле или даже в другой таблице. Но лучше не декларировать что в поле может быть только No и Yes и писать туда 3.145928 Последний раз редактировалось belugin; 07.11.2014 в 17:55. |
|
![]() |
#6 |
Участник
|
боюсь, я не понял, что ты сказал про декларацию. можешь пример привести?
__________________
Felix nihil admirari |
|