Đến nội dung


Hình ảnh
- - - - -

Sử dụng hàm vlax-create-object như thế nào ?


  • Please log in to reply
6 replies to this topic

#1 pfievxd

pfievxd

    biết vẽ spline

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

Đã gửi 07 February 2011 - 10:55 PM

Trích 1 đoạn code điển hình trong topic bảo mật VLX : (vlax-get-property (vlax-invoke (vlax-create-object "Scripting.FileSystemObject") 'Getdrive "c:") "SerialNumber" )) làm ví dụ về sử dụng hàm này, pfievxd thấy việc sử dụng hàm này kết hợp với vlax-invoke thường để lấy thông tin liên quan đến phần cứng của máy ...vì có đọc qua 1 bài của bác ssg về lấy thông tin máy in hiện hành cũng như thấy bác NguyenHoanh có dùng trong Mplot, okie, vậy thì sử dụng hàm này như thế nào, cái chuỗi kiểu như "Scripting.FilesystemObject" kia ở đâu ra, ý nghĩa của nó là gì ...trong help nói khá hời hợt mà cái này có vẻ rất thú vị, các cao thủ chỉ giáo với ah
  • 0

#2 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 08 February 2011 - 09:38 AM

^^ Thực ra nó không hời hợt mà chỉ vì có quá ít ví dụ đi kèm để mình hiểu cách dùng thôi ^^

when you want a new instance of an application to be started..


..thường để lấy thông tin liên quan đến phần cứng của máy ...vì có đọc qua 1 bài của bác ssg về lấy thông tin máy in hiện hành cũng như thấy bác NguyenHoanh có dùng trong Mplot..

Không chỉ thông tin phần cứng, mà ta có thể khai thác tất cả những gì cái "Application Object" như Exel,Word,Access,Outlook.. cung cấp cho ta qua các method hay properties của nó.Phần Activex này mình cũng loáng thoáng lơ mơ, thấy gì dùng nấy,không thấy thì GG ^^,trong lúc chờ các bác khác rl, tặng bạn ví dụ chơi :
(defun C:dl( / e ss i)
(setq i (ssget "_I"))
(setq e (nentsel "Select entity on a layer: "))
(if e (setq ss (ssget (if i "_I" "_X") (list(cons 8 (cdr (assoc 8 (entget (car e)))))))))
(talk "Do you want to delete all objects on layer?")
(setq ans (getkword "\nDo you want to delete all objects on layer [Enter for Yes] ?"))
(if (= ans nil) (command ".erase" ss "") (setq ss nil))
)
(defun talk (str)
(vl-load-com)
(setq sapiObj (vlax-create-object "Sapi.SpVoice"))
(vlax-invoke sapiObj "Speak" str 0)
(vlax-release-object sapiObj)
)

http://en.wikipedia.org/wiki/ActiveX
  • 5

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#3 phamngoctukts

phamngoctukts

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1107 Bài viết
Điểm đánh giá: 696 (tốt)

Đã gửi 08 February 2011 - 11:30 PM

^^ Thực ra nó không hời hợt mà chỉ vì có quá ít ví dụ đi kèm để mình hiểu cách dùng thôi ^^



Không chỉ thông tin phần cứng, mà ta có thể khai thác tất cả những gì cái "Application Object" như Exel,Word,Access,Outlook.. cung cấp cho ta qua các method hay properties của nó.Phần Activex này mình cũng loáng thoáng lơ mơ, thấy gì dùng nấy,không thấy thì GG ^^,trong lúc chờ các bác khác rl, tặng bạn ví dụ chơi :

(defun C:dl( / e ss i)
(setq i (ssget "_I"))
(setq e (nentsel "Select entity on a layer: "))
(if e (setq ss (ssget (if i "_I" "_X") (list(cons 8 (cdr (assoc 8 (entget (car e)))))))))
(talk "Do you want to delete all objects on layer?")
(setq ans (getkword "\nDo you want to delete all objects on layer [Enter for Yes] ?"))
(if (= ans nil) (command ".erase" ss "") (setq ss nil))
)
(defun talk (str)
(vl-load-com)
(setq sapiObj (vlax-create-object "Sapi.SpVoice"))
(vlax-invoke sapiObj "Speak" str 0)
(vlax-release-object sapiObj)
)

http://en.wikipedia.org/wiki/ActiveX

Cái này hay à ta. Cái thư viện voice nó nằm chỗ nào vậy em. không biết có thay tiếng việt vào được không.
  • 0
Tất cả vì sự phát triển của diễn đàn ...
Cám ơn đừng nói lời suông mà hãy nhấn Hình đã gửi!

#4 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 09 February 2011 - 09:29 AM

Cái này hay à ta. Cái thư viện voice nó nằm chỗ nào vậy em. không biết có thay tiếng việt vào được không.

Dạ đây bác ^^
SpVoice Interface
Có thể nói tiếng việt, nhưng phát âm theo kiểu người Anh đọc tiếng Trung Hoa ạ ^^
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#5 pfievxd

pfievxd

    biết vẽ spline

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

Đã gửi 15 February 2011 - 07:15 AM

Okie, thanks bác ketxu so much, như vậy Scripting.FileSystemObject với Sapi.SpVoice là các Application Object, okie, right, cái này thì tên function cũng loáng thoáng hiểu được, thế nhưng mà làm thế nào để biết nó là loại ứng dụng gì, có thể gọi được các ứng dụng gì từ cad ...hX hi vọng sớm qua đoạn bỡ ngỡ
;------------------------
Ah`, activeX thì đọc taì liệu nào được các bác nhỉ? (ngoài Help)
  • 0

#6 quansla

quansla

    biết lệnh xclip

  • Members
  • PipPipPipPipPipPipPip
  • 643 Bài viết
Điểm đánh giá: 224 (khá)

Đã gửi 05 September 2012 - 08:18 PM

Anh ketxu ơi em rất muốn học autolist, cũng tập tành viết vài cái rồi, nhưng về phần sử dụng hàm vla-, vlx- thì em hoàn toàn không hiểu gì cả. Mà em thấy anh dùng hàm này rất thành thạo; nó ngắn gọn hơn cách viết của em nhiều/ Anh chỉ dẫn giúp em vài tài liệu nói về phần này được không ạ, cảm ơn anh
  • 0

#7 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 05 September 2012 - 08:30 PM

Mình toàn đọc Help Develop thôi bạn ạ. Ngoài ra GG là thầy giáo cực vĩ đại. Chỉ cần search code, k cần biết người ta nói j, n mình sẽ hiểu đc cách thức áp dụng :)
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC