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

code giới hạn thời gian sử dụng File lisp

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

Chỉ đơn giản là tôi không biết được nội dung của file lisp (c:\cadviet\lisp\archanwoo.lsp), và không được tác động đến file lisp. Còn được tác động đến file lisp thì cấy mã bảo mật vào file đó. Với lại nếu đã biết cấy mã bảo mật vào lisp thì chắc chắn đã biết sử dụng đoạn mã đầu tiên của tôi và không có câu hỏi của Ar_Chanwoo.

 

Cách đầu tiên của tôi (bài viết đầu tiên của tôi trong topic này) chính là điều bạn nói.

 

Anh Hoành ơi cho em hỏi tý!

EM có nhiều file lisp (các lisp đều chạy đưọc ), khi Biến nó thành đuôi VLX, thì có 1 số lệnh không chạy đưọc nghĩa là sao nhỉ

EM biến riêng lênhkhộng chạy đưọc đó thành VLX (Bỏ các file lisp khác) thì nó lại chạy đuợc

 

Nghialã thế nào nhỉ??????????????

Giúp em vớ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
Anh Hoành ơi cho em hỏi tý!

EM có nhiều file lisp (các lisp đều chạy đưọc ), khi Biến nó thành đuôi VLX, thì có 1 số lệnh không chạy đưọc nghĩa là sao nhỉ

EM biến riêng lênhkhộng chạy đưọc đó thành VLX (Bỏ các file lisp khác) thì nó lại chạy đuợc

 

Nghialã thế nào nhỉ??????????????

Giúp em với

Chắc là bị trùng tên hàm rồ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
Chắc là bị trùng tên hàm rồi.

 

Lúc đầu thì em cũng nghĩ thế, em đã thay đổi rồi mà đâu có đuợc

Load tất cả các lisp đó (bằng lệnh ap) thi lại đuợc.

Chả hiểu tại sao

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
Anh Hoành ơi cho em hỏi tý!

EM có nhiều file lisp (các lisp đều chạy đưọc ), khi Biến nó thành đuôi VLX, thì có 1 số lệnh không chạy đưọc nghĩa là sao nhỉ

EM biến riêng lênhkhộng chạy đưọc đó thành VLX (Bỏ các file lisp khác) thì nó lại chạy đuợc

 

Nghialã thế nào nhỉ??????????????

Giúp em với

Lisp là do bạn viết hay sưu tầm? Nếu sưu tầm thì tôi đoán thế này.

-Có thể trong các lệnh lisp đó có phần kiểm tra người viết cài vào để kiểm tra nội dung 1 dòng nào đó trong file lisp xem có bị thay đổi không (ví dụ dòng thông báo thông tin về tác giả chẳng hạn).

-Khi bạn cho nó thành file VLX thì khi thực hiện thao tác đọc nội dung trong file lisp bị lổi nên lệnh không tiếp tục 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
Lúc đầu thì em cũng nghĩ thế, em đã thay đổi rồi mà đâu có đuợc

Load tất cả các lisp đó (bằng lệnh ap) thi lại đuợc.

Chả hiểu tại sao

Tôi nghĩ trong các lisp đó dùng các biến toàn cục có tên trùng nhau, khi đưa tất cả vào vlx thì có sự liên hệ lẫn nhau giữa các biến nên dẫn đến lỗi khi chạy. Bạn phải xem lỗi trả về thì mới biết được do biến nào gây ra.

Nếu là tập hợp những lisp sưu tập tổng hợp thì ko nên đưa vào vlx. Vì để tạo vlx, cần phải viết các lisp một cách hệ thống và có tính toán chứ ko thể tùy ý lộn xộn đượ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

Xin cảm ơn các bác:

Tại em làm như sau:

1- Đoạn trên có 1 đoạn để đo cốt cao độ em lại lây defun là COS

2- Đoạn dưói, có 1 đoạn lisp khác mà cần phải tính COS của 1 góc (tên defun hoàn toàn khác)

thế là 2 ông ấy đá nhau:

THật tức cuời phải không các 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
Chỉ đơn giản là tôi không biết được nội dung của file lisp (c:\cadviet\lisp\archanwoo.lsp), và không được tác động đến file lisp. Còn được tác động đến file lisp thì cấy mã bảo mật vào file đó. Với lại nếu đã biết cấy mã bảo mật vào lisp thì chắc chắn đã biết sử dụng đoạn mã đầu tiên của tôi và không có câu hỏi của Ar_Chanwoo.

 

