Caros amigos, como eu, e creio que muitos aqui, tem conhecimentos, em 
programação, CLIPPER/DELPHI, bem vamos ao que interessa...

Em Clipper move de um registro para o outro é facil e extremamente RÁPIDO... é 
vai para tal, to lá....

Em Delphi não achei nenhuma comando tão RÁPIDO quando, uso o MOVEBY, mas alem 
de ter que calcular a relação da onde estou para onde vou, ainda demora pra 
caramba, serca de uns 3 segundos, mas pra usuario que estava aconstumado a ser 
instantaneo, isso é uma eternidade, aguem tem uma solução melhor....

Sem contar que não é muito preciso, pois se tem registro deletados ele excluir 
ai o calculo fica errado, tipo se to no registro 5000 e quero ir pro 10, e tem 
10 ou 11 apagados ele acaba caindo no registro 1, é no PRIMEIRO... pois o 
MOVEBY funciona assim...
Call MoveBy to move the active record by the number of records specified by 
Distance.
Ou seja chame o MoveBy para mover o registro corrente, para o numero de 
registros especificados por distancia, então voce tem que saber a DISTANCIA que 
um registro esta do outro... até ai blz, mas quando entra registro deletados no 
meio do caminho a merda ta feita....
ai a solução foi colocar varios MoveBy (que gambiarra), para ele acabar 
acertando o registro que eu quero...
o tempo com os 4 ou com 1, é praticamente o mesmo.... tem algo melhor que o 
MoveBy, nao adianta falar para montar um INDICE, vou explicar o porque, o 
programa que USA os DBF´s esta em CLIPPER... os indices do clipper são NTX e do 
delphi são MDX, gerar o indice cada vez que for abrir vai se um eternidade 
maior ainda.... ;-)

obrigado.... (abaixo o exemplo de como uso...) 
tem algo comando para mostrar o DELETADOS e eu saber que ele estão deletados ???
em clipper "IF DELETED() THEM" em DELPHI não mostra, não sei como, e não sei se 
mostrando vai avisar quais são.... ;-)

   f_aguarde.Show;
   reg := StrToInt(Trim(Edit1.Text));
   table1.MoveBy( reg - Table1.RecNo );

   reg := StrToInt(Trim(Edit1.Text));
   table1.MoveBy( reg - Table1.RecNo );

   reg := StrToInt(Trim(Edit1.Text));
   table1.MoveBy( reg - Table1.RecNo );

   reg := StrToInt(Trim(Edit1.Text));
   table1.MoveBy( reg - Table1.RecNo );
   f_aguarde.Hide;



Luiz Escobar
Analista/Desenvolvedor:
WEB - HTML/JavaScript/PHP/MySQL 
WINDOWS - Delphi/MyDAC/ASSEMBLER/MySQL/xBase
DOS - Clipper/Assembler xBase
SERVIDORES - NetWare4.11, LINUX-REDHAT9, WINDOWS-2k
LINUX - LAZARUS/Kylix/MySQL;
http://www.megasistema.com.br

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a