乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 11|回复: 8

[编程交流] 在DCL中可能吗???

[复制链接]

15

主题

52

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 07:05:02 | 显示全部楼层 |阅读模式
当我的DCL弹出/加载时,是否可以使其聚焦,以便用户在输入所需的正确代码/字符串之前无法工作。。
如果字符串错误,它会发出警报/说“无效键”,但在用户给出正确代码之前,它会一直保持加载和聚焦状态,如果用户取消了它,程序会退出加载其他LISP。
 
附:请参阅我随附的图片。
080503vaoaod9kzjaeid99.jpg
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 07:14:01 | 显示全部楼层
我以前做过类似的事情,但出于对我的爱,我找不到代码。我会再挖一些,也许我会把它藏在一个叫做“安全”的文件夹里,而不是把整件事都写一遍
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 07:21:49 | 显示全部楼层
您可以对与“确定”按钮相关的事件执行此类验证:
  1. (defun TestUserInput()
  2. (if (/= (get_tile "MyInputBox")
  3.         MySecretKeyString)
  4. (progn
  5.   (set_tile  "MyInputBox" "Invalid key, please try again!")
  6.   (mode_tile "MyInputBox" 2)
  7. )
  8. (done_dialog 1)
  9. )
  10. )
  11. (action_tile "accept" "(TestUserInput)")
  12. (action_tile "cancel" "(done_dialog 0)")
  13. (if (= (getvar "DIASTAT") 1)
  14. [color=darkgreen] ;run the code[/color]
  15. [color=red] ;exit[/color]
  16. )
回复

使用道具 举报

15

主题

52

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 07:27:42 | 显示全部楼层
 
希望你能尽快找到,我很乐意等待。别担心。。
 
MSasu,谢谢。。我下班后再试试。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 07:37:03 | 显示全部楼层
 
我不得不为您重新编写一个示例代码[原因:我把文件藏得很好,我自己找不到它]
 
  1. (defun C:TEST(/ dcl_id)
  2.      (setq dcl_id (load_dialog "ErrorTest.dcl"))
  3.      (if (not (new_dialog "ErrorTest" dcl_id))
  4.            (exit)
  5.            )                           
  6.      (mode_tile "ValidNumber" 2)
  7.      (action_tile "accept" "(validate)")
  8.      (action_tile "cancel" "(done_dialog 0)")
  9.      (start_dialog)
  10.      (unload_dialog dcl_id)
  11.      (princ)
  12.      )                                 
  13. -----------------------
  14. (defun validate()
  15. (if (not (eq (get_tile "ValidNumber") "[b][color="#483d8b"]12577787-12FF0023-188330[/color][/b]"))
  16.    (progn
  17.          (set_tile "error" "Invalid License key")
  18.          (mode_tile "ValidNumber" 2))
  19.          (done_dialog)
  20.          )                    
  21.            )                     

 
  1. ErrorTest : dialog
  2. {label = "License Verification";
  3. : boxed_column {
  4. : text { label = "Enter Valid License Key";
  5. alignment = centered;}
  6. : edit_box  { key = "ValidNumber";}
  7. : row { alignment = centered;
  8. : button { key = "accept";
  9. label = "Accept";
  10. is_default = true;
  11. }       
  12. : button { key = "cancel";
  13. label = "cancel";
  14. }               
  15. }
  16. : errtile {alignment = centered;}
  17. }
  18. }

 
编辑:更新DCL,无论如何这是一个重要的想法
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
358
发表于 2022-7-6 07:42:44 | 显示全部楼层
Pbe,很好的DCL对话框,您添加了取消按钮actione\u互动程序,没有DCL文件中的相关代码。
 
一个问题。你把DCL文件的名字写颠倒了。
 
  1. (load_dialog "[color=red]errortest[/color].dcl")
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 07:54:14 | 显示全部楼层
 
我想我更新了Tharwat代码
 
但它很酷,只要保存的DCL文件与load\u对话框表达式上写的文件同名
 
干杯
回复

使用道具 举报

15

主题

52

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
75
发表于 2022-7-6 08:00:41 | 显示全部楼层
谢谢大家。。特别是为了pBe的努力。
回复

使用道具 举报

pBe

32

主题

2722

帖子

2666

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
211
发表于 2022-7-6 08:11:40 | 显示全部楼层
 
很高兴你找到了它的好用途。
 
如果你需要更多帮助,就喊一声
 
干杯,艾哈迈德
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 10:20 , Processed in 0.465093 second(s), 73 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表