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

cho em xin lisp đếm text

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

làm cách nào để bít có bao nhiêu đoạn text giống nhau , " dùng để thống kê " :D ai bít code hay lisp thi giúp em với thank :tongue2:

Bạn dùng lisp này xem:

-Lệnh: demt

-Thap tác: nhập lệnh enter. Chọn text mẫu, chọn vùng muốn đếm.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;

 

(Defun c:demt ( )

(prompt "\nChon Text mau.")

(setq DT (car (entsel)))

(setq DT (entget DT))

(setq NDT (cdr (assoc 1 DT)))

(Princ "\nHay chon vung :")

(setq SS (ssget (list (cons 0 "text")

(cons 1 NDT)

)

)

)

(if (Null ss)

(princ "\nKhong tim thay doi tuong nao")

)

(IF (/= NIL SS) (PROGN

(setq Sl (SSLength SS))

(princ (strcat "\nTim thay: <" (itoa sl) "> doi tuong la Text co noi dung: <" NDT ">"))

)

)

(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
làm cách nào để bít có bao nhiêu đoạn text giống nhau , " dùng để thống kê " :D ai bít code hay lisp thi giúp em với thank :tongue2:
Bạn dùng thử Lisp thống kê Text trên bản vẽ

kết quả gồm 2 cột :

- cột 1 : số luợng Text

- cột 2 : giá trị Text

(defun c:tkt (/ lst msp pt ss str txtsiz)
 (vl-load-com)
 (setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) lst (list))
 (prompt (strcat "\nChon Text de Liet ke hay ENTER de chon tat ca :"))
 (if (null (setq ss (ssget(list (cons 0 "TEXT"))))) (setq ss (ssget "_X" (list(cons 410 (getvar "Ctab")) (cons 0 "TEXT")))))
 (if ss
   (progn
     (foreach e (mapcar 'vlax-ename->vla-object(vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq str (vla-get-TextString e))
(if (not (assoc str lst))
  (setq lst (cons (cons str 1) lst))
  (setq lst (subst (cons str (1+ (cdr (assoc str lst))))
		   (assoc str lst) lst)))
)
     (setq lst (vl-sort lst '(lambda (x y) (< (cdr x) (cdr y))))
    pt (getpoint "\nDiem dat Bang :" )
    txtsiz (* (getvar "dimtxt")(getvar "dimscale")))
     (foreach e lst
(vla-addtext msp (cdr e) (vlax-3d-point pt) txtsiz )
(vla-addtext msp (car e) (vlax-3d-point (polar pt 0 (* 5 txtsiz))) txtsiz )
(setq pt (polar pt (/ pi -2) (* 1.5 txtsiz)))
)
     )
   (alert "Khong chon duoc Text.")
   )
 (princ))

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 dùng thử Lisp thống kê Text trên bản vẽ

kết quả gồm 2 cột :

- cột 1 : số luợng Text

- cột 2 : giá trị Text

(defun c:tkt (/ lst msp pt ss str txtsiz)
 (vl-load-com)
 (setq msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))) lst (list))
 (prompt (strcat "\nChon Text de Liet ke hay ENTER de chon tat ca :"))
 (if (null (setq ss (ssget(list (cons 0 "TEXT"))))) (setq ss (ssget "_X" (list(cons 410 (getvar "Ctab")) (cons 0 "TEXT")))))
 (if ss
   (progn
     (foreach e (mapcar 'vlax-ename->vla-object(vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq str (vla-get-TextString e))
(if (not (assoc str lst))
  (setq lst (cons (cons str 1) lst))
  (setq lst (subst (cons str (1+ (cdr (assoc str lst))))
		   (assoc str lst) lst)))
)
     (setq lst (vl-sort lst '(lambda (x y) (< (cdr x) (cdr y))))
    pt (getpoint "\nDiem dat Bang :" )
    txtsiz (* (getvar "dimtxt")(getvar "dimscale")))
     (foreach e lst
(vla-addtext msp (cdr e) (vlax-3d-point pt) txtsiz )
(vla-addtext msp (car e) (vlax-3d-point (polar pt 0 (* 5 txtsiz))) txtsiz )
(setq pt (polar pt (/ pi -2) (* 1.5 txtsiz)))
)
     )
   (alert "Khong chon duoc Text.")
   )
 (princ))

 

bạn giabach xem lại lisp dùm mình với, nghe giới thiệu thấy có vẻ rất hay và đáp ứng được yêu cầu, nhưng mình tải về, ko chạy được, có lẽ là lỗi ở 2 dòng lệnh điều kiện

 

(if (null (setq ss (ssget(list (cons 0 "TEXT"))))) (setq ss (ssget "_X" (list(cons 410 (getvar "Ctab")) (cons 0 "TEXT")))))

(if ss

 

mình mới ngâm cứu cái món này nên chưa biết chỉnh lại thế nào cả :undecided:

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 giabach xem lại lisp dùm mình với, nghe giới thiệu thấy có vẻ rất hay và đáp ứng được yêu cầu, nhưng mình tải về, ko chạy được, có lẽ là lỗi ở 2 dòng lệnh điều kiện

 

(if (null (setq ss (ssget(list (cons 0 "TEXT"))))) (setq ss (ssget "_X" (list(cons 410 (getvar "Ctab")) (cons 0 "TEXT")))))

(if ss

 

mình mới ngâm cứu cái món này nên chưa biết chỉnh lại thế nào cả :undecided:

Đúng rồi, 2 dòng bạn phát hiện chưa hoàn chỉnh.

Update :

(defun c:tkt (/ lst msp pt ss str txtsiz)
 (vl-load-com)  
 (if (setq ss (ssget(list (cons 0 "TEXT"))))
   (progn
     (foreach e (mapcar 'vlax-ename->vla-object(vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq str (vla-get-TextString e))
(if (not (assoc str lst))
  (setq lst (cons (cons str 1) lst))
  (setq lst (subst (cons str (1+ (cdr (assoc str lst))))
		   (assoc str lst) lst)))	)
     (setq lst (vl-sort lst '(lambda (x y) (< (cdr x) (cdr y))))
    pt (getpoint "\nDiem dat Bang :" )
    txtsiz (* (getvar "dimtxt")(getvar "dimscale"))
    msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
     (foreach e lst
(vla-addtext msp (cdr e) (vlax-3d-point pt) txtsiz )
(vla-addtext msp (car e) (vlax-3d-point (polar pt 0 (* 5 txtsiz))) txtsiz )
(setq pt (polar pt (/ pi -2) (* 1.5 txtsiz)))	)      )
   (alert "Khong chon duoc Text.")    )
 (princ))

  • Vote tăng 4

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 mà có chế độ sắp xếp text,tùy chỉnh textstyle theo 1 text,và kẻ bảng xung quanh thì tuyệt vời ^^..Tks a 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 của bạn gia bạch rất hay,nhưng bạn có thể thêm chức năng cho phép đếm 1 đối tượng như chọn 1 đối tượng rồi chọn vùng sẽ đếm có bao nhiêu đối tượng đã chọn.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
Lisp của bạn gia bạch rất hay,nhưng bạn có thể thêm chức năng cho phép đếm 1 đối tượng như chọn 1 đối tượng rồi chọn vùng sẽ đếm có bao nhiêu đối tượng đã chọn.Thanks

Không hiểu ý bạn.

- chức năng cho phép đếm 1 đối tượng : ý bạn là đếm các LINE, ARC, ... ?

Nếu đúng, bạn có thể sử dụng Tools -> Palettes -> Properties để xem.

hoặc tham khảo Lisp Thống kê Block : http://www.cadviet.com/forum/index.php?sho...ost&p=94041

 

Lisp này mà có chế độ sắp xếp text,tùy chỉnh textstyle theo 1 text,và kẻ bảng xung quanh thì tuyệt vời ^^..Tks a gia_bach ^^
Lisp Thống kê Text trên bản vẽ .

Bổ sung sắp xếp TEXT và tạo bảng (Table)

tkt_1.jpg

(defun c:tkt(/ ent h height i len0 lst msp pt row ss str str0 str_len tblobj width0 width1); thong ke text
;;  By : Gia Bach, Copyrightゥ December 2010                    ;;
;;  Contact : gia_bach @  www.CadViet.com                      ;;
 (defun TxtWidth (val msp / txt minp maxp)
   (vla-getBoundingBox (setq txt (vla-AddText msp val (vlax-3d-point '(0 0 0)) 1)) 'minp 'maxp)
   (vla-Erase txt)
   (-(car(vlax-safearray->list maxp))(car(vlax-safearray->list minp)))  )
 ;main
 (if (> (atof (substr (getvar "ACADVER") 1 4)) 16.0)
   (progn
     (vl-load-com)
     (princ "\nChon cac Text de thong ke :")
     (if (setq ss (ssget(list (cons 0 "TEXT"))))
(progn
  (setq i -1 len0 8)
  (while (setq ent (ssname ss (setq i (1+ i))))
    (setq str(cdr(assoc 1 (entget ent ))))
    (if (> (setq str_len (strlen str)) len0)
      (setq str0 str len0 str_len) )
    (if (not (assoc str lst))
      (setq lst (cons (cons str 1) lst))
      (setq lst (subst (cons str (1+ (cdr (assoc str lst))))
		       (assoc str lst) lst)))	    )
  (setq lst (vl-sort lst '(lambda (x y) (< (car x) (car y))))
	msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))
  (or *h* (setq *h* 175))
  (initget 6)
  (setq h (getreal (strcat "\nChieu cao chu <" (rtos *h*) "> :")))
  (if h (setq *h* h) (setq h *h*) )
  (setq width0 (* 3 h(TxtWidth "STT" msp))
	height (* 2 h))
  (if str0
    (setq width1 (* 1.2 h(TxtWidth (strcase str0) msp)))
    (setq width1 (* 2 h(TxtWidth "Gia tri" msp))))
  (if (> h 3)
    (setq width0 (* (fix (/ width0 10))10)
	  width1 (* (fix (/ width1 10))10)
	  height (* (fix (/ height 5))5)))
  (setq pt (getpoint "\nDiem dat Bang :")
	TblObj (vla-addtable msp (vlax-3d-point pt) (+ (length lst) 2) 3 height width1))
  (vla-put-regeneratetablesuppressed TblObj :vlax-true)
  (vla-put-vertcellmargin TblObj (* 0.25 h))
  (vla-put-horzcellmargin TblObj (* 0.75 h))
  (vla-SetColumnWidth TblObj 0 width0)
  (vla-SetColumnWidth TblObj 2 (* 2 h(TxtWidth "So luong" msp)))
  (mapcar '(lambda (x)(vla-setTextHeight TblObj x h))
	  (list acTitleRow acHeaderRow acDataRow) )
  (mapcar '(lambda (x)(vla-setAlignment TblObj x 8))
	  (list acTitleRow acHeaderRow acDataRow))
  (vl-catch-all-error-p (vl-catch-all-apply (function(lambda () (vla-MergeCells TblObj 0 0 0 2)) )))
  (vla-setText TblObj 0 0 "Bang thong ke")
  (vla-setText TblObj 1 0 "STT")
  (vla-setText TblObj 1 1 "Gia tri")
  (vla-setText TblObj 1 2 "So luong")
  (setq i 1 row 2 )
  (foreach e lst
    (vla-setText TblObj row 0 (itoa i))
    (vla-setText TblObj row 1 (car e))
    (vla-setText TblObj row 2 (cdr e))
    (vla-SetCellAlignment TblObj row 1 7)
    (vla-SetCellAlignment TblObj row 2 9)
    (setq row (1+ row) i (1+ i))	)
  (vla-put-regeneratetablesuppressed TblObj :vlax-false)
  (vlax-release-object TblObj)	  )
(alert "Khong chon duoc Text.")    )
     (princ)  )
   (alert "\nPhien ban Cad cua ban khong ho tro tao Bang (TABLE)")   )  )

  • 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

Bác gia_bach ơi cho e hỏi, sau cái lisp này không thể đếm được Mtext và text vậy bác, nó chỉ đếm được Dtext thui a. Bác chó thể sửa lại cho nó đếm hết luôn mấy loại text kia không.

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 gia_bach ơi cho e hỏi, sau cái lisp này không thể đếm được Mtext và text vậy bác, nó chỉ đếm được Dtext thui a. Bác chó thể sửa lại cho nó đếm hết luôn mấy loại text kia không.

Bạn mở lisp ra, sửa chữ "TEXT" thành "*TEXT" là đượ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

Cho mình hỏi có cách nào chuyển từ bảng đó qua excel được không.

Bạn dùng lệnh : tableexport

  • 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

Hi Bac Gia-Bach.

lisp chạy rất ok và nhanh, thanks bác nhiều. Nhưng Bác viết để nó thống kê luôn Mtext được không! Vì nhiều khi có Mtext mà nó không thống kê hết nên mình bị xó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

Hi Bac Gia-Bach.

lisp chạy rất ok và nhanh, thanks bác nhiều. Nhưng Bác viết để nó thống kê luôn Mtext được không! Vì nhiều khi có Mtext mà nó không thống kê hết nên mình bị xót.

Bạn làm ơn đọc lại từ đầu đến cuối topic

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

Mình đã thay Text = *text mà nó báo lỗi, vì mình không biết về lisp nên thay hết! bác chỉ xem thay text = *text ở đâu thì được.!

Hề hề hề

(cons 0 "text") = (cons 0 "*text")

  • 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

Cách này mình vẫn đang dùng.

Cách làm như sau: Chon một layout (cái layout nào cũng được) sau đó đè phím Shift+ click chuột chọn tất cả các Layout cần in... click chuột phải chon "Publish Selected Layouts" ---> hiện cái bảng ---> chọn tiếp Publish (hoặc Enter). Xong. Đi cafe, hút thuốc tý lấy bản vẽ...

Nhưng để làm được việc này thì: các layout của bạn phải có cùng định dạng: máy in, khổ giấy, nét in..... tốt nhất, trước khi lồng layout, bạn lồng trước 1 cái "LÀM MẪU".. sau đó in thử.. thấy ok thì dùng cái layout này Copy thành nhiều cái layout khác và edit....

:)

 

 

Không hiểu ý bạn.

- chức năng cho phép đếm 1 đối tượng : ý bạn là đếm các LINE, ARC, ... ?

Nếu đúng, bạn có thể sử dụng Tools -> Palettes -> Properties để xem.

hoặc tham khảo Lisp Thống kê Block : http://www.cadviet.com/forum/index.php?sho...ost&p=94041

 

Lisp Thống kê Text trên bản vẽ .

Bổ sung sắp xếp TEXT và tạo bảng (Table)

tkt_1.jpg

(defun c:tkt(/ ent h height i len0 lst msp pt row ss str str0 str_len tblobj width0 width1); thong ke text;;  By : Gia Bach, Copyrightゥ December 2010                    ;;;;  Contact : gia_bach @  www.CadViet.com                      ;;  (defun TxtWidth (val msp / txt minp maxp)    (vla-getBoundingBox (setq txt (vla-AddText msp val (vlax-3d-point '(0 0 0)) 1)) 'minp 'maxp)    (vla-Erase txt)    (-(car(vlax-safearray->list maxp))(car(vlax-safearray->list minp)))  )  ;main  (if (> (atof (substr (getvar "ACADVER") 1 4)) 16.0)    (progn      (vl-load-com)      (princ "\nChon cac Text de thong ke :")      (if (setq ss (ssget(list (cons 0 "TEXT"))))	(progn	  (setq i -1 len0 8)	  (while (setq ent (ssname ss (setq i (1+ i))))	    (setq str(cdr(assoc 1 (entget ent ))))	    (if (> (setq str_len (strlen str)) len0)	      (setq str0 str len0 str_len) )	    (if (not (assoc str lst))	      (setq lst (cons (cons str 1) lst))	      (setq lst (subst (cons str (1+ (cdr (assoc str lst))))			       (assoc str lst) lst)))	    )	  (setq lst (vl-sort lst '(lambda (x y) (< (car x) (car y))))		msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))	  (or *h* (setq *h* 175))	  (initget 6)	  (setq h (getreal (strcat "\nChieu cao chu <" (rtos *h*) "> :")))	  (if h (setq *h* h) (setq h *h*) )	  (setq width0 (* 3 h(TxtWidth "STT" msp))		height (* 2 h))	  (if str0	    (setq width1 (* 1.2 h(TxtWidth (strcase str0) msp)))	    (setq width1 (* 2 h(TxtWidth "Gia tri" msp))))	  (if (> h 3)	    (setq width0 (* (fix (/ width0 10))10)		  width1 (* (fix (/ width1 10))10)		  height (* (fix (/ height 5))5)))	  (setq pt (getpoint "\nDiem dat Bang :")		TblObj (vla-addtable msp (vlax-3d-point pt) (+ (length lst) 2) 3 height width1))	  (vla-put-regeneratetablesuppressed TblObj :vlax-true)	  (vla-put-vertcellmargin TblObj (* 0.25 h))	  (vla-put-horzcellmargin TblObj (* 0.75 h))	  (vla-SetColumnWidth TblObj 0 width0)	  (vla-SetColumnWidth TblObj 2 (* 2 h(TxtWidth "So luong" msp)))	  (mapcar '(lambda (x)(vla-setTextHeight TblObj x h))		  (list acTitleRow acHeaderRow acDataRow) )	  (mapcar '(lambda (x)(vla-setAlignment TblObj x 8))		  (list acTitleRow acHeaderRow acDataRow))	  (vl-catch-all-error-p (vl-catch-all-apply (function(lambda () (vla-MergeCells TblObj 0 0 0 2)) )))	  (vla-setText TblObj 0 0 "Bang thong ke")	  (vla-setText TblObj 1 0 "STT")	  (vla-setText TblObj 1 1 "Gia tri")	  (vla-setText TblObj 1 2 "So luong")	  (setq i 1 row 2 )	  (foreach e lst	    (vla-setText TblObj row 0 (itoa i))	    (vla-setText TblObj row 1 (car e))	    (vla-setText TblObj row 2 (cdr e))	    (vla-SetCellAlignment TblObj row 1 7)	    (vla-SetCellAlignment TblObj row 2 9)	    (setq row (1+ row) i (1+ i))	)	  (vla-put-regeneratetablesuppressed TblObj :vlax-false)	  (vlax-release-object TblObj)	  )	(alert "Khong chon duoc Text.")    )      (princ)  )    (alert "\nPhien ban Cad cua ban khong ho tro tao Bang (TABLE)")   )  )

Mình down về rồi dùng lệnh tkt của bác gia bạch không dùng được,hay tại phiên bản autocad 2014 không dùng được lisp 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

Không hiểu ý bạn.

- chức năng cho phép đếm 1 đối tượng : ý bạn là đếm các LINE, ARC, ... ?

Nếu đúng, bạn có thể sử dụng Tools -> Palettes -> Properties để xem.

hoặc tham khảo Lisp Thống kê Block : http://www.cadviet.com/forum/index.php?sho...ost&p=94041

 

Lisp Thống kê Text trên bản vẽ .

Bổ sung sắp xếp TEXT và tạo bảng (Table)

tkt_1.jpg

(defun c:tkt(/ ent h height i len0 lst msp pt row ss str str0 str_len tblobj width0 width1); thong ke text;;  By : Gia Bach, Copyrightゥ December 2010                    ;;;;  Contact : gia_bach @  www.CadViet.com                      ;;  (defun TxtWidth (val msp / txt minp maxp)    (vla-getBoundingBox (setq txt (vla-AddText msp val (vlax-3d-point '(0 0 0)) 1)) 'minp 'maxp)    (vla-Erase txt)    (-(car(vlax-safearray->list maxp))(car(vlax-safearray->list minp)))  )  ;main  (if (> (atof (substr (getvar "ACADVER") 1 4)) 16.0)    (progn      (vl-load-com)      (princ "\nChon cac Text de thong ke :")      (if (setq ss (ssget(list (cons 0 "TEXT"))))	(progn	  (setq i -1 len0 8)	  (while (setq ent (ssname ss (setq i (1+ i))))	    (setq str(cdr(assoc 1 (entget ent ))))	    (if (> (setq str_len (strlen str)) len0)	      (setq str0 str len0 str_len) )	    (if (not (assoc str lst))	      (setq lst (cons (cons str 1) lst))	      (setq lst (subst (cons str (1+ (cdr (assoc str lst))))			       (assoc str lst) lst)))	    )	  (setq lst (vl-sort lst '(lambda (x y) (< (car x) (car y))))		msp (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object))))	  (or *h* (setq *h* 175))	  (initget 6)	  (setq h (getreal (strcat "\nChieu cao chu <" (rtos *h*) "> :")))	  (if h (setq *h* h) (setq h *h*) )	  (setq width0 (* 3 h(TxtWidth "STT" msp))		height (* 2 h))	  (if str0	    (setq width1 (* 1.2 h(TxtWidth (strcase str0) msp)))	    (setq width1 (* 2 h(TxtWidth "Gia tri" msp))))	  (if (> h 3)	    (setq width0 (* (fix (/ width0 10))10)		  width1 (* (fix (/ width1 10))10)		  height (* (fix (/ height 5))5)))	  (setq pt (getpoint "\nDiem dat Bang :")		TblObj (vla-addtable msp (vlax-3d-point pt) (+ (length lst) 2) 3 height width1))	  (vla-put-regeneratetablesuppressed TblObj :vlax-true)	  (vla-put-vertcellmargin TblObj (* 0.25 h))	  (vla-put-horzcellmargin TblObj (* 0.75 h))	  (vla-SetColumnWidth TblObj 0 width0)	  (vla-SetColumnWidth TblObj 2 (* 2 h(TxtWidth "So luong" msp)))	  (mapcar '(lambda (x)(vla-setTextHeight TblObj x h))		  (list acTitleRow acHeaderRow acDataRow) )	  (mapcar '(lambda (x)(vla-setAlignment TblObj x 8))		  (list acTitleRow acHeaderRow acDataRow))	  (vl-catch-all-error-p (vl-catch-all-apply (function(lambda () (vla-MergeCells TblObj 0 0 0 2)) )))	  (vla-setText TblObj 0 0 "Bang thong ke")	  (vla-setText TblObj 1 0 "STT")	  (vla-setText TblObj 1 1 "Gia tri")	  (vla-setText TblObj 1 2 "So luong")	  (setq i 1 row 2 )	  (foreach e lst	    (vla-setText TblObj row 0 (itoa i))	    (vla-setText TblObj row 1 (car e))	    (vla-setText TblObj row 2 (cdr e))	    (vla-SetCellAlignment TblObj row 1 7)	    (vla-SetCellAlignment TblObj row 2 9)	    (setq row (1+ row) i (1+ i))	)	  (vla-put-regeneratetablesuppressed TblObj :vlax-false)	  (vlax-release-object TblObj)	  )	(alert "Khong chon duoc Text.")    )      (princ)  )    (alert "\nPhien ban Cad cua ban khong ho tro tao Bang (TABLE)")   )  )

Bác nào check lại hộ mình sao lỗi này với, khi load lisp thì nó báo:  APPLOAD tkt.lsp successfully loaded. Command: ; error: malformed list on input

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 nào check lại hộ mình sao lỗi này với, khi load lisp thì nó báo:  APPLOAD tkt.lsp successfully loaded. Command: ; error: malformed list on input

Lỗi này là do thiếu dấu ngoặc ")"  (bên phải)

Bạn kiểm tra từng dòng xem thế 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

Bác nào check lại hộ mình sao lỗi này với, khi load lisp thì nó báo:  APPLOAD tkt.lsp successfully loaded. Command: ; error: malformed list on input

Lỗi do format file không xuống dòng.

conghoa dùng Lisp cũng có "thâm niên" rồi, ráng vận động 1 chút , đưa code vào VLIDE "nhấn 2 cái enter" là chạy đượ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

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


×