Chuyển đến nội dung
Diễn đàn CADViet
Tue_NV

[Đã xong] Lisp Chọn TEXT, MTEXT là số nguyên, số thực

Các bài được khuyến nghị

Tue_NV đã hoàn thành xong Lisp chọn số nguyên Z (type Z) -> INT , số thực R (type R) -> Real.

-Số thực R không bao gồm cả số nguyên theo đúng (type R) -> Real

-Code có xét tới trường hợp mà User nhập khoảng trắng (space) trước Text (Không biết do vô tình hay hữu ý) :rolleyes:

Các bạn thử xem nhé.....

;;;;1.Chon so thuc tap R
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0--9~~ ]*") (1 . "*`.*") (1 . "~*`.*`.*") (1 . "~*? ?*") )))

;;;;2.Chon so thuc R>= 0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~`.0-9~~ ]*") (1 . "*`.*") (1 . "~*`.*`.*") (1 . "~*? ?*") )))

;;;;3.Chon so thuc R>0

(setq so (ssget '((0 . "*TEXT") (1 . "~*[~`.0-9~~ ]*") (1 . "*`.*")  (1 . "~0*") (1 . "~* 0.0*") (1 . "~*`.*`.*") (1 . "~*? ?*") )))

;;;;4.Chon so thuc R<= 0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0--9~~ ]*")  (1 . "0.0*,*`-*.*")  (1 . "~*`.*`.*") (1 . "~*? ?*") )))

;;;;5.Chon so thuc R< 0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0--9~~ ]*")  (1 . "*`-*.*") (1 . "~*`.*`.*")  )))

;;;;6.Chon so nguyen Z
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0-9~~ ]*")  (1 . "* # *,~* * *") (1 . "~*# #*")  )))

;;;;7.Chon so nguyen Z>=0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~0-9~~ ]*") (1 . "* # *,~* * *") (1 . "~*# #*"))))

;;;;;8Chon so nguyen Z>0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~1-9~~ ]*") (1 . "* # *,~* * *") (1 . "~*# #*") )))

;;;;;9.Chon so nguyen Z<=0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0-9~~ ]*") (1 . "~*# #*") (1 . "~*# *-*") (1 . "*-*")  )))


;;;;;10.Chon so nguyen Z<0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0-9~~ ]*") (1 . "~*# #*") (1 . "~*# *-*") (1 . "*-*,* 0*")   )))

Edit : Đã Sửa lại theo ý bạn Master-Worse

update: Tiếp tục cập nhật theo ý bác DoanVanHa

Sửa lại vào sáng 6h15 ngày 4/6/2012

  • Vote tăng 3

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tue_NV đã hoàn thành xong Lisp chọn số nguyên Z (type Z) -> INT , số thực R (type R) -> Real.

-Số thực R không bao gồm cả số nguyên theo đúng (type R) -> Real

-Code có xét tới trường hợp mà User nhập khoảng trắng (space) trước Text (Không biết do vô tình hay hữu ý) :rolleyes:

Các bạn thử xem nhé.....

;;;;1. Chon so thuc tap R
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0--9~~ ]*") (1 . "*`.*") )))

;;;;2. Chon so thuc R>= 0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~`.0-9~~ ]*") (1 . "*`.*") )))

;;;;3. Chon so thuc R>0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~`.0-9~~ ]*") (1 . "*`.*")  (1 . "~0*"))))

;;;;4. Chon so thuc R<= 0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0--9~~ ]*")  (1 . "0.0*,*`-*.*")  )))

;;;;5. Chon so thuc R< 0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0--9~~ ]*")  (1 . "*`-*.*")  )))

;;;;6. Chon so nguyen Z
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0-9~~ ]*"))))

;;;; 7. Chon so nguyen Z>=0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~0-9~~ ]*"))))

;;;;8, Chon so nguyen Z>0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~0-9~~ ]*") (1 . "~0*") )))

;;;;;9. Chon so nguyen Z<=0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0-9~~ ]*") (1 . "*[-0]*"))))

