Đến nội dung


Hình ảnh
- - - - -

[Hỏi] Cách đếm số lần sử dụng lệnh lisp hoặc Giới hạn thời gian sử dụng LISP


  • Please log in to reply
28 replies to this topic

#1 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 28 May 2015 - 04:38 PM

Em chào các bác!

Em có một câu hỏi này chút ạ! Em viết một lisp phục vụ cho công việc hoàn toàn chính đáng, nhưng đã có người sử dụng không đúng mục đích, ma số liệu (bịa số liệu). Bây giờ em muốn giới hạn việc sử dụng lisp đó bằng số lần sử dụng hoặc giới hạn thời gian sử dụng lisp. Các bác có thể cho em xin 1 đoạn Code hoặc cách thức thực hiện việc này được không ạ? Em cảm ơn các bác nhiều!

P/s: Em đã từng thấy 1 anh viết lisp nếu sử dụng quá hạn nó sẽ tự xóa lisp đó. Em tò mò nhưng chưa biết cách.


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#2 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 28 May 2015 - 04:47 PM

Em:

http://www.cadviet.c...dung-file-lisp/


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


#3 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 28 May 2015 - 04:50 PM

Em xin lỗi. Em vừa post bài thì thấy có bài liên quan. Em muốn xóa mà ko xóa được. Em sẽ rút kinh nghiệm ạ.


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#4 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 28 May 2015 - 11:07 PM

Các bác cho em hỏi thêm 1 chút!

Thay vì số lần sử dụng LISP thì em tính theo thời gian (số ngày) sử dụng LISP thì làm như thế nào ạ?

Với số lần sử dụng LISP thì không vấn đề gì, em đã làm được rồi, còn cách tính trừ ngày này cho ngày này bằng bao nhiêu ngày thì em chưa biết cách tính. Nhờ các bác ra tay trợ giúp.

Ví dụ: Ngày bắt đầu sử dụng lisp là ngày 28/05/2015 và em cho thời gian sử dụng là 3 ngày thì nó hiểu là hết ngày 01/06/2015 là hết hạn. (Tức sang ngày 02/06/2015 là hết hạn)

 Em cảm ơn các bác nhiều.


  • -1



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#5 nhoclangbac

nhoclangbac

    biết vẽ circle

  • Members
  • PipPip
  • 38 Bài viết
Điểm đánh giá: 3 (bình thường)

Đã gửi 29 May 2015 - 12:04 AM

Nhoc cung cấp 1 số hàm cho anh tự xử (bởi vì Nhoc ko ủng hộ quan điểm hạn chế này lém -_- )

(setcfg cfgname cfgval)

Ex : (SETCFG "AppData/CADViet/Count" "111")

(vl-registry-write reg-key [val-name val-data])

Ex : (VL-REGISTRY-WRITE "HKEY_CURRENT_USER\kk\time\time")
(VL-REGISTRY-WRITE "HKEY_CURRENT_USER\kk\time\time" "" "111")

(vl-registry-read reg-key [val-name])

Ex : (VL-REGISTRY-READ "HKEY_CURRENT_USER\kk\time\time")

Rồi anh tự (setq  ngay  jido) mà giống con kiến bò trên sa mạc :angry2:


  • 1

#6 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 29 May 2015 - 12:06 AM

Cảm ơn em.

Người ta dùng không đúng mục đích nên anh phải hạn chế. Nó ảnh hưởng đến uy tín của ngành và anh là kẻ đều lêu. :D. Anh dùng đúng mục đích. Hii.

Cảm ơn em về những từ khóa.


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#7 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 29 May 2015 - 12:14 AM

Anh sửa lại 1 tí

 

