Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 14, 2015 Mình có sưu tầm được 1 lsp dùng để đánh số thứ tự tăng dần trên diễn đàn cadviet nhưng không biết của tác giả nào(lâu quá rồi). Mình nhờ ai biết giúp mình sửa lsp có thêm tính năng này: 1/ ví dụ mình có dãy số: 08200 08200 08200 08200 Mình gõ lệnh TD sau đó chọn các dãy số trên và nhập số đầu tiên là : 08200 thì dãy số sẽ tăng dần lên(có thêm số 0 ở đầu) 08201 08202 08203 08204 2/ ví dụ mình có dãy số: 08E00 08E00 08E00 08E00 Mình gõ lệnh TD sau đó chọn các dãy số trên và nhập số đầu tiên là : 08E00 thì dãy số sẽ tăng dần lên(có thêm số 0 ở đầu) 08E01 08E02 08E03 08E04 Đây là file lsp cũ, mong mọi người giúp đỡ. http://www.cadviet.com/upfiles/5/145520_td.lsp 2 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 15, 2015 Ai biết giúp mình với. Thanks! 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 16, 2015 Không ai giúp mình hết vậy? 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
gia_bach 1.548 Báo cáo bài đăng Đã đăng Tháng 9 17, 2015 Mình có sưu tầm được 1 lsp dùng để đánh số thứ tự tăng dần trên diễn đàn cadviet nhưng không biết của tác giả nào(lâu quá rồi). Mình nhờ ai biết giúp mình sửa lsp có thêm tính năng này: 1/ ví dụ mình có dãy số: 08200 08200 08200 08200 Mình gõ lệnh TD sau đó chọn các dãy số trên và nhập số đầu tiên là : 08200 thì dãy số sẽ tăng dần lên(có thêm số 0 ở đầu) 08201 08202 08203 08204 2/ ví dụ mình có dãy số: 08E00 08E00 08E00 08E00 Mình gõ lệnh TD sau đó chọn các dãy số trên và nhập số đầu tiên là : 08E00 thì dãy số sẽ tăng dần lên(có thêm số 0 ở đầu) 08E01 08E02 08E03 08E04 Đây là file lsp cũ, mong mọi người giúp đỡ. http://www.cadviet.com/upfiles/5/145520_td.lsp Dùng Lisp làm gì cho mất công đi xin xỏ? Cứ lệnh TCOUNT có sẳn của CAD mà dùng. tham khảo bài viết : Đánh số thứ tự bằng lệnh Tcount 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 17, 2015 Dùng Lisp làm gì cho mất công đi xin xỏ? Cứ lệnh TCOUNT có sẳn của CAD mà dùng. tham khảo bài viết : Đánh số thứ tự bằng lệnh Tcount Thật là xin xỏ mà không ai chịu giúp hết, thanks bạn gia bach nhưng tham khảo bài viết của bạn không giải quyết được mong muốn của mình(không thêm được số 0 ở vị trí ở đầu và có chữ lẫn 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
quocmanh04tt 634 Báo cáo bài đăng Đã đăng Tháng 9 17, 2015 Thấy bạn "kêu gào" thảm thiết quá!!! :D. Thử cái này xem: (defun c:td (/ tdt csht sdt index tt entdt chuoi) (defun thay (tt key moi / cu) (setq cu (assoc key tt)) (subst (cons key moi) cu tt)) (princ "\nCADViet.com (c) 2007") (setq tdt (ssget '((0 . "TEXT"))) sdt (sslength tdt) csht 1 index 0) (setq chuoi (getstring "\nNhap chuoi: ")) (repeat sdt (setq entdt (ssname tdt index) index (1+ index) tt (entget entdt)) (if (eq (cdr (assoc 1 tt)) chuoi) (progn (setq tt (thay tt 1 (strcat (substr chuoi 1 (- (strlen chuoi) 1)) (itoa csht))) csht (1+ csht)) (entmod tt) (entupd entdt)))) (princ)) 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 17, 2015 Thấy bạn "kêu gào" thảm thiết quá!!! :D. Thử cái này xem: (defun c:td (/ tdt csht sdt index tt entdt chuoi) (defun thay (tt key moi / cu) (setq cu (assoc key tt)) (subst (cons key moi) cu tt)) (princ "\nCADViet.com (c) 2007") (setq tdt (ssget '((0 . "TEXT"))) sdt (sslength tdt) csht 1 index 0) (setq chuoi (getstring "\nNhap chuoi: ")) (repeat sdt (setq entdt (ssname tdt index) index (1+ index) tt (entget entdt)) (if (eq (cdr (assoc 1 tt)) chuoi) (progn (setq tt (thay tt 1 (strcat (substr chuoi 1 (- (strlen chuoi) 1)) (itoa csht))) csht (1+ csht)) (entmod tt) (entupd entdt)))) (princ)) Thanks bạn nhưng lsp không chạy được bạn ơi!(lsp yêu cầu nhập chuỗi nhưng không chạy đượ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
quocmanh04tt 634 Báo cáo bài đăng Đã đăng Tháng 9 18, 2015 Sao lại không chạy được??? Theo yêu cầu của bạn: 1/ ví dụ mình có dãy số: 08200 08200 08200 08200 2/ ví dụ mình có dãy số: 08E00 08E00 08E00 08E00 Có nghĩa trên bản vẽ của bạn đã có sẵn các text như trên (theo mình hiểu như vậy). => Khi nhập chuỗi bạn phải nhập đúng chuỗi mà đã chọn ở bước 1. Các Text có nội dung trùng với nội dung chuỗi bạn nhập mới được thay đổi. *** Không biết text có sẵn trên bản vẽ của bạn như nào??? 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 18, 2015 Sao lại không chạy được??? Theo yêu cầu của bạn: 1/ ví dụ mình có dãy số: 08200 08200 08200 08200 2/ ví dụ mình có dãy số: 08E00 08E00 08E00 08E00 Có nghĩa trên bản vẽ của bạn đã có sẵn các text như trên (theo mình hiểu như vậy). => Khi nhập chuỗi bạn phải nhập đúng chuỗi mà đã chọn ở bước 1. Các Text có nội dung trùng với nội dung chuỗi bạn nhập mới được thay đổi. *** Không biết text có sẵn trên bản vẽ của bạn như nào??? Không được là do: mình có text có nội dung bất kì thì nó không chạy được 1/ ví dụ mình có dãy số: 08200 08300 08222 123 ... chẳng hạn Bây giờ mình muốn nó về 08200 08201 08202 08203 Hoặc muốn nó về 08E00 08E00 08E00 08E00 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
quocmanh04tt 634 Báo cáo bài đăng Đã đăng Tháng 9 18, 2015 Không được là do: mình có text có nội dung bất kì thì nó không chạy được 1/ ví dụ mình có dãy số: 08200 08300 08222 123 ... chẳng hạn Bây giờ mình muốn nó về 08200 08201 08202 08203 Hoặc muốn nó về 08E00 08E00 08E00 08E00 Bạn xem lại yêu cầu của bạn ở bài đầu ! Đây là lý do tại sao phần dưới của bạn đỏ lừ, bạn yêu cầu không rõ ràng. Nếu là text bất kỳ thì Lisp phải viết khác. Lisp này cắt bỏ ký tự cuối cùng (của chuỗi nhập vào) và thêm 1, 2, 3 .... (defun c:td (/ tdt csht sdt index tt entdt txt) (defun thay (tt key moi / cu) (setq cu (assoc key tt)) (subst (cons key moi) cu tt)) (princ "\nCADViet.com (c) 2007") (if (setq tdt (ssget '((0 . "*TEXT")))) (progn (setq txt (getstring "\nNhap chuoi: ") sdt (sslength tdt) csht 1 index 0) (repeat sdt (setq entdt (ssname tdt index) index (1+ index) tt (entget entdt)) (setq tt (thay tt 1 (strcat (substr txt 1 (- (strlen txt) 1)) (itoa csht))) csht (1+ csht)) (entmod tt) (entupd entdt)))) (princ)) 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 18, 2015 Bạn xem lại yêu cầu của bạn ở bài đầu ! Đây là lý do tại sao phần dưới của bạn đỏ lừ, bạn yêu cầu không rõ ràng. Nếu là text bất kỳ thì Lisp phải viết khác. Lisp này cắt bỏ ký tự cuối cùng (của chuỗi nhập vào) và thêm 1, 2, 3 .... (defun c:td (/ tdt csht sdt index tt entdt txt) (defun thay (tt key moi / cu) (setq cu (assoc key tt)) (subst (cons key moi) cu tt)) (princ "\nCADViet.com (c) 2007") (if (setq tdt (ssget '((0 . "*TEXT")))) (progn (setq txt (getstring "\nNhap chuoi: ") sdt (sslength tdt) csht 1 index 0) (repeat sdt (setq entdt (ssname tdt index) index (1+ index) tt (entget entdt)) (setq tt (thay tt 1 (strcat (substr txt 1 (- (strlen txt) 1)) (itoa csht))) csht (1+ csht)) (entmod tt) (entupd entdt)))) (princ)) Ok bạn quocmanh04tt! Chắc là do mình viết thiếu từ "bất kì" nên bạn đã hiểu nhầm. Lsp này thì ok rồi, đúng với ý của mình rồi. Thanks bạn 1 lần nữa. 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
Doan Van Ha 3.180 Báo cáo bài đăng Đã đăng Tháng 9 18, 2015 Bạn Kieu Tan nhớ bấm like (mũi tên màu xanh) cho mấy người đã giúp bạn nhé! 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 18, 2015 Bạn Kieu Tan nhớ bấm like (mũi tên màu xanh) cho mấy người đã giúp bạn nhé! Ok bạn, do sơ xuất nên mình đã quên, mình vừa làm xong. Hehe 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 19, 2015 Bạn xem lại yêu cầu của bạn ở bài đầu ! Đây là lý do tại sao phần dưới của bạn đỏ lừ, bạn yêu cầu không rõ ràng. Nếu là text bất kỳ thì Lisp phải viết khác. Lisp này cắt bỏ ký tự cuối cùng (của chuỗi nhập vào) và thêm 1, 2, 3 .... (defun c:td (/ tdt csht sdt index tt entdt txt) (defun thay (tt key moi / cu) (setq cu (assoc key tt)) (subst (cons key moi) cu tt)) (princ "\nCADViet.com (c) 2007") (if (setq tdt (ssget '((0 . "*TEXT")))) (progn (setq txt (getstring "\nNhap chuoi: ") sdt (sslength tdt) csht 1 index 0) (repeat sdt (setq entdt (ssname tdt index) index (1+ index) tt (entget entdt)) (setq tt (thay tt 1 (strcat (substr txt 1 (- (strlen txt) 1)) (itoa csht))) csht (1+ csht)) (entmod tt) (entupd entdt)))) (princ)) Hôm nay mình đã áp dụng file td.lsp vào công việc mà bạn quocmanh04tt đã viết hỗ trợ mình, tuy nhiên nó xuất hiện 1 lỗ hổng: 1/ Lsp chỉ chạy được theo chiều tăng dần từ dưới lên mà thôi(ta quét chuột hàng loạt các text)->không chạy được các text theo chiều từ trên xuống(có lúc do nhu cầu công việc mà text có thể tăng dần từ dưới lên hoặc từ trên xuống) 2/ Nếu ta chọn lần lượt từng text một thì text được chọn đầu tiên sẽ mang giá trị nhỏ(giá trị đầu tiên) và sẽ tăng dần lên->ok, nhưng rất tốn thời gian(vd: chọn 10 text thì tốn 10 bước thời gian) 3/ Mình nhờ bạn sửa lại lsp này hộ mình với: Nếu ta quét chuột hàng loạt các text từ trên xuống thì text tăng dần theo chiều từ trên xuống. Nếu ta quét chuột hàng loạt các text từ dưới lên thì text tăng dần theo chiều từ dưới lên. Mình thanks bạn trước nha! 2 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
tien2005 241 Báo cáo bài đăng Đã đăng Tháng 9 19, 2015 @Kieu Tan: lisp viết không có lỗ hỗng, chỉ là do yêu cầu không ro ràng cụ thể còn đây là lisp cho Bạn, Bạn phải khai báo hướng sắp xếp cho lisp (defun c:td (/ kw ss str n) (initget "T D") (if (and (if (setq kw (getkword "\nTren xuong/Duoi len [T/D]<T>: ")) kw (setq kw "T")) (setq ss (ssget '((0 . "*TEXT")))) ) (progn (setq str (getstring "\nNhap chuoi: ")) (setq ss (vl-sort (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) '(lambda (x y) (> (cadr (cdr (assoc 10 (entget x)))) (cadr (cdr (assoc 10 (entget y)))) ) ) ) ) (if (= kw "D")(setq ss (reverse ss))) (setq n 1) (foreach e (mapcar 'vlax-ename->vla-object ss) (vla-put-textstring e (strcat (substr str 1 (- (strlen str) 1)) (itoa n))) (setq n (1+ n)) ) ) ) (princ) ) 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 20, 2015 @Kieu Tan: lisp viết không có lỗ hỗng, chỉ là do yêu cầu không ro ràng cụ thể còn đây là lisp cho Bạn, Bạn phải khai báo hướng sắp xếp cho lisp (defun c:td (/ kw ss str n) (initget "T D") (if (and (if (setq kw (getkword "\nTren xuong/Duoi len [T/D]<T>: ")) kw (setq kw "T")) (setq ss (ssget '((0 . "*TEXT")))) ) (progn (setq str (getstring "\nNhap chuoi: ")) (setq ss (vl-sort (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) '(lambda (x y) (> (cadr (cdr (assoc 10 (entget x)))) (cadr (cdr (assoc 10 (entget y)))) ) ) ) ) (if (= kw "D")(setq ss (reverse ss))) (setq n 1) (foreach e (mapcar 'vlax-ename->vla-object ss) (vla-put-textstring e (strcat (substr str 1 (- (strlen str) 1)) (itoa n))) (setq n (1+ n)) ) ) ) (princ) ) Thanks bạn! Nhưng sao lsp không chạy được số 0 ở cuối chuỗi. 1/ ví dụ mình có dãy số: 08200 08300 08222 123 ... chẳng hạn Bây giờ mình muốn nó về 08200 08201 08202 08203 Hoặc muốn nó về 08E00 08E01 08E02 08E03 Lsp chỉ bắt đầu từ 08201->08203 mà thôi(khi đầu tiên mình vẫn nhập chuỗi 08200) Mình nhờ bạn hỗ trợ dùm sao cho lsp chạy được với số mình nhập đúng với số đầu tiên khi mình nhập 1 số bất kì rồi tăng dần. vd: khi mình nhập 08200 chẳng hạn thì lsp phải bắt đầu là 08200->08203(chứ không phải là 08201->08203) 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
quocmanh04tt 634 Báo cáo bài đăng Đã đăng Tháng 9 20, 2015 Bạn thử thay (setq n 1) thành (setq n 0) xem sao! 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
pphung183 428 Báo cáo bài đăng Đã đăng Tháng 9 21, 2015 Thanks ban quocmanh04tt nhiều mình lam được rồi. Với Lisp này cộng thêm yêu cầu rất củ chuối của bạn thì chắc còn sửa dài hơi :D . Khi (setq n 0) thì bạn nhập chuỗi và chỉ được phép quét 10 Text có sẵn thôi. Bởi vì Lisp chỉ thay đổi kí tự cuối cùng của chuỗi nhập và lúc nào cũng cho kết quả Text sắp xếp đầu tiên có kí tự cuối cùng là 0. Lúc đó bạn lại la toán lên sao em nhập 08201 mà lúc nào cũng ra KQ là 08200 trong khi mong muốn là nó tăng bắt đầu từ 1 !? Vậy là bạn lại yêu cầu sửa tiếp sao :wacko: :lol:. Quả là củ chuối đó nha :D !!! 2 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
vothanhdn 5 Báo cáo bài đăng Đã đăng Tháng 9 21, 2015 Kieu Tan: Mình có ý sau, tuy hơi nhiều bước nhưng xử lý được yêu cầu của a: - A dùng lệnh TCOUNT có sẵn trong bộ Express của CAD, chọn Overwrite, sẽ được số thứ tự tăng hoặc giảm dần theo chiều X hoặc Y. - Dùng lisp TT_Them text mình đính kèm (Của bác nào trên diễn đàn mình không nhớ ^^), chèn chuỗi phía trước theo ý muốn là OK. Thân! http://www.cadviet.com/upfiles/5/67034_tt_them_text.lsp 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 21, 2015 @Kieu Tan: lisp viết không có lỗ hỗng, chỉ là do yêu cầu không ro ràng cụ thể còn đây là lisp cho Bạn, Bạn phải khai báo hướng sắp xếp cho lisp (defun c:td (/ kw ss str n) (initget "T D") (if (and (if (setq kw (getkword "\nTren xuong/Duoi len [T/D]<T>: ")) kw (setq kw "T")) (setq ss (ssget '((0 . "*TEXT")))) ) (progn (setq str (getstring "\nNhap chuoi: ")) (setq ss (vl-sort (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))) '(lambda (x y) (> (cadr (cdr (assoc 10 (entget x)))) (cadr (cdr (assoc 10 (entget y)))) ) ) ) ) (if (= kw "D")(setq ss (reverse ss))) (setq n 1) (foreach e (mapcar 'vlax-ename->vla-object ss) (vla-put-textstring e (strcat (substr str 1 (- (strlen str) 1)) (itoa n))) (setq n (1+ n)) ) ) ) (princ) ) Bạn pphung193 dự đoán như thần, quả là khi áp dụng td.lsp nhiều mới phát hiện ra, lsp có 1 số bất cập rồi. vd: mình có dãy số 08200 32153 12345 1/ Bây giờ mình muốn nó tăng dần từ S08->S10(text đầu nhập vào là S08) nhưng lsp chỉ chạy từ S01->S03(không chạy được với text bắt đầu là S08)-> bất cập 1(mình muốn nó tăng dần đúng với text đầu tiên mình nhập vào và tăng lên 1 đơn vị) 2/ Khi chạy từ S09 thì phải chuyển sang S10(S08->S10), nhưng lsp lại chuyển từ S09 sang S010(S08->S010-> bất cập 2(mình muốn nó phải chuyển từ S08->S10). Mong bạn quocmanh04tt, tien2005, pphung193 và mọi người ai biết giúp mình với. Thanks! 2 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
tien2005 241 Báo cáo bài đăng Đã đăng Tháng 9 21, 2015 thực sự người yêu cầu quá củ chuối. với y/cầu của bạn thì lệnh TCOUNT đã làm được rồi, @gia_bach đã đưa link để dùng lệnh TCOUNT nhưng bạn chẳng biết dùng Khi @quocmanh04tt viết lisp thì không biết dùng, khi dùng được thì nói là đã đúng ý. Sau đó rồi đòi sắp xếp theo Y thì lại thêm sao nó không nhảy từ 0,1, 2, .... Đến bây giờ "Khi chạy từ S09 thì phải chuyển sang S10(S08->S10), nhưng lsp lại chuyển từ S09 sang S010" Các lisper không muốn sửa lisp đã viết theo các yêu cầu "sáng nắng, chiều mưa" 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
anti lazy 28 Báo cáo bài đăng Đã đăng Tháng 9 21, 2015 Yêu cầu củ chuối thì tôi đã thấy ngay từ đầu, nhưng đến bài #9 thì cũng đã tương đối rõ để lập trình nhưng bạn quocmanh04tt chưa có nhiều kinh nghiệm để giải quyết. Để sửa lisp này chỉ cần học các hàm sau: Số học: + - * / 1+ 1-Số <=> chuỗi : itoa atoiXử lý chuỗi: strcat substr strlen Nhanh thì < 1h, chậm thì 4h là biết cách dùng, thêm < 1h thì sửa được, nếu có lỗi sẽ có người khác sửa. Nếu không học thì suốt đời chỉ : Xin, xin nữa, xin mãi !!!!!!! Ps: vì yêu cầu quá củ chuối nên chỉ trong 1 topic mà đã nhận được 10 dấu đỏ, tôi cũng không cho thêm vì đã quá đủ 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 21, 2015 thực sự người yêu cầu quá củ chuối. với y/cầu của bạn thì lệnh TCOUNT đã làm được rồi, @gia_bach đã đưa link để dùng lệnh TCOUNT nhưng bạn chẳng biết dùng Khi @quocmanh04tt viết lisp thì không biết dùng, khi dùng được thì nói là đã đúng ý. Sau đó rồi đòi sắp xếp theo Y thì lại thêm sao nó không nhảy từ 0,1, 2, .... Đến bây giờ "Khi chạy từ S09 thì phải chuyển sang S10(S08->S10), nhưng lsp lại chuyển từ S09 sang S010" Các lisper không muốn sửa lisp đã viết theo các yêu cầu "sáng nắng, chiều mưa" "sáng nắng, chiều mưa" gì chứ? Có lẽ bạn tien2005 không hiểu vấn đề nên mới nói vậy thôi. Ý của mình là: mình có chuỗi số bất kì(1234, 2345, 3456, ...) bây giờ mình muốn nó tăng dần bắt đầu từ text đầu tiên mà mình nhập vào(vd: mình nhập chuỗi S08 thì nó phải tăng từ S08-> S10 hoặc mình nhập chuỗi S09 thì nó phải tăng từ S09-> S11) nghĩa là nó tăng lên 1 đơn vị tính từ text đầu tiên mà mình nhập vào. Có vậy thôi, còn dùng lệnh cad TCOUNT thì không chạy được theo yêu cầu này. 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
gia_bach 1.548 Báo cáo bài đăng Đã đăng Tháng 9 22, 2015 (Đă chỉnh sửa) "sáng nắng, chiều mưa" gì chứ? Có lẽ bạn tien2005 không hiểu vấn đề nên mới nói vậy thôi. Ý của mình là: mình có chuỗi số bất kì(1234, 2345, 3456, ...) bây giờ mình muốn nó tăng dần bắt đầu từ text đầu tiên mà mình nhập vào(vd: mình nhập chuỗi S08 thì nó phải tăng từ S08-> S10 hoặc mình nhập chuỗi S09 thì nó phải tăng từ S09-> S11) nghĩa là nó tăng lên 1 đơn vị tính từ text đầu tiên mà mình nhập vào. Có vậy thôi, còn dùng lệnh cad TCOUNT thì không chạy được theo yêu cầu này. Lisp này nếu tôi viết chắc chỉ trong vòng "ba nốt nhạc", cũng có thể là nó đã được viết đâu đó cách đây vài năm. Nhưng tôi sẽ không viết (hay share) vì lệnh TCOUNT đã làm tốt yêu cầu này. @ KIeu Tan : thay vì lao vào tranh cãi, hãy tập trung vào việc tìm hiểu cách sử dụng lệnh TCOUNT cho nhuần nhuyễn. đề : tạo 6 text có nội dung lần lượt là : KT08, KT09, KT10, KT11, KT12, KT13 gợi ý: - trước tiên tạo 2 text có nội dung giống nhau là KT0 (ba kí tự) - tiếp theo tạo 4 text có nội dung giống nhau là KT (hai kí tự) - gọi lệnh TCOUNT chọn 2 text có nội dung KT0, với các tùy chọn: + Sort selected objects by [X/Y/Select-order] <Select-order>: tùy ý + Specify starting number and increment (Start,increment) <1,1>: 8,1 + Placement of numbers in text [Overwrite/Prefix/Suffix/Find&replace..] < Prefix>: s - tương tự cho 4 text có nội dung KT, với tùy chọn: Specify starting number and increment (Start,increment) <1,1>: 10,1 - xóa các khoảng trắng (nếu cần) To Admin: tại sao dòng trên không hiển thị ??? ảnh chụp Chỉnh sửa Tháng 9 22, 2015 theo gia_bach 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
Kieu Tan 22 Báo cáo bài đăng Đã đăng Tháng 9 22, 2015 Lisp này nếu tôi viết chắc chỉ trong vòng "ba nốt nhạc", cũng có thể là nó đã được viết đâu đó cách đây vài năm. Nhưng tôi sẽ không viết (hay share) vì lệnh TCOUNT đã làm tốt yêu cầu này. @ KIeu Tan : thay vì lao vào tranh cãi, hãy tập trung vào việc tìm hiểu cách sử dụng lệnh TCOUNT cho nhuần nhuyễn. đề : tạo 6 text có nội dung lần lượt là : KT08, KT09, KT10, KT11, KT12, KT13 gợi ý: - trước tiên tạo 2 text có nội dung giống nhau là KT0 (ba kí tự) - tiếp theo tạo 4 text có nội dung giống nhau là KT (hai kí tự) - gọi lệnh TCOUNT chọn 2 text có nội dung KT0, với các tùy chọn: + Sort selected objects by [X/Y/Select-order] <Select-order>: tùy ý + Specify starting number and increment (Start,increment) <1,1>: 8,1 + Placement of numbers in text [Overwrite/Prefix/Suffix/Find&replace..] < Prefix>: s - tương tự cho 4 text có nội dung KT, với tùy chọn: Specify starting number and increment (Start,increment) <1,1>: 10,1 - xóa các khoảng trắng (nếu cần) To Admin: tại sao dòng trên không hiển thị ??? ảnh chụp Thanks bạn gia_bach lệnh nhưng TCOUNT hạn chế là nó không tăng dần theo chiều ta muốn(từ trên xuống hay từ dưới lên), với lại khi ta muốn nó tăng từ KT08->KT11 thì ta phải nhập kí tự đầu là KT Vd mình có hàng loạt kí tự bất kì( 0135, bicf, 2578, ABCD) bây giờ mình muốn nó tăng từ KT08->KT11 thì thủ công lắm Bạn gia_bach hỗ trợ mình "ba nốt nhạc" đi. 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