Hola, Javier I'm sorry, but I don't remember your utility although I must have done a similar thing myself to display all 250-odd characters.
What surprised me was that, from the R:> I obtained characters that _looked_ as if I could use them but when used in the Windows pause command gave me a different character! Presumably, the font used by the R:> is different from that used by the pause command. I know that I can specify the R:> font but I'm not sure how I make R:Base use a particular font for display purposes. I guess that Windows has its advantages and we just have to accept the disadvantages!! Regards, Alastair. ----- Original Message ----- From: "Javier Valencia" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, June 20, 2002 10:50 PM Subject: RE: PAUSE 4 and Screen Flicker > G'day Alastair: > When I posted the original utility to do the bar graph, I included a second > "quick and dirty" utility that scrolls through all 256 available characters > so you can decide which one looks best to you (under Windows). I too, found > that creating a nice, solid bar worked great in DOS when using CHAR(219) but > did not display quite right under Windows, hence the utility to display them > all. > > Javier Valencia, PE > President > Valencia Technology Group, L.L.C. > 14315 S. Twilight Ln., Suite #14 > Olathe, KS 66062-4571 > (913)829-0888 > (913)649-2904 FAX > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On > Behalf Of Alastair Burr > Sent: Thursday, June 20, 2002 1:31 PM > To: [EMAIL PROTECTED] > Subject: Re: PAUSE 4 and Screen Flicker > > Jim, > > I wasn't going to post this code because - sometimes - it can look a bit > like "I can do this better than you can" syndrome and one-upmanship... It's > not intended to, mine is different not better! > > I took your code and worked my way through it in conjunction with the manual > (R:Syntax) to see what you were doing so that I could use it myself - that's > how I discovered the width and lines settings. I guess I knew about them but > had never had any reason to use them or had just assumed that it was > impossible. > > I've never liked using (CHAR(nnn)) and things like it if I can find a > suitable way around mainly because the code can become so hard for someone > else to follow (or for me to follow at a later date when I've forgotten what > I was doing <g>). > I did try to get a nice graphic "blob" rather than a group of characters but > nothing seems to give a "blob" in Windows - Dos is fine, but I guess that's > progress! > > After a while I came up with the following. I've purposely done things the > long way round so that I could see what was going on and added the comments > so that I might remember at a later date. There are a number of variables > that I use in all my coding so they don't get cleared at the end (and > vPause_Pos is defined at the start as I use that everywhere to give a > constant position and one that can easily be changed application-wide) There > are also additional pauses so that you can see the start and finish clearly. > I'm not 100% happy with the choice of the bar characters but until I find > some better combination... > > > > CLS > CLEAR ALL VAR > SET VAR vPause_Pos TEXT = 'AT 6 6' > > SET VAR vNumberRecords INTEGER = NULL -- OBTAIN FROM MAX(COLNAME) > SET VAR vIncrement INTEGER = NULL -- Number of records divided by 50 - > 2% steps > SET VAR vPerCent INTEGER = NULL -- used for text value in message > SET VAR vNextUpdate INTEGER = NULL -- number of records per 2% > increments > SET VAR vBarNum INTEGER = NULL -- position number in the bar > > SET VAR vBarCharY TEXT = NULL -- Unprocessed data visual > representation > SET VAR vBarCharN TEXT = NULL -- Processed data visual > representation > SET VAR vMessageL1 TEXT = NULL -- Message line 1 for ease of setting > pause width value > SET VAR vMessageL2 TEXT = NULL -- Message line 2 for ease of setting > pause width value > > SET VAR vPerCent = 0 -- Initially zero, incremented in steps of 2 > SET VAR vRecCount = 0 -- Initially zero, direct count of records > processed > SET VAR vBarNum = 0 -- Initially zero, determines position of > indicator in bar > > SET VAR vNumberRecords = 500 -- (MAX(ColName) > SET VAR vIncrement = (INT(.vNumberRecords / 50)) -- to give a 50 > character bar > SET VAR vNextUpdate = .vIncrement > > SET VAR vBarCharN = (SFIL( '<', (50 - .vBarNum) )) > SET VAR vBarCharY = (SFIL( '>', .vBarNum)) > SET VAR vMessageL1 = ('Data completed progress indicator :' & > (CTXT(.vPerCent)) + '% completed') -- Note additional space! > SET VAR vMessageL2 = (.vBarCharY + '*' + .vBarCharN) > SET VAR vPauseMes = (.vMessageL1 & .vMessageL2) > SET VAR vCaption = 'Processing data - please wait...' > > PAUSE 3 USING .vPauseMes=75 CAPTION .vCaption &vPause_Pos > pause for 2 > > WHILE vRecCount <= .vNumberRecords THEN > SET VAR vRecCount = (.vRecCount + 1) > IF vNextUpdate = (.vRecCount) THEN > SET VAR vBarNum = (.vBarNum + 1) > SET VAR vPerCent = (.vPerCent + 2) > SET VAR vNextUpdate = (.vNextUpdate + .vIncrement) > SET VAR vBarCharN = (SFIL( '<', (50 - .vBarNum) )) > SET VAR vBarCharY = (SFIL( '>', .vBarNum)) > SET VAR vMessageL1 = ('Data completed progress indicator:' & > (CTXT(.vPerCent)) + '% completed') -- Additional space no longer needed > SET VAR vMessageL2 = (.vBarCharY + '*' + .vBarCharN) > IF vPerCent = 100 THEN > SET VAR vCaption = 'Data Processing' > SET VAR vPauseMes = 'Processing Completed' > PAUSE 3 USING .vPauseMes CAPTION .vCaption &vPause_Pos > ELSE > SET VAR vPauseMes = (.vMessageL1 & .vMessageL2) > PAUSE 4 USING .vPauseMes=75 CAPTION .vCaption > ENDIF > pause for 1 > ENDIF > ENDWHILE > > CLEAR VAR > vNumberRecords,vIncrement,vPerCent,vNextUpdate,vBarNum,vMessageL1,vMessageL2 > ,vBarCharY,vBarCharN,vRecCount,vPauseMes > > --CLS > RETURN > > > > Take and use at will, anybody, > Regards, > Alastair. > > > > > ----- Original Message ----- > From: "Jim Limburg" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Wednesday, June 19, 2002 8:47 PM > Subject: Re: PAUSE 4 and Screen Flicker > > > > Alastair > > > > I've been told I can't do that alot, but I do it anyway... he,he.. > > I am like you, I don't understand what the HTML USING 'message' > > RSyntax is saying.. With the example I am showing the =w doesn't > > change anything, nor can I figure out what it actually does. I did > > some more testing and found in the example I have done only lets me > > have a max of 28 char in the first line and the second line has to > > be one more that whatever is in the first line. I guess to match up > > the 28 plus whatever char is holding the last position which I think > > might be the char(13)... ??? Anywho -- check out my latest rendition > > that I am going to post under David Blockers reply.. > > > > Thanks for the good feedback, and thought process. > > Jim Limburg > > > > --- Alastair Burr <[EMAIL PROTECTED]> wrote: > > > This is very neat, Jim - I like the Carriage Return/Line Feed idea a > lot - > > > but according to R:Syntax you can't do it!! > > > > > > According to the entry for pause (pasted as is): > > > > > > USING 'message' > > > Displays the specified message in a Windows dialog box, or on line 25 > for > > > DOS. The maximum width of message text in an R:BASE dialog box is 68 > > > characters and the maximum number of lines is 15. The maximum width of > > > message text in a Windows dialog box is 77 characters and is limited to > one > > > line. > > > > > > and > > > > > > =w > > > Specifies a width for the pause dialog box. R:BASE for Windows only. > > > > > > There is a whole lot of confusion here (and, by the way, the "using" > entry > > > is repeated if anyone at RBTI wants to know and correct it): > > > > > > First of all the maximum width is stated as 68 characters and lines as > 15 > > > with neither Dos nor Windows specified then for Window only it is > > > re-specified as 77 characters and 1 line maximum. So which is it?? Does > the > > > 77 refer the maximum LENGTH of the message? > > > > > > If you use the width clause it will only re-size the box down for your > > > message and not up. For example, if your message is 40 characters long > then > > > you can specify w=20 and get 2 lines of 20 characters but you cannot set > > > w=60 and get one line of 60 characters' length with 20 empty spaces. If > this > > > is how it's meant to be then the "manual" should say so but, if you > could > > > extend the box this way some, but not all, of the problems discussed > > > recently would probably be resolved. > > > > > > One other thing, does anybody else think it odd that the message in the > > > Windows box appears on line 2 of 5 rather than 3 of 5 or, even, 2 of 3 > using > > > the specified single line of message? Why does the box need to be so > big? > > > Should there be a LINES parameter? > > > > > > Perhaps someone who is on the v7 beta test roster can say whether the > pause > > > command is re-vamped in any way in that version as it is pointless to > harp > > > on about it now if changes have already been made. > > > > > > Regards, > > > Alastair. > > > > > > > > > ----- Original Message ----- > > > From: "Jim Limburg" <[EMAIL PROTECTED]> > > > To: <[EMAIL PROTECTED]> > > > Sent: Monday, June 17, 2002 7:46 PM > > > Subject: RE: PAUSE 4 and Screen Flicker > > > > > > > > > > Javier, David > > > > > > > > I have done a bit of tweaking myself to this cool code.. > > > > Run this in a Win version and watch the results.. > > > > I have found a balance between the vmsg, & the vmsg1 > > > > variables to let me have just the right size message box > > > > and still get the message to change on the second line. > > > > One space larger or smaller throws this out of kilter. > > > > or using a bar representation character that has a larger > > > > pixel representation will throw chunks as well, but hey > > > > it works. > > > > > > > > CLS > > > > SET VAR vnr INTEGER > > > > SET VAR vinc INTEGER > > > > SET VAR von INTEGER > > > > SET VAR vpct INTEGER > > > > SET VAR vno_recs = 100000 > > > > SET VAR vm_crlf TEXT = ((CHAR(13)) + (CHAR(10))) > > > > SET VAR vmsg = 'Processing .. PLEASE WAIT' > > > > SET VAR vmsg1 = 'Processing .. PLEASE WAIT' + .vm_crlf + + > > > > ' .' > > > > PAUSE 3 USING .vmsg1 AT 5 10 > > > > --'Going from 1 to 100,000 by 2 pct incr / a bargraph display' AT 5 10 > > > > SET VAR vinc = (.vno_recs / 50) > > > > SET VAR vnr = .vinc > > > > SET VAR vbar = ' ' > > > > SET VAR von = 0 > > > > SET VAR vpct = 2 > > > > > > > > WHILE von < .vno_recs THEN > > > > SET VAR von = (.von + 1) > > > > IF vnr = .von THEN > > > > -- Use a character other that 62 to display a different bar style > > > > --SET VAR vbar = ( .vbar + (CHAR(124)) ) --| pipe > > > > --SET VAR vbar = ( .vbar + (CHAR(22)) ) --Good-one horizontal bar > > > shaped > > > > --in dos, but pipe in win > > > version > > > > --SET VAR vbar = ( .vbar + (CHAR(93)) ) --] > > > > SET VAR vbar = ( .vbar + (CHAR(91)) ) --[ > > > > SET VAR vmessage = ( (CTXT(.vpct)) + '% ' + .vbar ) > > > > WRITE .vmessage AT 20 2 > > > > SET VAR vmessage = (.vmsg + .vm_crlf + .vmessage) > > > > PAUSE 4 USING .vmessage > > > > SET VAR vpct = (.vpct + 2) > > > > SET VAR vnr = (.vnr + .vinc) > > > > ENDIF > > > > ENDWHILE > > > > CLEAR VAR vnr,vinc,von,vpct,vno_recs,vbar,vmessage > > > > --CLS > > > > RETURN > > > > > > > > Jim Limburg > > > > > > > > --- Javier Valencia <[EMAIL PROTECTED]> wrote: > > > > > David: > > > > > Thank you for cleaning up the code. It is nice to be able to > contribute > > > to > > > > > the List considering how much benefit I have gotten from it. I just > have > > > to > > > > > figure out how to display the solid block on the completion bar; > > > although I > > > > > have a hunch that version 7 may have bigger and better answers. By > the > > > way, > > > > > were you able to resolve the screen flicker problem? > > > > > > > > > > Javier Valencia, PE > > > > > President > > > > > Valencia Technology Group, L.L.C. > > > > > 14315 S. Twilight Ln., Suite #14 > > > > > Olathe, KS 66062-4571 > > > > > (913)829-0888 > > > > > (913)649-2904 FAX > > > > > > > > > > -----Original Message----- > > > > > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]On > > > > > Behalf Of David M. Blocker > > > > > Sent: Sunday, June 16, 2002 3:35 PM > > > > > To: [EMAIL PROTECTED] > > > > > Subject: Re: PAUSE 4 and Screen Flicker > > > > > > > > > > Javier > > > > > > > > > > Thanks for sharing these. I've made a few minor adjustments for > making > > > them > > > > > useful for teaching and here they are: > > > > > > > > > > David Blocker > > > > > > > > > > > > > > *(************************************************************************** > > > > > ******************** > > > > > ** FILENAME: PAUSE4A.RMD > > > > > ** CREATED BY: Javier Valencia; posted on R:Base List server > > > > > ** 6/15/2002 > > > > > ** PURPOSE: Demonstrate PAUSE 4 vs. WRITE command: automatically > > > > > rewrites in > > > > > ** last PAUSE 3 box; counter bar for > looping > > > > > programs! > > > > > ** DATE CREATED: 06/16/2002 > > > > > ** LAST UPDATE: > > > > > > > > > **************************************************************************** > > > > > *****************) > > > > > > > > > > -- QUICK CODE TO SHOWS PERCENT AND PROGRESS BAR FOR A COUNTER > > > > > CLS > > > > > SET VAR vnr INTEGER > > > > > SET VAR vinc INTEGER > > > > > SET VAR von INTEGER > > > > > SET VAR vpct INTEGER > > > > > SET VAR vno_recs = 100000 > > > > > PAUSE 3 USING 'Counting from 1 to 100,000 by 2 pct increments with + > > > > > a bargraph display' AT 5 10 > > > > > SET VAR vinc = (.vno_recs / 50) > > > > > SET VAR vnr = .vinc > > > > > SET VAR vbar = ' ' > > > > > SET VAR von = 0 > > > > > SET VAR vpct = 2 > > > > > > > > > > WHILE von < .vno_recs THEN > > > > > SET VAR von = (.von + 1) > > > > > > > > > > IF vnr = .von THEN > > > > > -- Use a character other that 62 to display a different bar > style > > > > > set var vbar = ( .vbar + (CHAR(62)) ) > > > > > set var vmessage = ( (CTXT(.vpct)) + ' % - ' + .vbar ) > > > > > write .vmessage at 20 2 > > > > > pause 4 using .vmessage > > > > > set var vpct = (.vpct + 2) > > > > > set var vnr = (.vnr + .vinc) > > > > > ENDIF > > > > > ENDWHILE > > > > > CLEAR VAR vnr,vinc,von,vpct,vno_recs,vbar,vmessage > > > > > RETURN > > > > > > > > > > > > > > > > > > > *(************************************************************************** > > > > > ******************** > > > > > ** FILENAME: PAUSE4E.RMD > > > > > ** CREATED BY: Javier Valencia posted on R:Base List server > > > > > ** 6/15/2002 > > > > > ** PURPOSE: Demonstrate PAUSE command vs. WRITE command : show > 255 > > > > > ** different characters to use for > counter > > > > > percentage done bars. > > > > > ** great for looping programs! > > > > > === message truncated === > > > > > > __________________________________________________ > > Do You Yahoo!? > > Yahoo! - Official partner of 2002 FIFA World Cup > > http://fifaworldcup.yahoo.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/ > > ================================================ > 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/
