(defun c:tinh()
(vl-load-com)
(if (not ptinh) (setq ptinh "+"))
(if (not ssle) (setq ssle 0))
(initget "+ - * / ~")
(setq ptinh1 (getkword (strcat "Chon phep tinh ( + - * / ~ ) <" ptinh "> :"))
ssle1 (getint (strcat "\nSo so le <" (itoa ssle) ">: ")))
(if ptinh1 (setq ptinh ptinh1))
(if ssle1 (setq ssle ssle1))
(cond ((= ptinh "+") ;;; cong
(prompt "\nChon text de cong:")
(setq ss (ssget '((0 . "TEXT")))
kqua 0)
(while (and ss (> (sslength ss) 0))
(setq kqua (+ kqua (atof (cdr (assoc 1 (entget (setq ent (ssname ss 0))))))))
(ssdel ent ss))
(princ kqua))
((= ptinh "~") ;;; trung binh cong
(prompt "\nChon text de tinh trung binh cong:")
(setq ss (ssget '((0 . "TEXT")))
sl (sslength ss)
kqua 0)
(while (and ss (> (sslength ss) 0))
(setq kqua (+ kqua (atof (cdr (assoc 1 (entget (setq ent (ssname ss 0))))))))
(ssdel ent ss))
(setq kqua (/ kqua sl))
(princ kqua))
((= ptinh "*") ;;;nhan
(prompt "\nChon text de nhan:")
(setq ss (ssget '((0 . "TEXT")))
kqua 1)
(while (and ss (> (sslength ss) 0))
(setq kqua (* kqua (atof (cdr (assoc 1 (entget (setq ent (ssname ss 0))))))))
(ssdel ent ss))
(princ kqua))
((= ptinh "-") ;;;tru
(setq sobitru (car (entsel "\nChon so bi tru:"))
sotru (car (entsel "\nChon so tru:\n"))
kqua (- (atof (cdr (assoc 1 (entget sobitru))))
(atof (cdr (assoc 1 (entget sotru))))))
(princ kqua))
((= ptinh "/") ;;;chia
(setq sobichia (car (entsel "\nChon so bi chia:"))
sochia (car (entsel "\nChon so chia:\n"))
kqua (/ (atof (cdr (assoc 1 (entget sobichia))))
(atof (cdr (assoc 1 (entget sochia))))))
(princ kqua))
)
(setq obj (vlax-ename->vla-object (car (entsel "\nChon text de ghi ket qua:"))))
(vla-put-TextString obj (rtos kqua 2 ssle))
(princ)
)