让用户知道程序执行的百分比 progress of program excution

来源:互联网 发布:mac无法更新软件 编辑:程序博客网 时间:2024/06/16 16:52

文章转自 http://blog.csdn.net/liangziyisheng/article/details/7580589

有时候,用户希望知道这个报表还要多久能跑出来, 怎么让用户知道程序进度呢?

以下这个function 可以解决这个问题:

SAPGUI_PROGRESS_INDICATOR

它有两个参数传入: percentage 和 text

percentage要求传入一个数值型变量

text要求传入一个字符串,我们通常传入percentage+'%'。

事实上,我们是在程序里面循环的CALL 以上的function,这样状态栏就会出现一个进度盘,旁边就是text传入的值。

 

 

文章转自http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380147d8c8c4668d4e419ce3b4c413037bfa6663f405a8e906b6075aa4b5fedfb3026310123b59996820f9eac925f75ce786a6459db0144dc58fc895124b175d701feae69f0bd842592de90938201139d12446d81809c5d7403cb1fab4867b8f7ca0e481f&p=9860d71285cc40ab19bd9b7d061d9e22&newp=8365c64ad7c75fff57ee9f75475c8e395c5bc4387ebadb1779ca&user=baidu&fm=sc&query=SAPGUI%5FPROGRESS%5FINDICATOR&qid=&p1=3

*&---------------------------------------------------------------------*
*& Report ZPROGRESSBAR
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zprogressbar.
DO 100 TIMES.
PERFORM show_progressbar USING sy-index.
WAIT UP TO 1 SECONDS.
ENDDO.
MESSAGE 'Finished!'(fin) TYPE 'S'.
*&---------------------------------------------------------------------*
*& Form show_progressbar
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PCT text
*----------------------------------------------------------------------*
FORM show_progressbar USING upct TYPE i.
DATA: fbar TYPE c LENGTH 13,
fmsg TYPE c LENGTH 70.
CONSTANTS: percent1 TYPE c VALUE '▏',
percent2 TYPE c VALUE '▎',
percent3 TYPE c VALUE '▍',
percent4 TYPE c VALUE '▌',
percent5 TYPE c VALUE '▋',
percent6 TYPE c VALUE '▊',
percent7 TYPE c VALUE '▉',
percent8 TYPE c VALUE '█'.
DATA: fmod TYPE n,
ftim TYPE i,
ffield TYPE c LENGTH 10,
fidx TYPE c LENGTH 3.
FIELD-SYMBOLS: <fs> TYPE c.
ftim = upct DIV 8.
fmod = upct MOD 8.
CLEAR: fbar.
DO ftim TIMES.
CONCATENATE fbar percent8 INTO fbar.
ENDDO.
IF fmod NE 0.
CONCATENATE 'percent' fmod INTO ffield.
ASSIGN (ffield) TO <fs>.
CONCATENATE fbar <fs> INTO fbar.
ENDIF.
fidx = sy-index.
CONCATENATE fbar fidx '%' INTO fmsg.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = upct
text = fmsg.
.
ENDFORM. "show_progressbar

 

原创粉丝点击