Como implementar: Na tela de Variáveis Publicas Coloque os seguinte comandos: SET KEY 35 TO apos_alt #include pro_tela.ch showtime(00,72,.f.,b*/w,.f.,.T.)
Como implementar: Na tela de Variáveis Publicas Coloque os seguinte comandos: SET KEY 35 TO apos_alt #include pro_tela.ch showtime(00,72,.f.,b*/w,.f.,.T.)
Em módulos externos coloque os seguintes arquivos: O arquivo NSX_NTX e o DBFNSX é para ativar os índices NSX. São mais rápido, menores e mais eficientes que os NTX. No GAS, deixe o padrão NTX como geração.
Dentro do GAS, coloque uma rotina Avulsa, pegando o arquivo OUTROS.PRG que enviamos. É nele que tem os novos códigos que serão substituídos no GAS. 1) Os arquivos LIB, coloque no diretorio do clipper\LIB NANFOR.LIB, PRO_EXO.LIB, DBFNSX.LIB 2) Os arquivos CH, coloque no diretorio do clipper\include PRO_TELA.CH 3) Os arquivo nsx_ntx.OBJ, coloque no diretorio do clipper\OBJ NSX_NTX.OBJ Só isto. Com isto, todas as rotinas estão no seu sistema, são elas:
F8 inteligente: Em um campo que precise pressionar F8, apenas deixe em branco a mensagem da validação, desta forma, é so a pessoa dar um enter no campo que o F8 será ativado. Se não quiser usar esta opção, basta deixar a mensagem de validação com alguma mensagem: Segue a tela de como deve deixar:
Menus de Rodapé: Nas telas de Manutenção, você tem um menu informativo ao seu cliente, das opções disponíveis
Impressão também nas manutenções ou consultas: Agora, em uma tela com impressão depois da Inclusão, também é possível imprimi-la em uma manutenção basta teclar #.
Localizador, ou Procura em Lista Indexada: Agora, ao acionar a procura, você tem a opção de procura em lista, veja: Veja que é exibido uma procura em forma de consulta, para que você apenas digite o nome do cliente desejado para atingir o objetivo.
Esta consulta é montada padrão, mas se você quiser definir para que pegue sempre quando for em uma tabela cliente em ordem alfabética e só com os dois campos por exemplo, você modifica a função: RT_LISTA, colocando mais ELSEIF da forma que desejar. Veja a opção:
A tela de impressão, agora tem uma opção pra você mandar direto para o vídeo, facilitando ainda mais sua aplicação:
A rotina mais rápido, funciona da seguinte forma: Em relatório: No relatório, você coloca a opção Mais_rapido junto com a ordem, desta forma: numero";MAIS_RAPIDO('2',M->num_procur,numero=M->num_procur)// o nome numero é a ordem desejada. Depois o numero tem uma Aspas Dupla. Isto é para enganar o GAS, para ele fechar a ordem neste momento. É bom vc criar esta rotina dentro de algum relatório ou dentro de algum código(F9), copiar para a memória(ctrl+O+R) e colar na ordem, pois o aspas dupla não é aceito, mas colado ele aceita. Depois tem um ponto e virgula, informando ao código que é como se fosse uma outra linha. Agora tem a função com os seguinte parâmetros: Mas_Rapido(ÍndiceDaProcura, OqueVaiProcurarPrimeiro, FiltroPraFazerEnquandoAchar, ComExatidao) Vamos explicar: Este filtro só é rápido, porque ele entra em uma ordem já existente, procura o primeiro registro e faz na seqüência apenas os que atende a condição. Depois ele abandona, ou seja usamos o método While para fazer a nossa seleção. Enquanto atender faça. Com exatidão não precisa informar, mas se ele estiver como falso, será usado FOR invés de While, e tornará o índice mais lento, mas em alguns casos isto pode ser útil.
Veja a Tela de definição: A filtragem ficará normal. Tem que ter uma filtragem em filtragem inicial sempre. Nos F8(VDBF(xxxxx) isto também é possível, basta vc criar a opção da seguinte forma: If(Mas_rapido(2,M->XXXXX,CampoTal=CampoTal),VDBF(xxxxxxxx),.t.) Isto dará uma velocidade incrível a sua rotina de F8 quando a mesma abrir filtrando. Atenção, preste atenção a ordem do índice. Tem que ser sempre a do campo procurado. Como é uma procura indexada, se não tiver índice não tem como fazê-la. Qualquer duvida, nos contate
Proteção de Tela: Agora, a proteção de tela é dentro da sua própria aplicação, não precisando de carregar arquivos residente na memória. Muito mais eficiente e não pesa em seu programa. Relógio em qualquer parte da Tela. Todas estas Rotinas foram testadas e estão funcionando a muito tempo em nossos sistemas. Baixe o arquivo na loja e faça os testes de funcionamento. Obrigado. Silvano Matta.