Cách đầu tiên của tôi (bài viết đầu tiên của tôi trong topic này) chính là điều bạn nói.

Xin nhờ bác Hoành giúp em để Test một lisp trong một file lisp đó luôn, vì em không biết chen thế nào cho nó 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
Đúng như bác Hòanh nói, khóa được người nay chứ không khóa được người gian. Kinh nghiệm tôi từng làm là tạo ra vài cái khóa liên quan với nhau, kiểu như là dùng vài cái register một lúc và các giá trị của tuân theo một thuật tóan mã hóa nào đó. Còn khi đặt khóa register thì chon những khóa gần giống các khóa đã có sẵn của Windows, các giá tri thì dừng nên dùng số mà dùng chuỗi nhị phân. Cũng chẵng an tòan hơn là bao nhưng có lẽ cũng có tác dụng "tung hỏa mù".

Còn người ngay thì thôi khóa làm gì nữa...

 

Tặng bác đọan code này, sau này có rãnh thì tạo ra vài cái khóa bằng chuỗi nhị phân để nhìn cho "Pro"

(DEFUN N2BIT (n / strbit m i)
 (setq strbit "0")
 (If (> n 0)
(progn
  (while (> n 1)
	(setq m n)
	(setq n (Fix (/ n 2)))
	(setq i (- m (* n 2)))
	(setq strbit (strcat (itoa i) strbit))
  )
  (setq strbit (strcat "1" strbit))
)
(setq strbit "000000000")
 )
 (setq l (strlen strbit))
 (while (< l 9)
(setq strbit (strcat "0" strbit))
(setq l (1+ l))
 )  
 (setq strbit (substr strbit 1 8))  
 strbit   
)
(DEFUN BIT2N (strbit / l n i k)
 (setq n 0)
 (setq l (strlen strbit))
 (setq i 0)
 (while  (< i l)	
(setq k (atoi (substr strbit (+ i 1) 1)))	
(setq n (+ n (* k (expt 2 (- l i 1)))))
(setq i (1+ i))
 )
 n
)

Nhờ Bác giúp và hướng dẫn cho việc mã hóa nhị phân lisp như thế nào với đoạn mã trên.

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
Nhờ Bác giúp và hýớng dẫn cho việc mã hóa nhị phân lisp nhý thế nào với ðoạn mã trên.

Thật là kỳ lạ, nếu các bạn ðã là cao thủ thì sẽ tự nghĩ ra cách khoá, còn các bạn ðang học thì tìm hiểu khoá làm gì. Các bạn nên tập trung công sức ðể viết ra lisp hay thì hõn. Rõ ràng một số bạn trên diễn ðàn khi sýu tầm lisp còn chýa hiểu về lisp, còn chýa biết "biến tấu" một lisp sýu tầm ðc mà ðã nghĩ ðến khóa, chẳng lẽ các bạn khóa lisp mình sýu tầm bằng chính cái khoá sýu tầm ðc, có nên không. Chỉ khi nào phần lớn chýõng trình và những modun quan trọng do bạn viết ra, hãy nghĩ ðến khoá

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ật là kỳ lạ, nếu các bạn ðã là cao thủ thì sẽ tự nghĩ ra cách khoá, còn các bạn ðang học thì tìm hiểu khoá làm gì. Các bạn nên tập trung công sức ðể viết ra lisp hay thì hõn. Rõ ràng một số bạn trên diễn ðàn khi sýu tầm lisp còn chýa hiểu về lisp, còn chýa biết "biến tấu" một lisp sýu tầm ðc mà ðã nghĩ ðến khóa, chẳng lẽ các bạn khóa lisp mình sýu tầm bằng chính cái khoá sýu tầm ðc, có nên không. Chỉ khi nào phần lớn chýõng trình và những modun quan trọng do bạn viết ra, hãy nghĩ ðến khoá

