David,
As I said the other day:
"It works VERY well as long as the length of the first message is BIGGER
than any that follow."
You HAVE to make the pause box bigger with the first pause message than
anything that is going to go in it later - at least with RBW6.5++p2 - I
haven't tried it without the big box first with the beta p3.
For example:
pause 3 using 'this is a very big message so that R:Base can display all the
data that you want'
set var vYour Var int = 0
while ...
set var vMessage = (' This is the count:' & (CTXT(.vYourVar)) ) at ...
pause 4 using .vMessage
endwhile
I have reported this to RDCC but they say they cannot duplicate it (bug no
1997). Perhaps if you can see it, too, then maybe you can explain it better
to them than I have.
This is what I sent to RDCC:
>From the code below it can be seen (by me, anyway) that the 1st sequence
does not display properly:
CLS
CLEAR ALL VAR
SET VAR vMessage TEXT = NULL
SET VAR vCount INTEGER = 0
SET VAR vMessage = 'Count:'
PAUSE 3 USING .vMessage AT 15 10
PAUSE FOR 1
WRITE 'Starting first sequence:' AT 2,10
WHILE vCount < 10 THEN
SET VAR vMessage = ('Count:' & (CTXT(.vCount)))
PAUSE 4 USING .vMessage CAPTION 'Please wait...'
WRITE .vMessage AT 3,10
SET VAR vCount = (.vCount + 1)
PAUSE FOR 1
ENDWHILE
SET VAR vMessage = 'This is just a long message for fun'
PAUSE 3 USING .vMessage AT 15 10
PAUSE FOR 1
WRITE 'Starting second sequence:' AT 4,10
WHILE vCount < 20 THEN
SET VAR vMessage = ('Count:' & (CTXT(.vCount)))
PAUSE 4 USING .vMessage CAPTION 'Please wait...'
WRITE .vMessage AT 5,10
SET VAR vCount = (.vCount + 1)
PAUSE FOR 1
ENDWHILE
SET VAR vMessage = 'Count:'
PAUSE 3 USING .vMessage AT 15 10
PAUSE FOR 1
WRITE 'Starting third sequence:' AT 6,10
WHILE vCount < 30 THEN
SET VAR vMessage = ('Count:' & (CTXT(.vCount)))
PAUSE 3 USING .vMessage CAPTION 'Please wait...' AT 15 10
WRITE .vMessage AT 7,10
SET VAR vCount = (.vCount + 1)
PAUSE FOR 1
ENDWHILE
RETURN
I'm not convinced that it only happens with "pause 4" either,
although this test doesn't confirm that.
Regards, Alastair.
----- Original Message -----
From: "David M. Blocker" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 14, 2002 5:32 PM
Subject: PAUSE 4 and Screen Flicker
> Razzak
>
> Help! What am I missing?
>
> I was so excited about the PAUSE 3 and PAUSE 4 that I tried to apply it to
> program I'm writing that needed a counter. Here is a small demo file:
>
> cls
> pause 2 using 'Counting from 1 to 10000; now on 10000' at 5 10
>
> pause 3 using 'Counting from 1 to 10000; now on 0' at 5 10
>
> set var von = 0
> while von < 10000 then
> set var von = (.von + 1)
> set var vmessage = ('Counting from 1 to 10000; now on'&(ctxt(.von)) )
> write .vmessage at 20 2
> pause 4 using .vmessage
> endwhile
>
> I include the PAUSE 2 at the top for contrast. When I run this in R:Base
> (tried it on build 1.850 and the beta, 1.854, both on a Dell Windows 98
> portable and Dell Windows XP desktop), I get two problems:
>
> 1. The screen does a big time flicker with the PAUSE 4
> 2. The counter doesn't show on the right! All I get is
> "Counting from 1 to 10000; now on" in the box
>
> I include the WRITE command to show that there's nothing wrong with the
> variable vMessage - WRITE shows the progression just fine.
>
> David Blocker
>
> ----- Original Message -----
> From: "A. Razzak Memon" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, June 13, 2002 12:14 PM
> Subject: Re: Another novice form question - Razzak's Reply
>
>
> >
> > Bob,
> >
> > A new option of PAUSE 4 has been added in The Glorious R:BASE
> > 2000 (ver 6.5++) for Windows.
> >
> > There are cases when you would like to display any message using
> > PAUSE 3 command and continue processing things behind the scene.
> > If you also have to display any progress notes, etc., without flicker,
> > now you can use the option of PAUSE 4.
> >
> > The new PAUSE 4 works just like PAUSE 3 except than instead of
> > painting a new dialog box with the message it will use the existing
> > displayed PAUSE 3 box and just redo the message inside the box.
> > This can be used to eliminate flicker for those times when you are
> > using PAUSE 3 to display progress in an application.
> >
> > Example:
> >
> > -- LoopD.RMD To Demonstrate the Use of PAUSE 3 and PAUSE 4
> >
> > CLEAR ALL VAR
> > SET CAPTION ' '
> > SET VAR v1 TIME
> > SET VAR v1 = (.#Time)
> > SET VAR v2 TIME
> > SET VAR v2 = (.v1 + 5)
> > SET VAR v3 TIME
> > SET VAR v3 = (.v1 + 1)
> > SET VAR MsgNum INTEGER = 1
> >
> > CLS
> > PAUSE 3 USING 'Wait for this to quit...' CAPTION 'Demo of New PAUSE 4
> > Option ...'
> >
> > WHILE v1 < .v2 THEN
> > SET VAR v1 = (.#time)
> > IF v1 = .v3 THEN
> > SWITCH (.MsgNum)
> > CASE 1
> > PAUSE 4 USING 'Hello'
> > BREAK
> > CASE 2
> > PAUSE 4 USING 'Developers ...'
> > BREAK
> > CASE 3
> > PAUSE 4 USING 'Check'
> > BREAK
> > CASE 4
> > PAUSE 4 USING 'This'
> > BREAK
> > CASE 5
> > PAUSE 4 USING 'Out ...'
> > BREAK
> > ENDSW
> > SET VAR MsgNum = (.MsgNum + 1)
> > SET VAR v3 = (.v1 + 1)
> > ENDIF
> > ENDWHILE
> > CLEAR ALL VAR
> > RETURN
> >
> > For more details and examples: http://www.RSyntax.com
> >
> > Enjoy and make sure to have fun!
> >
> > Very Best Regards,
> >
> > Razzak.
> >
> > At 11:59 AM 6/13/2002 -0500, Bob Thompson wrote:
> >
> > >I want to display a "count down" counter
> > >on a form while the app is processing a
> > >somewhat large data set. I have a push button
> > >on the form that executes the program and
> > >I want the form to display something like :
> > > "Processing record# 20 of 10000"
> > >
> > >This app may take 1-2 minutes to completely
> > >execute and this is feed back to the user.
> > >
> > >I have tried the SCREEN RESTORE, WRITE
> > >and RECALC commands, but cannot get the
> > >form to show updated variables until the procedure
> > >has finished. (It is then a moot point of course!)
> > > I do not want to use the FEEDBACK option as
> > > I would like more control over what and
> > >how the counter is displayed.
> > >
> > >You all have been very helpful and I appreciate
> > >the assistance. Again, simply how do you
> > >get a variable to redisplay at will on a form
> > >while you are performing a WHILE LOOP or
> > >DECLARE CURSOR ?
> >
> >
> > ================================================
> > TO SEE MESSAGE POSTING GUIDELINES:
> > Send a plain text email to [EMAIL PROTECTED]
> > In the message body, put just two words: INTRO rbase-l
> > ================================================
> > TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
> > In the message body, put just two words: UNSUBSCRIBE rbase-l
> > ================================================
> > TO SEARCH ARCHIVES:
> > http://www.mail-archive.com/rbase-l%40sonetmail.com/
> >
>
>
> ================================================
> TO SEE MESSAGE POSTING GUIDELINES:
> Send a plain text email to [EMAIL PROTECTED]
> In the message body, put just two words: INTRO rbase-l
> ================================================
> TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
> In the message body, put just two words: UNSUBSCRIBE rbase-l
> ================================================
> TO SEARCH ARCHIVES:
> http://www.mail-archive.com/rbase-l%40sonetmail.com/
================================================
TO SEE MESSAGE POSTING GUIDELINES:
Send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: INTRO rbase-l
================================================
TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED]
In the message body, put just two words: UNSUBSCRIBE rbase-l
================================================
TO SEARCH ARCHIVES:
http://www.mail-archive.com/rbase-l%40sonetmail.com/