Dennis,
 
I think that would work but a form timer is always keeping time so any 
specifict property commands
would always be firing (unless you did some other stuff in the form timer to 
not happen).
 
Here is what I have done. This is actually snipped from a nice project that 
Razzak, Raffee and I (a little) just completed a couple of weeks ago. 
 
I use a Static Text object (CurrentStep) and a Meter obect (ProgressBar) and 
place them in
some available real estate on the form.
 
In the Form After Start EEP.
PROPERTY ProgressBar VISIBLE 'FALSE'
PROPERTY CurrentStep VISIBLE 'FALSE'
 
Then when I have a process that needs to be done I place it in a BIT Button 
on the form and place
code in it like such.

--customer survey using web link
PAUSE 3 USING 'Setting up process ...' +
CAPTION ' Online Survey ...' ICON APP +
OPTION MESSAGE_FONT_NAME Verdana +
|MESSAGE_FONT_COLOR GREEN +
|MESSAGE_FONT_SIZE 10 +
|MESSAGE_FONT_BOLD ON +
|THEMENAME Sports Blue
 
--Set Up Progress
SELECT COUNT(*) INTO vCountSurveys INDIC ivCountSurveys FROM OnlineSurvey +
WHERE DateSent IS NULL  --determine number of surveys
SET VAR vCounter INT = 0
PROPERTY ProgressBar MAX .vCountSurveys  --fill in the max value of the 
METER object
PROPERTY CurrentStep CAPTION 'Setting up survey ...'
PROPERTY ProgressBar VISIBLE 'TRUE'   
PROPERTY CurrentStep VISIBLE 'TRUE'

--email surveys
SET ERROR MESSAGE 705 OFF
DROP CURSOR c1
SET ERROR MESSAGE 705 ON
DECLARE c1 CURSOR FOR SELECT +
  ContactFirstName,ContactEMail,SurveyID FROM OnlineSurvey WHERE DateSent IS 
NULL
OPEN c1
FETCH c1 INTO +
  vCustFirstName INDIC ivCustFirstName, +
  vCustEmail INDIC ivCustEmail, +
  vSurveyID INDIC ivSurveyID
WHILE SQLCODE <> 100 THEN
   SET VAR vCurrentStep = ('Sending:'&.vCustEmail)
   PROPERTY CurrentStep CAPTION .vCurrentStep    --display the step to the 
user
   --- this section normally contains the stuff specific to the email 
   UPDATE OnlineSurvey SET DateSent = .#DATE WHERE CURRENT OF c1
   SET VAR vCounter = (.vCounter + 1)
   PROPERTY ProgressBar VALUE .vCounter  --update the METER
   FETCH c1 INTO +
     vCustFirstName INDIC ivCustFirstName, +
     vCustEmail INDIC ivCustEmail, +
     vSurveyID INDIC ivSurveyID
ENDWHILE
DROP CURSOR c1

--Close the process 
PROPERTY CurrentStep CAPTION 'Done....'
PAUSE FOR 1
PROPERTY ProgressBar VISIBLE 'FALSE'
PROPERTY CurrentStep VISIBLE 'FALSE'
 
 
Hope someone can find it useful
 
Jan



 


-----Original Message-----
From: Dennis McGrath <[EMAIL PROTECTED]>
To: [email protected] (RBASE-L Mailing List)
Date: Fri, 18 Jul 2008 12:04:05 -0500
Subject: [RBASE-L] - Re: Animated GIF object


What happens if you use a timer to update a progress bar?
Does that also stall?

Dennis McGrath




From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of jan johansen
Sent: Friday, July 18, 2008 11:14 AM
To: RBASE-L Mailing List
Subject: [RBASE-L] - Re: Animated GIF object

Bob,
 
Through trial and error I have discovered the follwing things about this 
kind of feedback.
1. Animated GIF's stop working during any heavy processing time. RBase 
simply demands
100% of the processor (that may be an oversimplification and not intended to 
offend.
2. The ProcessMessage option for PAUSE also falls into this category. It 
does not really work
well for APPEND and PROJECT but does work well inside a CURSOR. Also the 
Meter for the PAUSE works inside a cursor very will. The ProcessMessage is 
very nice for things like the before generate on a report.
3. If I determine that a process will take several minutes that I could do 
with an APPEND, I change my thinking to run a CURSOR so I can either use the 
ProcessMessage or the Meter in a PAUSE or if I will remain in a form I use 
the METER tool to display a moving bar until completion. I may also use a 
STATIC TEXT that I change do provide even more feedback to the user.
4. If all else fails I display a PAUSE and tell them to keep their fingers 
off the keyboard and go get a cup of coffee. If I have an idea of how long 
the process may typically take I might simply state that. To often the user 
checks email and the PAUSE is now in the way.
 
Good luck.
 
Jan
 

-----Original Message-----
From: [EMAIL PROTECTED]
To: [email protected] (RBASE-L Mailing List)
Date: Fri, 18 Jul 2008 15:57:56 +0000
Subject: [RBASE-L] - Animated GIF object
I have not used animated gifs much in the past, but just placed one on a 
form.
I have an EEP that  projects a temp table from an ODBC table that takes 
30-40
seconds to complete.  I wanted a visual queue to the user that processing 
was indeed taking
place, so I displayed a text message and placed the animated gif beside it.
 
Property Gif001 visible 'TRUE'
Property Gif001 refresh 'TRUE'
 
Project temp Table  .......
 
Displays the gif object but it does not move (animate) until the PROJECT 
operation completes.
Then it moves quite nicely.
 
What is the correct process to give the user  a moving visual notice while 
the PROJECT is occuring?
 
Thanks,
-Bob
 
--
Thompson Technology Consultants 
LaPorte, IN 46350 
219-363-7441
 

 

Reply via email to