Тема: Как победить включение\выключение элемента

Пробовал и "mode_tile" и "is_enabled" , но что-то не получается.
Смысл такой:
До выбора поля "Другой" поле "Число знаков" должно быть не активно.
Подскажите пожалуйста.
Текст LISP:

(DEFUN C:prb (/ chis nabor nn znac t2 dim ch ch1 zn2)
  (alert
    "Выберете строки содержащие \nчиловые значения, для \nдольнейшей операции с ними"
  )
  (SETQ
    dim      (getvar "dimzin")
    nabor (SSGET '((0 . "*text")))
    nn      (SSLENGTH nabor)
    i      -1
    ch1      1
    zn2      1
  )
  (if (< (setq dcl_id (load_dialog "D:\\Геодезия\\Лисп\\My1.DCL"))
     0
      )
    (exit)
  )
  (new_dialog "my_dial" dcl_id)
  (action_tile
    "accept"
    (strcat
      "(setq ch (atof (get_tile \"chislo\")))"
      "(setq znak (atoi (get_tile \"zzn\")))"
      "(done_dialog)"
    )
  )
  (action_tile
    "r1"
    "(setq ch1  1)"
  )
  (action_tile
    "r2"
    "(setq ch1  2)"
  )
  (action_tile
    "r3"
    "(setq ch1  3)"
  )
  (action_tile
    "r4"
    "(setq ch1  4)"
  )
  (action_tile
    "c1"
      (strcat
    "(setq zn2  1)"
    "(mode_tile \"zzn\" 1)"
  ))
  (action_tile
    "c3"
    "(setq zn2  3)"
  )
  (action_tile
    "c4"
    "(setq zn2  4)"
  )
  (action_tile
    "c5"
    "(setq zn2  5)"
  )
  (action_tile
    "c6"
    "(setq zn2  6)"
  )
  (action_tile
    "c7"
    "(setq zn2  7)"
  )
  (start_dialog)
  (setvar "dimzin" 1)
  (REPEAT nn
    (setq r2
       (vl-string-subst
         "."
         ","
         (CDR
           (ASSOC 1 (ENTGET (SSNAME nabor (SETQ i (1+ i)))))
         )
       )
    )
    (if    (wcmatch r2 "*@*")
      ()
      (progn
    (SETQ chis (ATOF r2)
          z2   (cond
             ((= zn2 1)
              (- (strlen (vl-string-subst "" "." r2))
             (strlen (rtos (atof r2) 2 0))
              )
             )
             ((= zn2 3) 0)
             ((= zn2 4) 1)
             ((= zn2 5) 2)
             ((= zn2 6) 3)
             ((= zn2 7) znak)
           )
    
    t2
    (ENTGET
      (SSNAME nabor i)
    )
    znac
    (cond
      ((= ch1 1) (+ ch chis))
      ((= ch1 2) (- ch chis))
      ((= ch1 3) (* ch chis))
      ((= ch1 4) (/ chis ch))
    )
    t2
    (SUBST
      (CONS    1
        (rtos znac 2 z2)
      )
      (ASSOC 1 t2)
      t2
    )
      )
      (entmod t2)
      (entupd (entlast))
    )
  )
)
(setvar "dimzin" dim)
(unload_dialog dcl_id)
(princ)
)

файл DCL

my_dial: dialog{label="Калькулятор";
:row{label="";
:column{label="";children_fixed_height=true;
:radio_column{label="Чё делать будем?";key="k1";
:radio_button{label="число + набор";key="r1";value="1";}
:radio_button{label="число - набор";key="r2";value="0";}
:radio_button{label="число * набор";key="r3";value="0";}
:radio_button{label="набор / число";key="r4";value="0";}
}
:edit_box{label="Число"; key="chislo"; value="0"; edit_width=6;}
}
:column{label="";children_alignment=top;
:radio_column{label="Число знаков после запятой?";key="c01";
:radio_button{label="как в исходном";key="c1";value="1";action="(mode_tile \"zzn\" 1)";}
:radio_button{label="нет";key="c3";value="0";action="(mode_tile \"zzn\" 1)";}
:radio_button{label="1";key="c4";value="0";action="(mode_tile \"zzn\" 1)";}
:radio_button{label="2";key="c5";value="0";action="(mode_tile \"zzn\" 1)";}
:radio_button{label="3";key="c6";value="0";action="(mode_tile \"zzn\" 1)";}
:radio_button{label="другое";key="c7";value="0";action="(mode_tile \"zzn\" 0)";}
}
:edit_box{label="Число знаков"; key="zzn"; value="0"; edit_width=6;}
}}
ok_button;
}

Re: Как победить включение\выключение элемента

Не вдаваясь в подробности и правильности.
Инициализация элементов диалога должна быть произведена до вызова (start_dialog).

  (new_dialog "my_dial" dcl_id)
  (action_tile
    "accept"
    (strcat
      "(setq ch (atof (get_tile \"chislo\")))"
      "(setq znak (atoi (get_tile \"zzn\")))"
      "(done_dialog)"
    )
  )
[b]  (mode_tile "zzn" 1)[/b]
  (action_tile "r1" "(setq ch1 1)")
  (action_tile "r2" "(setq ch1 2)")
  (action_tile "r3" "(setq ch1 3)")
  (action_tile "r4" "(setq ch1 4)")
  (action_tile "c1" "(setq zn2 1) (mode_tile \"zzn\" 1)")
  (action_tile "c3" "(setq zn2 3) (mode_tile \"zzn\" 1)")
  (action_tile "c4" "(setq zn2 4) (mode_tile \"zzn\" 1)")
  (action_tile "c5" "(setq zn2 5) (mode_tile \"zzn\" 1)")
  (action_tile "c6" "(setq zn2 6) (mode_tile \"zzn\" 1)")
  (action_tile "c7" "(setq zn2 7) (mode_tile \"zzn\" 0)")

Re: Как победить включение\выключение элемента

Если нет разницы:

(action_tile
    "accept"
 (strcat
      "(setq ch (atof (get_tile \"chislo\")))"
      "(setq znak (atoi (get_tile \"zzn\")))"
      "(done_dialog)"
 )
)

и

(action_tile
    "accept"
"(setq ch (atof (get_tile \"chislo\")))
 (setq znak (atoi (get_tile \"zzn\")))
 (done_dialog)"
)

То почему в учебники предлагают пользоваться STRCAT