(vl-registry-write "HKEY_CURRENT_USER\\Test"

Ex : (SETCFG "AppData/CADViet/Count" "111")
(vl-registry-write reg-key [val-name val-data])
Ex : (VL-REGISTRY-WRITE "HKEY_CURRENT_USER\\kk\\time\\time")
(VL-REGISTRY-WRITE "HKEY_CURRENT_USER\\kk\\time\\time" "" "111")
(vl-registry-read reg-key [val-name])
Ex : (VL-REGISTRY-READ "HKEY_CURRENT_USER\\kk\\time\\time")

 

Anh đang tìm cách lưu biến ngày khi lần đầu tiên sử dụng, sau đó sẽ cộng thời gian số ngày cho những lần tiếp theo. Chưa tìm ra cách em ạ!


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#8 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 29 May 2015 - 06:37 AM

Đề phòng kẻ gian sử dụng lisp quá thời hạn, liệu có thể đề phòng kẻ gian vặn đồng hồ lại?


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


#9 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 29 May 2015 - 07:25 AM

Đề phòng kẻ gian sử dụng lisp quá thời hạn, liệu có thể đề phòng kẻ gian vặn đồng hồ lại?

kẻ gian có "trăm tay hay nghìn tay" thì cũng không thể vặn hết các loại đồng hồ. VD : ngày tạo file (truy xuất file) của các file hệ thống trong thư mục windows.

Nhưng vấn đề là làm cách nào ngăn "người ngay" không thay đổi được Registry hay file config.


  • 1

#10 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 29 May 2015 - 08:02 AM

 

 

Đề phòng kẻ gian sử dụng lisp quá thời hạn, liệu có thể đề phòng kẻ gian vặn đồng hồ lại?

Dạ, không sao đâu ạ. Chương trình cũng không phải cao siêu lắm và những người trong ngành của em cũng không phải siêu đẳng về lập trình đâu. Em chỉ muốn hạn chế việc sử dụng không đúng mục đích thôi. Nếu họ làm được điều đó thì họ mất công chỉnh thời gian. :D. Mong các bác giúp em một chút ạ!

Em cảm ơn các bác nhiều!


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#11 ndtnv

ndtnv

    biết lệnh minsert

  • Members
  • PipPipPipPipPipPip
  • 437 Bài viết
Điểm đánh giá: 384 (khá)

Đã gửi 29 May 2015 - 08:15 AM

Các bác cho em hỏi thêm 1 chút!

Thay vì số lần sử dụng LISP thì em tính theo thời gian (số ngày) sử dụng LISP thì làm như thế nào ạ?

Với số lần sử dụng LISP thì không vấn đề gì, em đã làm được rồi, còn cách tính trừ ngày này cho ngày này bằng bao nhiêu ngày thì em chưa biết cách tính. Nhờ các bác ra tay trợ giúp.

Ví dụ: Ngày bắt đầu sử dụng lisp là ngày 28/05/2015 và em cho thời gian sử dụng là 3 ngày thì nó hiểu là hết ngày 01/06/2015 là hết hạn. (Tức sang ngày 02/06/2015 là hết hạn)

 Em cảm ơn các bác nhiều.

Hàm lấy ngày, tháng năm:

(fix (getvar "CDATE"))

Bạn phải viết thêm hàm tính chênh lệch ngày, tháng

PS:

Không cần máy tính vẫn tính được, từ cách tính tay suy ra thuật toán


  • 0

#12 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 29 May 2015 - 08:17 AM

 

Hàm lấy ngày, tháng năm:

(fix (getvar "CDATE"))

Bạn phải viết thêm hàm tính chênh lệch ngày, tháng

Cái này em biết. Nhưng cách tính em chưa biết ạ. Em cần hỏi cái đó.


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#13 tien2005

tien2005

    biết lệnh properties

  • Members
  • PipPipPipPip
  • 257 Bài viết
Điểm đánh giá: 94 (tàm tạm)

Đã gửi 29 May 2015 - 08:31 AM

Bạn vào express/tools/system variable editor... rồi gõ tên biến CDATE hay DATE để hiểu nó trả về cái gì rồi Bạn sẽ có phương án xử lý thích hợp


  • 0

#14 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 29 May 2015 - 09:06 AM

 

 

Bạn vào express/tools/system variable editor... rồi gõ tên biến CDATE hay DATE để hiểu nó trả về cái gì rồi Bạn sẽ có phương án xử lý thích hợp

Có lẽ nhờ các bác trợ giúp. @@


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#15 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

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

Đã gửi 29 May 2015 - 09:13 AM

Có lẽ nhờ các bác trợ giúp. @@

Thời gian tại thời điểm 1 (mili giây):

(setq time1 (getvar "millisecs"))

Tại cỡ 9h09' 29/5/2015 là 1304812812. Có thể lấy và đặt trước giá trị này.

Thời gian tại thời điểm 2 (mili giây):

(setq time2 (getvar "milisecs"))

Hiệu số thời gian:

(- time2 time1)

Em khống chế hiệu này.


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


#16 thanhduan2407

thanhduan2407

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 992 Bài viết
Điểm đánh giá: 223 (khá)

Đã gửi 29 May 2015 - 11:19 AM

 

Thời gian tại thời điểm 1 (mili giây):

(setq time1 (getvar "millisecs"))

Tại cỡ 9h09' 29/5/2015 là 1304812812. Có thể lấy và đặt trước giá trị này.

Thời gian tại thời điểm 2 (mili giây):

(setq time2 (getvar "milisecs"))

Hiệu số thời gian:

(- time2 time1)

Em khống chế hiệu này.

 

(defun SOLANLUU (/)

    (setq slan (getcfg "AppData/NGUYENTHIENDUONG/Count_FGCTC"))
    (setq time1 (getvar "millisecs"))
    (cond
      ((= slan "") (setq slan (rtos (/ (- (getvar "millisecs") time1 ) 1000.0) 2 0)))
      ((<= (atoi slan) 0) (setq slan "1"))
    )
    (setcfg "AppData/NGUYENTHIENDUONG/Count_FGCTC" (rtos (/ (- (getvar "millisecs") time1 ) 1000.0) 2 0))
  )

Em thử kiểm soát trong 60s nhưng không được,biến thời gian ko dc lưu bác ạ. Chắc tại em chưa hiểu điều này.


  • 0



Tôi là con kiến bò trên sa mạc kiến thức bao la. Biển học thật rộng lớn







#17 pphung183

pphung183

    biết dimstyle

  • Members
  • PipPipPipPipPip
  • 384 Bài viết
Điểm đánh giá: 425 (tốt)

Đã gửi 29 May 2015 - 09:52 PM

Em thử kiểm soát trong 60s nhưng không được,biến thời gian ko dc lưu bác ạ. Chắc tại em chưa hiểu điều này.

Sao bạn ko thử tạo khóa registry của Window theo hàm của Nhoclangbat rồi đặt diều kiện chạy hàm chính :)


  • 1

