>set escape on >on escape llEsc = .t. >oProgBar = newobject('ProgBar','progbar.vcx') >oProgBar.SetTitle('Calculating progress for Names parsing...') >oProgBar.SetMessage('File '+dbf('BldMstr')+ " "+transform(m.lnReccount)+" records") >oProgBar.SetRange(0, m.lnReccount) >oProgBar.show() >with thisform > .lockscreen=.t. > scan > if m.llEsc and .NiceEsc() > exit > else > llEsc = .f. > endif > lnCount=m.lnCount+1 > >* -- Updating the percentage bar > if mod(m.lnCount,100) = 0 && or (m.lnCount>=m.lnReccount-10) > oProgBar.SetPos(m.lnCount) > set message to ' Record #'+transform(m.lnCount) + m.lcMsgTail > endif > owner1 = BldMstr.fullname1 > owner2 = BldMstr.fullname2 > ownrel = "" > stateuse = BldMstr.stateuse > Named = NamePrsr(@m.owner1, @m.owner2, @m.ownrel, m.stateuse, PROCESS_ENABLE) > select BldMstr && In case we're in the wrong area > if m.Named<>"F" > lnTally =m.lnTally+1 > endif > gather fields owner1, owner2, ownrel, Named memvar > endscan > set message to 'Process is complete...' > if m.lnCount=m.lnReccount > oProgBar.SetPos(m.lnReccount) > endif > .lockscreen=.f. > oProgBar.release() > oProgBar=.null. > release oProgBar>....