QUẢNG CÁO ĐẦU TRANG

Collapse

Thông báo

Collapse
No announcement yet.

Tính toán công thức trong chuỗi

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Tính toán công thức trong chuỗi

    Xin các cao thủ chỉ giáo cho cách lập hàm xử lý công thức trong chuỗi
    VD : "8.5*2-2"----> 15
    Em chỉ xử lý được với 1 phép tính thôi, hơn 2 phép tính là chịu rồi.
    Lập được hàm này thì quả là tiện lợi khi dùng Edit box.

  • #2
    Ðề: Tính toán công thức trong chuỗi

    -Đơn giản thôi, bạn dùng lệnh cal rồi đánh biểu thức vào -> Enter.
    Nhưng chắc ý bạn là muốn đánh biểu thức trong màn hình rồi đánh thêm dấu =, sau đó ra lệnh cho nó tính chứ gì? Làm biến kiếu này cũng giống tớ đấy, tặng bạn đoạn mã tớ viết vì những kẻ làm biến.. như tớ cách đây 5 năm:

    (defun c:TBT ()
    (setq bt (entsel "chon BIEU THUC:"))
    (setq tbt (car bt))
    (setq dlbt (entget tbt))
    (setq lbt (assoc 1 dlbt))
    (setq strbt (cdr lbt))
    (setq n (strlen strbt))
    (setq ss (substr strbt n ))
    (if (= ss "=") (setq strbt (substr strbt 1 (- n 1))) (setq strbt strbt))
    (setq kq (C:CAL strbt)) ;;;dat bieu thuc vao ham CAL
    (setq strkq (rtos kq))
    ;;;======================================noi ket qua vao bieu thuc
    (setq strkq ( strcat strbt "=" strkq))
    (setq dldbt (cons 1 strkq))
    (entmod (subst dldbt lbt dlbt))
    )

    Chắc là bạn biết xài Lisp, nên không cần hướng dẫn thêm, chỉ lưu ý với bạn là đọan mã này sử dụng lệnh CAL chuẫn làm sub cho nên trước khi dùng lệnh này lần đầu tiên bạn phải dùng lệnh CAL để cho CAD nạp hàm này vào bộ nhớ. Hoặc bạn có thể viết thêm cho đoạn mã này nó tự động luôn cho rồi, tớ làm biến chỉ viết đến đó!
    chia sẽ phần mềm miễn phí cho cộng đồng
    www.dutoanonline.com

    Ghi chú

    Working...
    X