找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 6653|回复: 83

[每日一码] 一个进度条的实现代码

  [复制链接]

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-7-23 02:07:01 | 显示全部楼层 |阅读模式

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

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

×

lgx.gif

  1. (defun progress_lgx (current_pcs      tatoal               current1_pcs
  2.                      tatoal1              /
  3.                      lgx_screenmin_point
  4.                      lgx_screenmax_point               width-x_lgx
  5.                      height-y_lgx     half-y_lgx       grve_lgx
  6.                      min-x_lgx              max-x_lgx               y_zl_lgx
  7.                      x_zl_lgx
  8.                     )
  9. ;;;By: Liu new
  10.   (redraw)
  11.   (setq        lgx_screenmin_point
  12.          (list (- (car (getvar "viewctr"))
  13.                   (/ (*        (/ (getvar "viewsize")
  14.                            (cadr (getvar "screensize"))
  15.                         )
  16.                         (car (getvar "screensize"))
  17.                      )
  18.                      2
  19.                   )
  20.                )
  21.                (- (cadr (getvar "viewctr"))
  22.                   (/ (getvar "viewsize") 2)
  23.                )
  24.          )
  25.   )
  26.   (setq        lgx_screenmax_point
  27.          (list (+ (car (getvar "viewctr"))
  28.                   (/ (*        (/ (getvar "viewsize")
  29.                            (cadr (getvar "screensize"))
  30.                         )
  31.                         (car (getvar "screensize"))
  32.                      )
  33.                      2
  34.                   )
  35.                )
  36.                (+ (cadr (getvar "viewctr"))
  37.                   (/ (getvar "viewsize") 2)
  38.                )
  39.          )
  40.   )
  41.   (setq        width-x_lgx
  42.          (- (car lgx_screenmax_point) (car lgx_screenmin_point))
  43.   )
  44.   (setq        height-y_lgx
  45.          (- (cadr lgx_screenmax_point)
  46.             (cadr lgx_screenmin_point)
  47.          )
  48.   )
  49.   (setq half-y_lgx (+ (cadr lgx_screenmin_point) (* height-y_lgx 0.5)))
  50.   (if (and (/= tatoal nil) (> tatoal 0))
  51.     (progn
  52.       (setq grve_lgx nil)
  53.       (setq
  54.         min-x_lgx (+ (car lgx_screenmin_point) (* width-x_lgx 0.25))
  55.       )
  56.       (setq
  57.         max-x_lgx (- (car lgx_screenmax_point) (* width-x_lgx 0.25))
  58.       )
  59.       (if (and (/= tatoal1 nil) (> tatoal1 0))
  60.         (progn (setq min-y_lgx (+ half-y_lgx (* height-y_lgx 0.005)))
  61.                (setq max-y_lgx (+ half-y_lgx (* height-y_lgx 0.025)))
  62.         )
  63.         (progn (setq min-y_lgx (- half-y_lgx (* height-y_lgx 0.01)))
  64.                (setq max-y_lgx (+ half-y_lgx (* height-y_lgx 0.01)))
  65.         )
  66.       )
  67.       (setq grve_lgx (list (list min-x_lgx min-y_lgx)
  68.                            (list min-x_lgx max-y_lgx)
  69.                            (list min-x_lgx min-y_lgx)
  70.                            (list max-x_lgx min-y_lgx)
  71.                            (list min-x_lgx max-y_lgx)
  72.                            (list max-x_lgx max-y_lgx)
  73.                            (list max-x_lgx max-y_lgx)
  74.                            (list max-x_lgx min-y_lgx)
  75.                      )
  76.       )
  77.       (grvecs (cons 98 grve_lgx))
  78.       (setq grve_lgx nil)
  79.       (setq y_zl_lgx (/ (* height-y_lgx 0.02) 11.0))
  80.       (if (/= current_pcs 0)
  81.         (setq x_zl_lgx (* width-x_lgx
  82.                           0.5
  83.                           (/ (float current_pcs) (float tatoal))
  84.                        )
  85.         )
  86.         (setq x_zl_lgx 0)
  87.       )
  88.       (setq max-x_lgx (+ min-x_lgx x_zl_lgx))
  89.       (repeat 10
  90.         (setq min-y_lgx (+ min-y_lgx y_zl_lgx))
  91.         (setq max-y_lgx min-y_lgx)
  92.         (setq grve_lgx (list (list min-x_lgx min-y_lgx)
  93.                              (list min-x_lgx max-y_lgx)
  94.                              (list min-x_lgx min-y_lgx)
  95.                              (list max-x_lgx min-y_lgx)
  96.                              (list min-x_lgx max-y_lgx)
  97.                              (list max-x_lgx max-y_lgx)
  98.                              (list max-x_lgx max-y_lgx)
  99.                              (list max-x_lgx min-y_lgx)
  100.                        )
  101.         )
  102.         (grvecs (cons 1 grve_lgx))
  103.       )
  104.     )
  105.   )
  106.   (if (and (/= tatoal1 nil) (> tatoal1 0))
  107.     (progn (setq grve_lgx nil)
  108.            (setq
  109.              min-x_lgx (+ (car lgx_screenmin_point) (* width-x_lgx 0.25))
  110.            )
  111.            (setq
  112.              max-x_lgx (- (car lgx_screenmax_point) (* width-x_lgx 0.25))
  113.            )
  114.            (setq min-y_lgx (- half-y_lgx (* height-y_lgx 0.025)))
  115.            (setq max-y_lgx (- half-y_lgx (* height-y_lgx 0.005)))
  116.            (setq grve_lgx (list        (list min-x_lgx min-y_lgx)
  117.                                 (list min-x_lgx max-y_lgx)
  118.                                 (list min-x_lgx min-y_lgx)
  119.                                 (list max-x_lgx min-y_lgx)
  120.                                 (list min-x_lgx max-y_lgx)
  121.                                 (list max-x_lgx max-y_lgx)
  122.                                 (list max-x_lgx max-y_lgx)
  123.                                 (list max-x_lgx min-y_lgx)
  124.                           )
  125.            )
  126.            (grvecs (cons 98 grve_lgx))
  127.            (setq grve_lgx nil)
  128.            (setq y_zl_lgx (/ (* height-y_lgx 0.02) 11.0))
  129.            (if (/= current1_pcs 0)
  130.              (setq x_zl_lgx (* width-x_lgx
  131.                                0.5
  132.                                (/ (float current1_pcs) (float tatoal1))
  133.                             )
  134.              )
  135.              (setq x_zl_lgx 0)
  136.            )
  137.            (setq max-x_lgx (+ min-x_lgx x_zl_lgx))
  138.            (repeat 10
  139.              (setq min-y_lgx (+ min-y_lgx y_zl_lgx))
  140.              (setq max-y_lgx min-y_lgx)
  141.              (setq grve_lgx (list (list min-x_lgx min-y_lgx)
  142.                                   (list min-x_lgx max-y_lgx)
  143.                                   (list min-x_lgx min-y_lgx)
  144.                                   (list max-x_lgx min-y_lgx)
  145.                                   (list min-x_lgx max-y_lgx)
  146.                                   (list max-x_lgx max-y_lgx)
  147.                                   (list max-x_lgx max-y_lgx)
  148.                                   (list max-x_lgx min-y_lgx)
  149.                             )
  150.              )
  151.              (grvecs (cons 1 grve_lgx))
  152.            )
  153.     )
  154.   )
  155. )


游客,如果您要查看本帖隐藏内容请回复



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

已领礼包: 5592个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 3542个

财富等级: 富可敌国

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

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

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

使用道具 举报

已领礼包: 1336个

财富等级: 财源广进

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

使用道具 举报

已领礼包: 1867个

财富等级: 堆金积玉

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

使用道具 举报

已领礼包: 36个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 36个

财富等级: 招财进宝

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

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 676个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 315个

财富等级: 日进斗金

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

使用道具 举报

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

使用道具 举报

已领礼包: 6881个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 6881个

财富等级: 富甲天下

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

使用道具 举报

已领礼包: 1827个

财富等级: 堆金积玉

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-14 11:19 , Processed in 0.202940 second(s), 62 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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