找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1162|回复: 4

[LISP函数]:请教高手,帮忙看看我的小程序有什么问题?

[复制链接]
发表于 2002-9-17 08:19:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
;;password.lsp     
;;
(defun getpass (/ dcl_id pass)
  (setq dcl_id (load_dialog "password.dcl"))
  (if (new_dialog "passdlg" dcl_id)
    (progn
      (start_dialog)
      (action_tile "password" "(set 'pass $value)")
      (unload_dialog dcl_id)
    )
    (princ "error!")
  )
  pass
)
;********************************
;********************************

(if (= "111" (getpass))
  (princ)
)
(getpass)
(load "password.lsp")
  以下是dcl文件:
//password.dcl
//
passdlg:dialog{
        label="password Protected";
        initial_focus="password";
        :edit_box{
                label="Password:";
                edit_width=20;
                key="password";
                value="";
                password_char="?";
                }
        ok_cancel;
        }
不知是什么问题,(action_tile "password" "(set 'pass $value)")
这一句总是没法读取在对话框输入的数据,请教问题在那里。(action_tile "password" "(set 'pass $value)")[/COLOR]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 23个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2002-9-17 12:54:19 | 显示全部楼层

Re: [LISP函数]:请教高手,帮忙看看我的小程序有什么问题?

最初由 easyli 发布
;;password.lsp     
;;
(defun getpass (/ dcl_id pass)
  (setq dcl_id (load_dialog "password.dcl"))
  (if (new_dialog "passdlg" dcl_id)
    (progn
      (start_dialog)
      (action_tile "passwo...


这样:

  1. ;;password.lsp
  2. ;;
  3. (defun getpass (/ dcl_id)
  4.   (setq dcl_id (load_dialog "password.dcl"))
  5.   (if (new_dialog "passdlg" dcl_id)
  6.     (progn
  7.       (mode_tile "password" 2)
  8.       (action_tile "password" "(setq pass $value)")
  9.       (action_tile "accept" "(done_dialog 1)")
  10.       (action_tile "cancel" "(done_dialog 0)")   ;Cancel键对应
  11. ;      (unload_dialog dcl_id)
  12.       (setq aaa(start_dialog))           ;此句应在后面
  13.     )
  14.     (princ "error!")
  15.   )
  16.   (if (= aaa 1) pass)
  17. )
  18. ;********************************
  19. ;********************************
  20. (if (= "111" (getpass))
  21. (princ "a")
  22. )
  23. ;(getpass)
  24. ;(load "password.lsp")

  25. //password.dcl
  26. //
  27. passdlg:dialog{
  28.     label="password Protected";
  29.     initial_focus="password";
  30.     :edit_box{
  31.         label="Password:";
  32.         edit_width=20;
  33.         key="password";
  34.         value="";
  35.         password_char="*";
  36.         allow_accept=true;
  37.     }
  38.     ok_cancel;              //用ok_only好些
  39. }
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-9-17 13:11:58 | 显示全部楼层
(defun GETPASS (/ DCL_ID PASS)
  (setq DCL_ID (load_dialog "password.dcl"))
  (if (new_dialog "passdlg" DCL_ID)
    (progn
      (action_tile "password" "(set 'pass $value)")
      (start_dialog)
      (unload_dialog DCL_ID)
    )
    (princ "error!")
  )
  PASS
)
;;********************************
;;********************************
(if (= "111" (GETPASS))
  (ALERT "PASSWORD OK")
  (ALERT "WRONG PASSWORD")
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 02:23 , Processed in 0.183943 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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