Olá Amigos...
Gostaria de saber dos Clippeiros se essa barra está correta no modo programável que está:
INDEX ON CONTROLE TAG 1 TO BNKANALI EVAL BARRA()
****************
function BARRA
****************
@15,15+(RECNO() / LASTREC()*49) SAY CHR(178) COLOR("B+/W")
return .T.
...Quem tiver outro exemplo mais prático que isso ou se o exemplo acima astiver com falhas, por favor nos mostre o caminho correto.
Abraços
Erasmo Andrioli
Sorriso-MT :xau
Será que essa barra progressiva funciona???
Moderador: Moderadores
- ERASMO ANDRIOLI
- Usuário Nível 2

- Mensagens: 51
- Registrado em: 15 Jul 2004 16:15
- Localização: Sorriso-MT
- Contato:
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Eu acho que a sentença correta na função BARRA, deveria ser assim:
@15,15 SAY REPLICATE( CHR(178) , (((RECNO() / LASTREC()) * 100) /2 ) ) COLOR("B+/W")
Na seção de downloads daqui do fórum tem um exemplo que está um pouco mais elaborado com melhor layout. Compile na mão pois o arquivo BATCH está errado. Confira: https://pctoledo.org/download/cop ... t&deonde=2
@15,15 SAY REPLICATE( CHR(178) , (((RECNO() / LASTREC()) * 100) /2 ) ) COLOR("B+/W")
Na seção de downloads daqui do fórum tem um exemplo que está um pouco mais elaborado com melhor layout. Compile na mão pois o arquivo BATCH está errado. Confira: https://pctoledo.org/download/cop ... t&deonde=2
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Do jeito que está essa linha de indexação vai comer o processamento da máquina, pois a função Barra() será executada para cada registro encontrado. O melhor é incluir uma cláusula EVERY com um limitador. Detalhes no NG. 
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Barra progressiva para indexação
Tem razão Maligno. Então façamos alguma incrementações necessárias, inclusive eu não gosto de ficar executando a cada registro as funções LASTREC() e RECNO(), na minha opinião também são desnecessário.
Veja agora se ficou bom ?.
Código: Selecionar todos
#define MTR_INCREMENT 20
TELA := SAVESCREEN(00,00,MAXROW(),MAXCOL())
@ 08,11 SAY "ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»" COLOR "BG+/N"
@ 09,11 SAY "º º" COLOR "BG+/N"
@ 10,11 SAY "ºÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĺ" COLOR "BG+/N"
@ 11,11 SAY "º 0 10 20 30 40 50 60 70 80 90 100 º" COLOR "BG+/N"
@ 12,11 SAY "º ÚÄÙ....³....³....³....³....³....³....³....³....³....ÀÄ¿ º" COLOR "BG+/N"
@ 13,11 SAY "º ³ °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°° ³ º" COLOR "BG+/N"
@ 14,11 SAY "º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º" COLOR "BG+/N"
@ 15,11 SAY "ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ" COLOR "BG+/N"
@ 09,24 SAY "Porcentagem dos arquivos organizados" COLOR "GR+/N"
USE CLIENTES
v_t:=LASTREC()
nRecsDone := 0
INDEX ON NOME TAG 1 TO ARQINDICE EVAL {|| BARRA() } EVERY MTR_INCREMENT
@ 13,16 SAY REPLICATE(CHR(219),51) // complementa o que faltou
?? CHR(7) // Fará uma sinal sonoro
FUNCTION BARRA()
nRecsDone := nRecsDone + MTR_INCREMENT
@ 13,16 SAY REPLICATE(CHR(219),(( ( nRecsDone/V_T ) * 100 ) / 2)) COLOR "GR+/N"
return .T. Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.

