(progn
;;=========Для расчёта геометрии четырёхзвенного механизма==============
(defvar *L1*) ;;стойка, мм
(defvar *L2*) ;;кривошип, мм
(defvar *L3*) ;;шатун, мм
(defvar *L4*) ;;коромысло, мм
(defvar *step*) ;;шаг угла поворота, рад
(defvar *tmp-lst-of-val-PHI2*)
(defvar *lst-of-val-PHI2*) ;; Лист углов кривошипа φ2 за один оборот
(defvar *tmp-val-PHI2*) ;; угол 0рад в листе отсутсвует
(defvar *lst-of-angles-tg-PHIs*) ;;лист значений тангенса угла tg(PHIs)
(defvar *lst-val-PHIs*) ;;Лист значений угла PHIs
(defvar *lst-of-vector-s*) ;;лист значений вектора s
(defvar *lst-val-PHI4s*) ;;лист значений PHI4s
(defvar *lst-val-PHI3s*) ;;лист значений PHI3s
(defvar *lst-val-PHI4*) ;;Лист значений углов PHI4 рад
(defvar *lst-val-PHI3*) ;;лист значений углов PHI3 рад
(defvar *count-max*) ;;счёт листа начинается с 0.
(defvar *count-min*)
(setq *tmp-lst-of-val-PHI2* nil)
(setq *lst-of-val-PHI2* nil);; Лист углов кривошипа φ2 за один оборот
(setq *tmp-val-PHI2* 0.0) ;; угол 0рад в листе отсутсвует
(setq *lst-of-angles-tg-PHIs* nil) ;;лист значений тангенса угла tg(PHIs)
(setq *lst-val-PHIs* nil) ;;Лист значений угла PHIs
(setq *lst-of-vector-s* nil) ;;лист значений вектора s
(setq *lst-val-PHI4s* nil) ;;лист значений PHI4s
(setq *lst-val-PHI3s* nil) ;;лист значений PHI3s
(setq *lst-val-PHI4* nil) ;;Лист значений углов PHI4 рад
(setq *lst-val-PHI3* nil) ;;лист значений углов PHI3 рад
(setq *count-max* 0) ;;счёт листа начинается с 0.
(setq *count-min* 0))
;;;============ввод данных=======================
;;; Проверка на число
(defun string-to-number (n)
(car (list (read-from-string n))))
(defun alarm ()
(do-msg "Введите число"))
(with-ltk ()
(let* ((window (make-instance 'frame))
#-:tk84
;;стойка, мм
(base (make-instance 'label :master window
:text "Стойка: "))
(e-base (make-instance 'entry :master window))
(base-units (make-instance 'label :master window
:text "мм"))
;;кривошип, мм
(crank (make-instance 'label :master window
:text "Кривошип: "))
(e-crank (make-instance 'entry :master window))
(crank-units (make-instance 'label :master window
:text "мм"))
;;шатун, мм
(bar (make-instance 'label :master window
:text "Шатун: "))
(e-bar (make-instance 'entry :master window))
(bar-units (make-instance 'label :master window
:text "мм"))
;;коромысло, мм
(beam (make-instance 'label :master window
:text "Коромысло: "))
(e-beam (make-instance 'entry window))
(beam-units (make-instance 'label :master window
:text "мм"))
(divide-step (make-instance 'label :master window
:text "Шаг разбивки окружности: "))
(e-divide-step (make-instance 'entry window))
(divide-step-units (make-instance 'label :master window
:text "рад"))
(b1 (make-instance 'button
:master window
:text "Поехали"
:command (lambda ()
(progn
;;стойка, мм
(if (numberp (string-to-number
(text e-base)))
(setf *L1* (string-to-number
(text e-base)))
(alarm))
;;кривошип, мм
(if (numberp (string-to-number
(text e-base)))
(setf *L2* (string-to-number
(text e-crank)))
(alarm))
;;шатун, мм
(if (numberp (string-to-number
(text e-base)))
(setf *L3* (string-to-number
(text e-bar)))
(alarm))
;;коромысло, мм
(if (numberp (string-to-number
(text e-base)))
(setf *L4* (string-to-number
(text e-beam)))
(alarm))
;;Шаг разбивки окружности
(if (numberp (string-to-number
(text e-divide-step)))
(setf *step*
(string-to-number
(text e-divide-step)))
(alarm)))))))
(pack window)
(pack base)
(pack e-base)
(pack base-units)
(pack crank)
(pack e-crank)
(pack crank-units)
(pack bar)
(pack e-bar)
(pack bar-units)
(pack beam)
(pack e-beam)
(pack beam-units)
(pack divide-step)
(pack e-divide-step)
(pack divide-step-units)
(pack b1)))
Не могу понять где у ошибки ноги растут?
keyword argument not a symbol: #<FRAME {10055CA4E3}>. [Condition of type SB-INT:SIMPLE-PROGRAM-ERROR]
и вот ещё
; in: WITH-LTK () ; (MAKE-INSTANCE 'LTK:ENTRY LTK::WIN) ; ; caught STYLE-WARNING: ; The function has an odd number of arguments in the keyword portion. ; ; caught STYLE-WARNING: ; The function has an odd number of arguments in the keyword portion. ; ; compilation unit finished ; caught 2 STYLE-WARNING conditions