Chuyển đến nội dung
Diễn đàn CADViet
  • Thông báo

    • Nguyen Hoanh

      CADViet đã hoàn tất nâng cấp   14/09/2017

      Chào các bạn, CADViet đã hoàn tất việc nâng cấp lên phiên bản mới. Tất cả các chức năng đã hoạt động theo kỳ vọng của ban quản trị. Nếu có vấn đề gì cần phản hồi, các bản post ở đây nhé: Trân trọng, Nguyễn Hoành.
Đăng nhập để thực hiện theo  
pfievxd

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

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

pfievxd    6

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

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
ketxu    2.653

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

  • Vote tăng 5

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
phamngoctukts    708

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

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
ketxu    2.653

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 ạ ^^

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
pfievxd    6

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)

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
quansla    232

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

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
ketxu    2.653

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

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  

×