:cheers: Không đâu anh, trong quá trình học phải xem và vận dụng các cái hay của các bậc đàn anh. Các anh có đưa ra vấn đề trên, thì xin cho em hỏi tí nhé, Nếu anh có biết , xin chỉ giúp... thương em út nhỏ nha. Nếu chưa biết hảy để các anh khác giúp mình. Khóa là vấn đề rất tế nhị, nhưng có những việc cần phải khóa phải không anh. Tôi đã bị một trường hợp cố ý làm thay đổi nội dung trong lisp , Anh có biệt hậu qủa ra sao không.. ?

Các Lisp ở đây cho ra lò, đều là những bậc thầy, đàn anh viết và gợi ý chỉnh sửa cho ta, chớ có ai khóa đâu mà anh lo không góp nhặt được, những gì đã góp nhặt và đem ứng dụng phải được trân trọng chứ anh. :D

Mong được các anh chỉ cho những vấn đề cần khóa, bảo vệ thực thi trong lisp.

Cám ơn và mong tin giúp đỡ.

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í dụ lệnh CUA nằm trong file c:\cadviet\lisp\archanwoo.lsp nhưng người sử dụng không biết tên lệnh là CUA. Khi người sử dụng lệnh TEST, sẽ tương đương như lệnh CUA, nhưng chỉ được 5 lần sử dụng.

Code như sau:

(load "c:/cadviet/lisp/archanwoo.lsp");
(defun c:TEST()
(c:cua)
;;; Doc gia tri
(setq tmp (getcfg "AppData/CADViet/Count")
sl (cond
((or (not tmp) (= tmp "")) "5")
(t tmp)
)
)

;;; Kiem tra va thong bao
(if (/= sl "0")
(progn
;;; Thuc thi ma lenh
(princ (strcat "\nBan con " sl " lan su dung nua"))
;;; Luu gia tri
(setcfg "AppData/CADViet/Count" (itoa (1- (atoi sl))))
)
(princ "\nBan da het han su dung!")
)

(princ)
)

(defun c:RESET()
;;; Reset lai gia tri
(setcfg "AppData/CADViet/Count" "")
(princ)
)

Thuật toán rất đơn giản, bạn đưa them 1 Function Test (bao gồm đọc, kiểm tra và ghi số lần thực hiện lệnh Cua) rồi đặt tất cả các biểu thức của lệnh Cua trong 1 biểu thúc điều kiện , hoặc vòng lặp while. Sau đó mã hoá toàn bộ dưới dạng .fas Vậy đơn giản và tính bảo mật cao hơn. Tất nhiên với các cao thủ thì vẫn chỉ là .. vải thưa che mắt thánh

Em chưa hiểu lắm :

Nhờ các Anh giúp em chỉ cho một cách để giới hạn 1 file.lsp với đọan mã trên.

Mong được các anh giúp, mong tin :D

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í dụ lệnh CUA nằm trong file c:\cadviet\lisp\archanwoo.lsp nhưng người sử dụng không biết tên lệnh là CUA. Khi người sử dụng lệnh TEST, sẽ tương đương như lệnh CUA, nhưng chỉ được 5 lần sử dụng.

Code như sau:

(load "c:/cadviet/lisp/archanwoo.lsp");(defun c:TEST()(c:cua);;; Doc gia tri(setq tmp (getcfg "AppData/CADViet/Count")sl (cond((or (not tmp) (= tmp "")) "5")(t tmp)));;; Kiem tra va thong bao(if (/= sl "0")(progn;;; Thuc thi ma lenh(princ (strcat "\nBan con " sl " lan su dung nua"));;; Luu gia tri(setcfg "AppData/CADViet/Count" (itoa (1- (atoi sl)))))(princ "\nBan da het han su dung!"))(princ))(defun c:RESET();;; Reset lai gia tri(setcfg "AppData/CADViet/Count" "")(princ))

Chào các bác, em xin phép được hỏi lại vấn đề này

Em đã thực hiện như bác Nguyen Hoanh, sau khi có thông báo bạn đã hết hạn sử dụng hưng thực ra các lệnh vẫn thực hiện được, các bác có thể giải thích thêm được không ạ, không biết em sai chỗ nào!

Mong hồi âm !

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 phải đặt lệnh gọi hàm chính trong điều kiện kiểm tra đúng, hoặc giải phóng hàm chính đi trong điều kiện kiểm tra sai (nếu hàm chính đã được gọi trước đó).

 

