Right progress percentage

Right progress percentage

Postby Silvio.Falconi » Thu Jun 09, 2022 9:49 am

When I make a conversion I use

local bprogress := { || ( oProgress:SetPos( npos++ ),;
SysRefresh() ) }

oProgress:SetRange( 0, (len(aData)/1000) )
oProgress:SetPos( 0 )

oLotto2:fw_ArrayToDBF( aData,,bProgress)

aData is big


Image

and the bar is immediate, that is, it immediately reaches the end but in reality the procedure is still working and still for a long time

how can I give to give the right percentage to the progress control?
I tried with oProgress:SetRange( 0, (len(aData)/2) )
it can run but the bar ends at the record 49000 approximately
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7052
Joined: Thu Oct 18, 2012 7:17 pm

Re: Right progress percentage

Postby Jimmy » Sun Jun 12, 2022 8:01 am

hi Silvio,

my Progressbar ist alway 100%

Code: Select all  Expand view
LOCAL i,nMax := len(aData)
LOCAL nEvery := INT(nMax/100)

   oProgress:SetRange( 0, 100 )
   oProgress:SetPos( 0 )

   FOR i := 1 TO nMax
      ...
      IF ( i % nEvery ) == 0
         nPos := oProgress:Value
         oProgress:SetPos( nPos++ )
      ENDIF
   NEXT


---

if you want to use a Codeblock

Code: Select all  Expand view
  bBlock := { |i| FORprogress(oProgress,nEvery,i++) }
greeting,
Jimmy
User avatar
Jimmy
 
Posts: 1725
Joined: Thu Sep 05, 2019 5:32 am
Location: Hamburg, Germany


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 36 guests