#18 hoanle

hoanle

    Chưa sử dụng CAD

  • Members
  • Pip
  • 3 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 29 May 2015 - 11:06 PM

Sao bạn ko thử tạo khóa registry của Window theo hàm của Nhoclangbat rồi đặt diều kiện chạy hàm chính 

 


  • 0

#19 hoanle

hoanle

    Chưa sử dụng CAD

  • Members
  • Pip
  • 3 Bài viết
Điểm đánh giá: 0 (bình thường)

Đã gửi 29 May 2015 - 11:09 PM

 

Sao bạn ko thử tạo khóa registry của Window theo hàm của Nhoclangbat rồi đặt diều kiện chạy hàm chính 

 

 

em bị lỗi 1317 khi cài đặt autocad thì sửa như thế nào được ạ? em cảm ơn!


  • 0

#20 pphung183

pphung183

    biết dimstyle

  • Members
  • PipPipPipPipPip
  • 384 Bài viết
Điểm đánh giá: 425 (tốt)

Đã gửi 29 May 2015 - 11:31 PM

em bị lỗi 1317 khi cài đặt autocad thì sửa như thế nào được ạ? em cảm ơn!

 1 câu hỏi khó hiểu? B)  Về nguyên tắc khi cài lại Cad thì bạn phải gỡ triệt để Cad cũ (bằng phần mềm Your Unin-staller! chẳng hạn). Chạy CCleaner để lau sạch các registry của Cad cũ. Xong bạn cài lại Cad thì Ok. Nói chung có nhiều nguyên nhân nhưng nguyên nhân chính thường là tay nghề chưa ngon :D


  • 1