Cụ thể ở trên bạn có thể sửa lại

 

(progn

(princ "\nBan da het han su dung!")

(setq c:cua nil)

)

 

Hoac

 

(defun c:cua () (princ "\nBan da het han su dung!"))

 

Về vấn đề bảo mật file lisp, mình gợi ý thế này:

 

. Đọc thông số 1 thiết bị nào đó trên máy (như CPU ID, MainBoard ID, HDD ID v.v....), tạm gọi là serial.

. Ứng với mỗi serial, bạn có 1 hàm mã hóa riêng xuất ra chuỗi, gọi là pass

. Người sử dụng cần phải nhập đúng pass này vào mới có thể sử dụng được

pass được lưu ở đâu đó trên máy, dưới dạng file, hoặc registry. Khi chạy, phần mềm của bạn sẽ đọc pass , đọc ID và so sánh chuỗi mã hóa ID với pass.

 

Về hạn chế số lần, bạn cũng cần phải mã hóa thông tin.

 

Cuối cùng là biên dịch các lsp ra vlx hoặc fas (các hàm mã hóa phải có thủ thuật chống dịch ngược).

 

Lưu ý: Nếu có mã hóa thì làm chơi để học tập thôi :D, chỉ khóa được người ngay, không khóa được người "gian". Mà người ngay thì khóa làm gì chứ. hehe.

  • 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ảm ơn npham, mình đã thực hiện được rồi, tất nhiên mục đích là học tập và khóa người ngay mà :mellow:

mình còn một vấn đề nữa là nếu mình có 3 file lisp muốn hạn chế số lần thực hiện lệnh thì phải viết lại như thế nào ?

Và còn một vấn đề nữa nếu file của mình không phải là lisp mà là file dll có dùng đoạn code trên được không, mình thử nhưng không được không biết sai chỗ nào mong được học hỏ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

Cảm ơn npham, mình đã thực hiện được rồi, tất nhiên mục đích là học tập và khóa người ngay mà :mellow:

mình còn một vấn đề nữa là nếu mình có 3 file lisp muốn hạn chế số lần thực hiện lệnh thì phải viết lại như thế nào ?

Và còn một vấn đề nữa nếu file của mình không phải là lisp mà là file dll có dùng đoạn code trên được không, mình thử nhưng không được không biết sai chỗ nào mong được học hỏi!

Mong giúp đỡ !

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

Tu nhien khong go TV duoc ????

 

Neu 3 file doc lap co ham doc lap thi ban phai dat ham "test" trong moi file

Neu no duoc goi tu 1 ham f nao do thi ban dat dieu kien trong ham f

file dll : Khong biet ban su dung no theo phuong thuc gi

Noi chung phai cu the moi gop y cho ban duoc.

  • 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

Tu nhien khong go TV duoc ????

 

Neu 3 file doc lap co ham doc lap thi ban phai dat ham "test" trong moi file

Neu no duoc goi tu 1 ham f nao do thi ban dat dieu kien trong ham f

file dll : Khong biet ban su dung no theo phuong thuc gi

Noi chung phai cu the moi gop y cho ban duoc.

Ví dụ mình có 3 file :

C:/cadviet/vm.lsp

C:/cadviet/vc.lsp

C:/cadviet/vd.lsp

Mình muốn hạn chế số lần dùng 3 lệnh này

Bạn có thể ví dụ cụ thể đặt hàm test cho 3 file được không

Còn file *.dll mình cũng mốn hạn chế lệnh như file *.lsp có được 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

Tu nhien khong go TV duoc ????

 

Neu 3 file doc lap co ham doc lap thi ban phai dat ham "test" trong moi file

Neu no duoc goi tu 1 ham f nao do thi ban dat dieu kien trong ham f

file dll : Khong biet ban su dung no theo phuong thuc gi

Noi chung phai cu the moi gop y cho ban duoc.

 

Tốt hơn hết, bạn nên gọp 3 file lại 1 file sau biên dịch (vlx chẳng hạn)

Còn nếu để 3 file độc lập, thì phải rõ cơ cấu file của bạn chứa gì trong đó, mỗi file là 1 hàm độc lập, hay có liên quan gì nhau không.

 

Còn file dll thì khó đấy. Phải làm trong soucre code. Dịch ra dll rồi sao đếm.

 

