- 积分
- 15341
- 明经币
- 个
- 注册时间
- 2002-2-4
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2003-7-28 12:33:00
|
显示全部楼层
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;进度条在doslib中有专门的函数
;;一个进度条在图中,一个在状态。
;;(work1 "数据处理" 1000);;;1000~10000
(defun WORK1 (PROM Y)
(setq X 0)
(dos_getprogress PROM "进行中,请耐心等待..." Y)
(repeat (fix (/ Y 3))
(setq A 1)
)
(while (< X Y)
(dos_getprogress -1)
(setq X (1+ X))
)
(dos_getprogress t)
)
(defun WORK2 (PROM Y)
(dos_progbar PROM 10)
(repeat (fix (/ Y 3))
(setq A 1)
)
(dos_progbar -1)
(dos_progbar)
(setq X 0)
(dos_progbar PROM Y)
(while (< X Y)
(dos_progbar -1)
(setq X (1+ X))
)
(dos_progbar)
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Library: acetutil.arx (expresstools)
acet-ui-progress [label [max]])
(acet-ui-progress current)
Display progress meter.
Arguments
label If provided, a text string that will appear as a label for the progress meter.
max If provided, the maximum value in the range to be displayed (starting with 0).
current If provided, gives the current value, which should be less than max; positive values are absolute while negative values increment the current position.
If no parameters are provided, the progress meter is removed.
Return Values
The return value depends on the action performed:
Initialize: returns T if successful, otherwise NIL.
Update: returns current.
Restore: returns NIL.
Example
;; init meter
(acet-ui-progress "Working:" (length theList))
;; process each item
(foreach item theList
;; perform action
(doSomethingTo item)
;; update meter by one item
(acet-ui-progress -1)
)
;; kill meter
(acet-ui-progress)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;|
xdrx-api
96. xdrx_pbarbegin
功能:设置ACAD状态行进度条初值
调用格式:(xdrx_pbarbegin <提示字符串> <终值>)
说明:1.参数<终值>:整数值
2.显示进度条,必须先调用此函数,在LISP的循环体外
97. xdrx_pbarsetpos
功能:设置进度条的位置
调用格式:(xdrx_pbarsetpos <位置>)
说明:1.<位置>:在0和由函数xdrx_pbarbegin设置的终值之间的整数值
2.该函数在lisp循环体内调用
返回值:NIL
98. xdrx_pbarend
功能:清除ACAD状态行的进度条
调用格式: (xdrx_pbarend)
返回值:NIL
举例:函数xdrx_pbarbegin,xdrx_pbarsetpos,xdrx_pbarend函数应用
(defun c:test(/ i)
(xdrx_pbarbegin "已经完成:" 100)
(setq i 0)
(repeat 100 ;;循环执行10秒左右
(xdrx_pbarsetpos (setq i (1+ i)))
(xdrx_sleep 100);延迟0.1秒
)
(xdrx_pbarend)
(princ)
)
|; |
|