Đến nội dung


Hình ảnh
- - - - -

Chọn text là số


  • Please log in to reply
26 replies to this topic

#21 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4105 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 19 March 2010 - 01:08 PM

Các lisp trên có nhược điểm là sau khi chọn text rồi mới kiểm tra xem text đó là số hay không. Lisp dưới đây chỉ chọn text số luôn mà không cần mã lệnh kiểm tra.

Lisp chọn số thực:
(defun c:chonthuc()
(setq ss (ssget '((0 . "TEXT") (1 . "~*[~0-9],`.*~`.*"))))
)

Lisp chọn số nguyên:
(defun c:chonnguyen()
(setq ss (ssget '((0 . "TEXT") (1 . "~*[~0-9]*"))))
)

  • 2

#22 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 19 March 2010 - 02:13 PM

Các lisp trên có nhược điểm là sau khi chọn text rồi mới kiểm tra xem text đó là số hay không. Lisp dưới đây chỉ chọn text số luôn mà không cần mã lệnh kiểm tra.

Lisp chọn số thực:

(defun c:chonthuc()
(setq ss (ssget '((0 . "TEXT") (1 . "~*[~0-9],`.*~`.*"))))
)

Lisp chọn số nguyên:
(defun c:chonnguyen()
(setq ss (ssget '((0 . "TEXT") (1 . "~*[~0-9]*"))))
)

Chào bác Hoành
Lisp chọn số nguyên chạy OK.

Lisp chọn số thực có vấn đề
-> chọn số thực, chọn số nguyên và cả string nữa :D
  • 0

#23 w1nDream

w1nDream

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 293 Bài viết
Điểm đánh giá: 73 (tàm tạm)

Đã gửi 19 March 2010 - 02:49 PM

Các anh ơi!Giúp em quả này với:
Em có 1 loạt các cao độ từ 0.00 - 1000.00 chẳng hạn.Giờ em muốn chọn các số có giá trị lớn hơn hoặc bé hơn 1 giá trị cho trước.
VD: em muốn chọn các giá trị >100.00
hay chọn các giá trị 50.00:iluvyousmiley:
  • 0
__Tâm tựa lưu thủY__
Vi nhân nan

#24 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 19 March 2010 - 03:44 PM

Các anh ơi!Giúp em quả này với:
Em có 1 loạt các cao độ từ 0.00 - 1000.00 chẳng hạn.Giờ em muốn chọn các số có giá trị lớn hơn hoặc bé hơn 1 giá trị cho trước.
VD: em muốn chọn các giá trị >100.00
hay chọn các giá trị 50.00:iluvyousmiley:

Lisp này Tue_NV đã viết giúp cho bạn bach1212.
Nó ở đây :
Bai viet 2741
  • 1

#25 w1nDream

w1nDream

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 293 Bài viết
Điểm đánh giá: 73 (tàm tạm)

Đã gửi 20 March 2010 - 09:27 AM

Lisp này Tue_NV đã viết giúp cho bạn bach1212.
Nó ở đây :
Bai viet 2741


Cảm ơn anh Tuệ nhìu nhìu.Em thanks cho bác mấy fát liền.
Nhưng anh ơi! Giúp em thêm 1 tí được không.Em muốn chọn các số nằm trong một khoảng thì sao.
Em muốn chọn giá trị X: A :D
  • 0
__Tâm tựa lưu thủY__
Vi nhân nan

#26 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 20 March 2010 - 10:01 AM

Cảm ơn anh Tuệ nhìu nhìu.Em thanks cho bác mấy fát liền.
Nhưng anh ơi! Giúp em thêm 1 tí được không.Em muốn chọn các số nằm trong một khoảng thì sao.
Em muốn chọn giá trị X: A :D

Hề hề. Mới thấy bạn thanks 1 phát chớ mấy... :D
Theo như bạn thì A là số cực tiểu ; B là số cực đại
Chọn giá trị X nằm trong khoảng A < X < B
Đây là Lisp nâng cấp :

(defun c:Loctext(/ ss i ent content so ans snho slon skhoang socuctieu socucdai)
;copyright by TUE_NV
(setq ss (ssget '((0 . "TEXT"))) snho (ssadd) slon (ssadd) skhoang (ssadd))
(setq i 0)
(initget "L N K")
(setq ans (getkword
"\n chon so Nho hon N , Chon so Lon hon L , Chon so trong khoang K < N/L/K > : "))

(if (= ans "N")
(progn
(setq so (getreal "\n Nhap so nho hon : "))

(while (< i (sslength ss))
(setq ent (ssname ss i))
(if (and (setq content (distof(cdr(assoc 1 (entget ent))))) (< content so))
(setq snho (ssadd ent snho))
)
(setq i (1+ i))
);while
(sssetfirst snho snho)
);progn
);if
(setq i 0)
(if (= ans "L")
(progn
(setq so (getreal "\n Nhap so lon hon : "))

(while (< i (sslength ss))
(setq ent (ssname ss i))
(if (and (setq content (distof(cdr(assoc 1 (entget ent))))) (> content so))
(setq slon (ssadd ent slon))
)
(setq i (1+ i))
);while
(sssetfirst slon slon)
);progn
);if
(setq i 0)
(if (= ans "K")
(progn
(setq socuctieu (getreal "\n Nhap so cuc tieu MIN : "))
(setq socucdai (getreal "\n Nhap so cuc dai MAX: "))

(while (< i (sslength ss))
(setq ent (ssname ss i))
(if (and (setq content (distof(cdr(assoc 1 (entget ent)))))
(> content socuctieu)
(< content socucdai))
(setq skhoang (ssadd ent skhoang))
)
(setq i (1+ i))
);while
(sssetfirst skhoang skhoang)
))
(princ)
)

:cheers:
  • 3

#27 w1nDream

w1nDream

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 293 Bài viết
Điểm đánh giá: 73 (tàm tạm)

Đã gửi 20 March 2010 - 11:20 AM

Hề hề. Mới thấy bạn thanks 1 phát chớ mấy... :D



Em lại thanks fát nữa roài đó bác.Muốn thanks mấy fát nhưng mới làm 1 fát nó đã biến đâu mất tiêu button thanks roài.Hơ :cheers:
:D
  • 0
__Tâm tựa lưu thủY__
Vi nhân nan