;10. Chon so nguyen Z<0
(setq so (ssget '((0 . "*TEXT") (1 . "~*[~-0-9~~ ]*") (1 . "*`-*"))))

Em từng thấy cái này ở đâu rồi thì fải. ???! :huh:

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Em từng thấy cái này ở đâu rồi thì fải. ???! :huh:

Bạn đã từng thấy các Lisp này.

Các Lisp mà bạn thấy chưa xét tới trường hợp mà User nhập khoảng trắng (space) trước Text (Không biết do vô tình hay hữu ý):

2 là chưa khắc phục được tình trạng mà bạn Master-Worse đã nêu ở bài viết trên

- Lisp chọn số thực, chọn luôn các text dạng #.#.# (1.1.2) và #..# (1..2)

 

@Master-Worse: Cảm ơn bạn. Tue_NV đã sửa lại code theo ý bạn. Cập nhật ở bài viết trên cùng bài số #1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bạn đã từng thấy các Lisp này.

Các Lisp mà bạn thấy chưa xét tới trường hợp mà User nhập khoảng trắng (space) trước Text (Không biết do vô tình hay hữu ý):

Khó lòng mà xét tới sự vô tình hay hữu ý của user lắm, bởi nếu cứ chấp nhận space thì " 1 2 3 " cũng được chọn vào tập Z nốt.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Khó lòng mà xét tới sự vô tình hay hữu ý của user lắm, bởi nếu cứ chấp nhận space thì " 1 2 3 " cũng được chọn vào tập Z nốt.

Vậy thì Tue_NV sẽ viết thêm cập nhật thêm vào Code.

Bác thử code mà Tue_NV cập nhật thử nhé

Tình trạng bác nêu đối với số nguyên, từa tựa như ý kiến của bạn Master-Worse đối với số thực -> Tue_NV đã xử lý luôn rồi. Cảm ơn bác

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Vậy thì Tue_NV sẽ viết thêm cập nhật thêm vào Code.

Bác thử code mà Tue_NV cập nhật thử nhé

Tình trạng bác nêu đối với số nguyên, từa tựa như ý kiến của bạn Master-Worse đối với số thực -> Tue_NV đã xử lý luôn rồi. Cảm ơn bác

Hơi chằng đấy bác Tue_NV ạ! Ví dụ: "23 4" vẫn ok

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Hơi chằng đấy bác Tue_NV ạ! Ví dụ: "23 4" vẫn ok

Vẫn còn sót 1 trường hợp nữa đối với số nguyên. Tue_NV đã viết thêm vào

. Bác test thử code mà Tue_NV đã viết thêm nhé. Bài số #1

Thanks

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Em từng thấy cái này ở đâu rồi thì fải. ???! :huh:

Bác Hạ có viết 1 cái ở XDIT cách đây mấy hôm mà :) Sao các bác quan tâm đến vấn đề số má này vậy ta ^^

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bác Hạ có viết 1 cái ở XDIT cách đây mấy hôm mà :) Sao các bác quan tâm đến vấn đề số má này vậy ta ^^

Bác ý viết sót mấy trường hợp, với lại cái này như dây chằng, để viết cái này phải động não, phải nghiền ngẫm mới ra được kết quả, chứ không đơn giản đâu

 

Đã update code ở bài viết số 1

Các bác góp ý để Tue_NV hoàn thiện

 

Số má quan trọng lém ket Xu ơi!!! hề hề

 

P/S: Vẫn còn sót trường hợp khoảng trắng như bác DoanVanHa nói với số thực ->

Tue_NV sẽ update sau vậy

Chúc các bác ngủ ngon

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bác ý viết sót mấy trường hợp, với lại cái này như dây chằng, để viết cái này phải động não, phải nghiền ngẫm mới ra được kết quả, chứ không đơn giản đâu

Đã update code ở bài viết số 1

Các bác góp ý để Tue_NV hoàn thiện

Số má quan trọng lém ket Xu ơi!!! hề hề

Chà, bác Tue_NV cứ đeo đuổi hoài. Bắt tôi cứ moi móc giùm bác mà mệt cả người. Hì hì! Đây nữa bác: chọn số thực thì "1. 2" vẫn ok nốt.

Chắc phải quên cái space đi bác ạ!

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Chà, bác Tue_NV cứ đeo đuổi hoài. Bắt tôi cứ moi móc giùm bác mà mệt cả người. Hì hì! Đây nữa bác: chọn số thực thì "1. 2" vẫn ok nốt.

Chắc phải quên cái space đi bác ạ!

1./ Cảm ơn bác đã moi móc dùm. Cảm ơn bác rất nhiều. Tue_NV cũng theo mệt cả người không kém bác. Lúc đầu, Tue_NV chỉ có ý định xử lý cái space trước Text thôi. Giờ phải xử lý spcae ở Text "tùm lum chổ" hê hề.

2./ Không thể quên cái space đi được. Với code của Tue_NV có thể quên được, nhưng với code mà bác viết thì chắc phải thêm space vô. Bởi vì do 1 số USER có thể do thói quen cứ đánh space trước số (bạn mình và có 1 số bạn khác) cứ ed là space rồi gõ số.

