Конвертирование значения в логическое
(defun ru-conv-value-to-bool (value / type_val)
;; преобразует значение любого типа в T или NIL
;|
(ru-conv-value-to-bool 1) >T
(ru-conv-value-to-bool 0) >nil
(ru-conv-value-to-bool T) >T
(ru-conv-value-to-bool nil) >nil
(ru-conv-value-to-bool "N") >nil
(ru-conv-value-to-bool "Y") >("Y" "" "YES" "ДА" "Д" "T" "TRUE" ".T.")
(ru-conv-value-to-bool "Да") ("ДА" "Д" "T" "TRUE" ".T.")
(ru-conv-value-to-bool "Строка") nil
|;
(cond
((= (setq type_val (type value)) 'INT)(/= value 0))
((= type_val 'REAL) (/= value 0.0))
((= type_val 'STR) (ru-conv-str-to-bool value))
((= type_val 'variant)
(= (vlax-variant-value value) :vlax-true)
)
(t value)
)
)