找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

楼主: eachy

[VLISP程序]:利用Windows对话框一次获取多个文件

[复制链接]
发表于 2005-10-9 20:04:17 | 显示全部楼层
wkai,下载这个并安装试试看
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-9 21:01:05 | 显示全部楼层

  1. (defun getfiles        (msg wl / x)
  2.   (vl-load-com)
  3.   (if  (vlax-create-object "mscomdlg.commondialog")
  4.      (vl-registry-write
  5.        "HKEY_CLASSES_ROOT\\LICENSES\\4d553650-6abe-11cf-8adb-00aa00c00905"
  6.        ""
  7.        "gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj"
  8.      )
  9.   )
  10.   (if (setq x (vlax-create-object "mscomdlg.commondialog"))
  11.     (progn
  12.       (if (not path)
  13.         (setq path "")
  14.       )
  15.       (vlax-put-property x "dialogtitle" msg)
  16.       (vlax-put-property x "filename" wl)
  17.       (vlax-put-property x "filter" wl)
  18.       (vlax-put-property x "initdir" path)
  19.       (vlax-put-property x "maxfilesize" 10000)
  20.       ;; in lisp unbedingt notwendig, sonst kommt ne  ;;fehlermeldung von wegen zu wenig speicher
  21.       (vlax-put-property x "flags" 512)
  22.       (vlax-put-property x "action" 1) ;_ showopen-dialog
  23.       (setq erg (vlax-get-property x "filename"))
  24.     )
  25.   )
  26.   (if (and erg (/= erg wl))
  27.     (setq erg (sttolst erg))
  28.     (setq erg nil)
  29.   )
  30. )

  31. (defun sttolst (str / f f2 lst i)
  32.   (setq i 1)
  33.   (setq f2 "")
  34.   (while (/= (setq f (substr str i 1)) "")
  35.     (if        (= f " ")
  36.       (progn
  37.         (setq lst (append lst (list f2)))
  38.         (setq f2 "")
  39.       )
  40.       (setq f2 (strcat f2 f))
  41.     )
  42.     (setq i (1+ i))
  43.   )
  44.   (setq lst (append lst (list f2)))
  45. )

  46. ;;调用命令:(getfiles "选择需要批处理打印的文件" "*.plt")
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-9 21:33:01 | 显示全部楼层
(IF (= F " ")....
文件名和目录名都可能含有空格的!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-9 22:15:37 | 显示全部楼层
狂刀:
下载了! regsvr了! reg了! 可以了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-10 12:31:43 | 显示全部楼层
18楼的,这种情况怎么考虑比较好?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2005-10-10 22:46:55 | 显示全部楼层
不管怎么用,首先得有那个文件才行.vb5或者vb6.

导入reg就相当于你是开发者了,(相当于你已经花钱买过vb了,号码各不相同.或装个vb就可以)
但不可能要求没个人都是开发者,那就reg一下.

如果没reg,可以要一个lpk认证.(使用者),就是这里说的:
http://support.microsoft.com/default.aspx?kbid=159923
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2005-10-11 12:44:31 | 显示全部楼层
想问下楼上的,为什么这里对话框会跟网页-------(如何在 Internet Explorer 中使用授权的 ActiveX 控件)有关系?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-5-12 10:00:45 | 显示全部楼层
请问这个"HKEY_CLASSES_ROOT\\LICENSES\\4d553650-6abe-11cf-8adb-00aa00c00905"与(setq x (vlax-create-object "MSComDlg.CommonDialog"))有什么关系,为什么对二楼写的 (setq x (vlax-create-object "UserAccounts.CommonDialog"))不起作用,从表面上真看不出来,有谁知道,帮忙解释解释
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

 楼主| 发表于 2006-5-13 09:51:41 | 显示全部楼层
看 10楼 的链接,MS 的一些免费 ActiveX 控件是需要授权才可以使用的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-11-2 13:23:11 | 显示全部楼层
能不能实现像CAD自身的那种选择文件的对话框?
这个总感觉有点难受似 的.
要选择驱动器,要选目录,对话框的大小也不能调整.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-6-17 10:02:30 | 显示全部楼层
;; Register ActiveX server (dll/ocx)
;;
;; This requires RegSvr32.exe to be on the DOS path

(defun RegServer (server)
   (startapp
      "regsvr32.exe"
      (strcat "/s \"" server "\"")
   )
)

;; Get CLSID from ProgID

(defun GetClassID (ProgID)
   (vl-registry-read
      (strcat "HKEY_CLASSES_ROOT\\" progid "\\CLSID")
   )
)

;; Register hello ActiveX services,
;; if not already registered.

(defun Register (  / server)
   (cond
      (  (GetClassID *hello*))
      (  (not (setq server (findfile "comdlg32.ocx")))
         (alert "Error: Can't locate hello Library (comdlg32.ocx)"))
      (t (regserver server)
         (or
            (GetClassID *hello*)
            (alert "Error: Failed to register hello ActiveX services.")
         )
      )
   )
)


;;自动注册模块结束.
(setq *hello* "comdlg32.ocx")
(Register)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2007-9-21 09:54:59 | 显示全部楼层
能不能实现像CAD自身的那种选择文件的对话框?AutoCAD2002自带的那个批处理打印文件的选择文件对话框就很好,有谁能做到吗?这个总感觉有点难受似的,怪怪的,不能调整对话框的大小,我曾经将flags设为别的值,虽然对话框比较好看,也可以调整对话框的上下方向大小,但是不能支持多选,请教斑竹
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2008-7-30 18:23:43 | 显示全部楼层
写的太深奥拉.......
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-5-15 15:42:19 | 显示全部楼层
还不如使用getfiled函数,同样达到目的,且没有那些控件注册问题
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2009-8-18 14:16:53 | 显示全部楼层
请问是连续框选连续打印吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-17 21:27 , Processed in 0.214948 second(s), 53 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表