ví dụ với số " 3.2". Bác quên đi thì không đúng vì bác không chọn dạng text này, Tue_NV thì chọn lầm cũng không sao Vì mình có thể duyệt qua ename của tập chọn ss và loại trừ những trường hợp không thoả.

Trong trường hợp này Chọn lầm sẽ hơn Chọn sót. Và do đó => Không thể quên space được

 

3./ Tối hôm qua, Tue_NV đã xử lý space với tập Z rồi, sáng nay xử lý space với tập R.

Mời bác DoanVanHa và các bác test thử ở bài viết số 1

 

Xin cảm ơn tất cả

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Bác Hạ có viết 1 cái ở XDIT cách đây mấy hôm mà :) Sao các bác quan tâm đến vấn đề số má này vậy ta ^^

Thực ra có những vấn đề không mang tính ứng dụng nhiều, nhưng chủ yếu là do đam mê Két à.

Như cái cách mà chúng ta (các Lisper Cadviet) đang làm đấy thôi.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

1./ Cảm ơn bác đã moi móc dùm. Cảm ơn bác rất nhiều. Tue_NV cũng theo mệt cả người không kém bác. Lúc đầu, Tue_NV chỉ có ý định xử lý cái space trước Text thôi. Giờ phải xử lý spcae ở Text "tùm lum chổ" hê hề.

2./ Không thể quên cái space đi được. Với code của Tue_NV có thể quên được, nhưng với code mà bác viết thì chắc phải thêm space vô. Bởi vì do 1 số USER có thể do thói quen cứ đánh space trước số (bạn mình và có 1 số bạn khác) cứ ed là space rồi gõ số.

ví dụ với số " 3.2". Bác quên đi thì không đúng vì bác không chọn dạng text này, Tue_NV thì chọn lầm cũng không sao Vì mình có thể duyệt qua ename của tập chọn ss và loại trừ những trường hợp không thoả.

Trong trường hợp này Chọn lầm sẽ hơn Chọn sót. Và do đó => Không thể quên space được

3./ Tối hôm qua, Tue_NV đã xử lý space với tập Z rồi, sáng nay xử lý space với tập R.

Mời bác DoanVanHa và các bác test thử ở bài viết số 1

Xin cảm ơn tất cả

1). Tôi không đồng ý với quan điểm Chọn lầm sẽ hơn Chọn sót.

2). OK với sự say mê của bác! Moi móc giùm bác nữa đây: chọn số thực thì "." cũng lượm nốt.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

1). Tôi không đồng ý với quan điểm Chọn lầm sẽ hơn Chọn sót.

2). OK với sự say mê của bác! Moi móc giùm bác nữa đây: chọn số thực thì "." cũng lượm nốt.

1./ Bạn mình bị trường hợp chọn sót nên kết quả tính không đúng

2./ Bác cũng đang moi móc giúp bác trong code của bác nữa đó. Hề hề

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

1./ Bạn mình bị trường hợp chọn sót nên kết quả tính không đúng

2./ Bác cũng đang moi móc giúp bác trong code của bác nữa đó. Hề hề

1). Thì kết quả lầm cũng không đúng vậy. Hơn gì đâu.

2). Tôi có nói tôi đúng hết đâu. Nhưng tôi hơi bị oải rồi.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

1). Thì kết quả lầm cũng không đúng vậy. Hơn gì đâu.

2). Tôi có nói tôi đúng hết đâu. Nhưng tôi hơi bị oải rồi.

1) Khác chứ bác. Kết quả lầm thì có thể duyệt qua ename mà loại bỏ nó ra còn nếu chọn sót thì không thể

2) Chúc bác luôn khỏe mạnh, không oải nữa. Tue_NV sẽ cập nhật code sau

Cảm ơn bác rất nhiều

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

1) Khác chứ bác. Kết quả lầm thì có thể duyệt qua ename mà loại bỏ nó ra còn nếu chọn sót thì không thể

2) Chúc bác luôn khỏe mạnh, không oải nữa. Tue_NV sẽ cập nhật code sau

Cảm ơn bác rất nhiều

1). Chọn sót thì không thể duyệt, chọn nhầm thì có thể duyệt: đúng vậy. Nhưng khi đã chọn tập số rồi mà còn thêm 1 bước duyệt xem nó có phải số không thì chi bằng ta cứ bốc 1 nắm vào tay tất cả mọi thứ rồi duyệt luôn (dù chậm hơn). Tôi nghĩ là không nên bủa nhiều lưới để bắt cho bằng được cá.

Hy vọng bác sẽ sửa code để chỉ chọn 1 lần mà không phải duyệt. Chúc bác khoẻ và vui.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay


×