Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
17 replies to this topic

#1 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 03 June 2012 - 05:33 PM

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
  • 3

#2 master_worse

master_worse

    biết lệnh offset

  • Advance Member
  • PipPipPip
  • 170 Bài viết
Điểm đánh giá: 87 (tàm tạm)

Đã gửi 03 June 2012 - 06:03 PM

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

Ngu dốt không đáng thẹn bằng thiếu ý chí học hỏi


Tri thức làm người ta khiêm tốn, ngu si làm người ta kiêu ngạo (Ngạn ngữ Anh)


#3 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 03 June 2012 - 06:31 PM

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:
  • 0

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#4 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 03 June 2012 - 07:11 PM

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
  • 0

#5 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 03 June 2012 - 08:31 PM

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.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#6 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 03 June 2012 - 09:11 PM

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
  • 0

#7 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 03 June 2012 - 09:21 PM

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
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#8 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 03 June 2012 - 09:38 PM

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
  • 0

#9 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5684 Bài viết
Điểm đánh giá: 2606 (tuyệt vời)

Đã gửi 03 June 2012 - 09:57 PM

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 ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#10 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 03 June 2012 - 10:22 PM

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
  • 0

#11 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 03 June 2012 - 10:35 PM

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 ạ!
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#12 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 04 June 2012 - 06:30 AM

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ả
  • 0

#13 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1436 Bài viết
Điểm đánh giá: 1426 (rất tốt)

Đã gửi 04 June 2012 - 07:31 AM

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.
  • 1

#14 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 04 June 2012 - 08:13 AM

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.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#15 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 04 June 2012 - 08:36 AM

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ề
  • 0

#16 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 04 June 2012 - 08:41 AM

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.
  • 1

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#17 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

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

Đã gửi 04 June 2012 - 08:53 AM

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
  • 0

#18 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 04 June 2012 - 09:07 AM

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.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.