Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
Kieu Tan

Hiệu Chỉnh File Lisp

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

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

  • Vote giảm 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

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

  • 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

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ố). 

  • Vote giảm 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

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))

  • 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

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

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???

  • 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

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

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))

  • 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

 

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

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

 

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! 

  • Vote giảm 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: 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)
  )
  • 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

 

@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)

  • Vote giảm 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

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 !!!

  • Vote tăng 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: 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: 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! 

  • Vote giảm 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

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

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   atoi
Xử 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

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

"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 
15454_tcount.png
 
Chỉnh sửa theo gia_bach
  • 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

 

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 
15454_tcount.png

 

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

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
Đăng nhập để thực hiện theo  

×