Tham khảo:

 

(defun c:vm (/)

;Ham kiem tra 
(defun TEST()
(setq sl (getcfg "AppData/CADViet/Count_vm"))
(cond
 ((= sl "") (setq sl "5"))
 ((<= (atoi sl) 0) (setq sl "1"))
 )
(setcfg "AppData/CADViet/Count_vm" (itoa (1- (atoi sl))))
)
; Ham thuc hien cong viec
(defun hamchinh (/)
(prompt "dang thuc hien lenh")
)
;vm
(if (> (atoi (setq sl (test))) 0)
  	(progn
   	(alert (strcat "Ban con " sl " lan su dung"))
   	(hamchinh)
  	)
  	(progn
	(alert "Het so lan su dung")
  (setq hamchinh nil)
 )
 )
)

  • 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
7 giờ trước, NVH_CADVIET đã nói:

Dear Nguyen Hoanh

biết lệnh adcenter

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

Mình có 1 file fas: THEMTEXT (ADDT).01.fas (Chắc file đã mã hóa của tác giả mình không rõ nữa) mình chép vào trong thư mục của mình  : c:/THUC HANH-BT1/THEMTEXT (ADDT).01/THEMTEXT (ADDT).01.fas

Theo code của bác mình làm thử :

 + chỉ cần load file lisp theo code dưới đây mà nó vẫn load được file .fas này. và đọc được lệnh (ở đây là lệnh ADDT của file .fas) mà không cần phải load file : THEMTEXT (ADDT).01.fas này

