Company: Armitage Technologies Ltd. | Generated by CasualWriter on 2003/02/07 21:09:30 |
Details of D:\ckhung\cw7\CW.PBL(w_progress)
[Window] w_progress from Window |
[Description] * display a progress bar and <cancel> button for long process |
Size (*.srw): 3,969 Updated on 13-Jun-1999 19:41 |
Control List | ||
Type | Name | Remarks |
Window | <w_progress> | Type=popup!; Title="Process in progress, please wait..."; |
commandbutton | cb_cancel | Tab=2; Text="&Cancel"; |
u_progress_bar | dw_pct | |
statictext | st_msg | Disable; Text="Percentage of progress"; |
Variables | |
Type | Declaration |
Instance Variable | // percentage of progress |
Instance Variable | decimal id_progress |
Instance Variable | boolean ib_continue = TRUE |
Script List | ||||
Control | Type | Name | Bytes | Line |
w_progress | Event | open | 926 | 31 |
w_progress | PublicFunc | wf_progress (decimal ad_progress) return boolean | 167 | 9 |
w_progress | PublicFunc | wf_progress (decimal ad_progress, string as_text) return boolean | 190 | 10 |
w_progress | PublicProc | wf_setmsg (string as_text) | 57 | 3 |
w_progress | PublicProc | wf_settitle (string as_title) | 50 | 3 |
cb_cancel | ControlEvent | clicked | 147 | 4 |
Event w_progress.open |
//$ Desription: //$ This window is used to display a progress bar with <cancel> button> for long //$ process. //$ //$ Functions: //$ wf_settitle() set the window title //$ wf_setmsg() set the display message //$ wf_progress() display the current progress //$ //$ Example: //$ long i, j, l //$ open(w_progress) //$ for i = 1 to 100 //$ for j=1 to 100 //$ next //$ if not w_progress.wf_progress( i / 100, 'processing '+string(i) ) then exit //$ next //$ close(w_progress) //$ //$ Log: //$ 1997/12/29 C.K. Hung Initial Version //$-------------------------------------------------------------------------------------- //$ Copyright (c) 1997, C.K. Hung, All rights reserved. (http://www.intercon.net/~ckhung/) //$====================================================================================== // set bar style dw_pct.of_setstyle(1) // init flag app.ib_cancel app.ib_cancel = FALSE |
PublicFunc wf_progress (decimal ad_progress) return boolean |
// display percentage dw_pct.of_progress(ad_progress) // handle outstanding message do while yield() loop // return the flag of "continue" return ib_continue |
PublicFunc wf_progress (decimal ad_progress, string as_text) return boolean |
// display percentage st_msg.text = as_text dw_pct.of_progress(ad_progress) // handle outstanding message do while yield() loop // return the flag of "continue" return ib_continue |
PublicProc wf_setmsg (string as_text) |
// Set the display message st_msg.text = as_text return |
PublicProc wf_settitle (string as_title) |
// set window title this.title = as_title return |
CotrolEvent cb_cancel.clicked |
if messagebox( 'CANCEL?', 'Are you sure to abort this process?', STOPSIGN!, YesNo! ) = 1 then ib_continue = FALSE app.ib_cancel = TRUE end if |