+ Vấn đề ở đây là nó không thực thi 5 lần sử dụng. (nó vẫn chạy bình thường theo file fas. ấy (tuy không phải load. Vì nó tự load theo đường dẫn.

Vây không biết sai sai gì đó. Nhờ bác góp ý nhé. 

 

 

(load "c:/THUC HANH-BT1/THEMTEXT (ADDT).01/THEMTEXT (ADDT).01.fas")
(defun c:TEST ()
  (C: ADDT)
;;; Doc gia tri
(setq tmp (getcfg "c:/THUC HANH-BT1/THEMTEXT (ADDT).01/THEMTEXT (ADDT).01.fas")
sl (cond
((or (not tmp) (= tmp "")) "5")
(t tmp)
)
)

;;; Kiem tra va thong bao
(if (/= sl "0")
(progn
;;; Thuc thi ma lenh
(princ (strcat "\nBan con " sl " lan su dung nua"))
;;; Luu gia tri
(setcfg "c:/THUC HANH-BT1/THEMTEXT (ADDT).01/THEMTEXT (ADDT).01.fas" (itoa (1- (atoi sl))))
)
(princ "\nBan da het han su dung!")
)

(princ)
)

 

=> LÀM THỰC HÀNH THÔI ! "ĐANG CỐ HIỂU.. NHƯNG CÀNG CỐ ... CÀNG KHÔNG HIỂU" . 

Xin cảm ơn!

 

Chẳng rõ bạn là người cũ ở diễn đàn lập nick mới hay mới thật nhưng bạn đi lấy của người khác xong đi hỏi khóa lại để làm gì? Khi bạn chưa biết về lisp thì nên có những topic học hỏi chia sẻ về lập trình đi. Ai cũng như bạn thì bạn cũng chả có để bạn dùng đâ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
58 phút trước, NVH_CADVIET đã nói:

Dear Nguyen Hoanh

biết lệnh adcenter

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

Cảm ơn bạn đã góp ý chân tình. 

Thật lòng mình không rành về Lisp . thỉnh thoảng vào DD xem các bạn trao đổi. Mình cũng đang học hỏi đây thôi. Các sách nói về học lisp hiện nay minh chưa biết phải mua ở đâu đầy đủ.

Bạn hiểu nhầm mình rồi:

1. Mình đang làm thử công dụng (bài của bạn ấy mà).

2. Mình đâu phải khóa file gì của tác giả mà mình download free đâu. Vấn đề là code trên bạn đưa ra để mọi người học hỏi (Đúng là nội dung có ý nghĩa) Chứ khóa làm chi.

3. Các chủ đề trên môi trường Cadviet.com đưa ra đều được trân trong cả mà. (tuy hơi tế nhị, nhưng đó cũng là sản phẩm và công sức, trí tuệ của các tác giả) -- TÔN TRỌNG!...

Mình biết đến lisp từ rất lâu. nhưng chưa am hểu chưa đọc qua  sách học viết lip nào, về nó. Nếu mình sai thì sửa cho theo đúng tác giả đã chỉ ... Thanks!

Bạn đọc thử cuốn này xem sao:

 

http://thuvien.nute.edu.vn/tai-lieu/ngon-ngu-autolisp-dung-trong-autocad-9175.aspx

  • 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
13 giờ trước, NVH_CADVIET đã nói:

Dear Nguyen Hoanh

biết lệnh adcenter

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

Mình có 1 file fas: THEMTEXT (ADDT).01.fas (Chắc file đã mã hóa của tác giả mình không rõ nữa) mình chép vào trong thư mục của mình  : c:/THUC HANH-BT1/THEMTEXT (ADDT).01/THEMTEXT (ADDT).01.fas

Theo code của bác mình làm thử :

 + chỉ cần load file lisp theo code dưới đây mà nó vẫn load được file .fas này. và đọc được lệnh (ở đây là lệnh ADDT của file .fas) mà không cần phải load file : THEMTEXT (ADDT).01.fas này

+ Vấn đề ở đây là nó không thực thi 5 lần sử dụng. (nó vẫn chạy bình thường theo file fas. ấy (tuy không phải load. Vì nó tự load theo đường dẫn.

Vây không biết sai sai gì đó. Nhờ bác góp ý nhé. 

 

 

(load "c:/THUC HANH-BT1/THEMTEXT (ADDT).01/THEMTEXT (ADDT).01.fas")
(defun c:TEST ()
  (C: ADDT)
;;; Doc gia tri
(setq tmp (getcfg "c:/THUC HANH-BT1/THEMTEXT (ADDT).01/THEMTEXT (ADDT).01.fas")
sl (cond
((or (not tmp) (= tmp "")) "5")
(t tmp)
)
)

;;; Kiem tra va thong bao
(if (/= sl "0")
(progn
;;; Thuc thi ma lenh
(princ (strcat "\nBan con " sl " lan su dung nua"))
;;; Luu gia tri
(setcfg "c:/THUC HANH-BT1/THEMTEXT (ADDT).01/THEMTEXT (ADDT).01.fas" (itoa (1- (atoi sl))))
)
(princ "\nBan da het han su dung!")
)

(princ)
)

 

=> LÀM THỰC HÀNH THÔI ! "ĐANG CỐ HIỂU.. NHƯNG CÀNG CỐ ... CÀNG KHÔNG HIỂU" . 

Xin cảm ơn!

 

Bạn xem lại code của Nguyen Hoanh

Code của bạn:

(defun c:TEST ()
  (C: ADDT)

...

Dòng (C: ADDT) đặt ở vị trí này thì luôn thực thi là phải rồi

Phải đặt ở chỗ

;;; Thuc thi ma lenh

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
10 giờ trước, NVH_CADVIET đã nói:

Xin phép Tg Nguyen Hoanh

(Và Commnet của bác ndtnv biết lệnh xref)

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

Trích dẫn: 

( Dòng (C: ADDT) đặt ở vị trí này thì luôn thực thi là phải rồi

Phải đặt ở chỗ

;;; Thuc thi ma lenh          )

 

===>

image.png.8af69bc67573a23b356a6b9c6be85a5a.png 

----------------------------------------------------------------------

Vẫn chưa được bác ah

- Có thể file fas của tác giả có mã lệnh là: ADDT -> nên khi load file test vào (Đồng nghĩa là đã load file fas đó vào rồi ---> thì cứ thực thi lệnh thôi... vẫn chưa tác động gì

Vậy các bác có thể chỉ điểm cụ thể hơn không ah. "Vì thấy hay nên làm thử xem nó xử lý ra sao ". Tuy các bác có đưa vấn đề nho nhỏ này vào cho cad chạy. thì chắc cũng OK rồi nhỉ.

Bạn viết lại code file .fas xong bỏ vào chỗ đó. Mà thay vì bỏ tgian mò cái này nên học cho biết viết cái đã sẽ hay hơn.

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  

×