La Web del Programador: Comunidad de Programadores
 
    Pregunta:  58439 - CODIGO DE UNA RUTINA PARA REGENERAR INDICES EN FIVEWIN
Autor:  Juan Arroyo Tabares
Estoy en la transición de clipper a fivewin, si alguien me hiciera favor de enviarme un ejemplo para regenerar índices usando un meter se los agradeceré infinitamente.

  Respuesta:  Jorge Vargas
hola Juan,
yo lo hago asi, despues de abrir tu archivo:
   kInd:="AL__Vari->Tipo+Al__Vari->CODvar"       // 1ra key

tInd:=AL_Vari // tag
fInd:=AL_Vari // File
IndMeter(kInd,tInd,fInd)

kInd:="AL__Vari->NomVar" // 2da key
tInd:=AL_Varin // tag
fInd:=AL_Vari // File
IndMeter(kInd,tInd,fInd)

SET INDEX TO &AL_VARI
///////
//
///////////////////////////
//
function IndMeter()
MsgMeter( { | oMeter, oText, oDlg, lEnd | ;
BuildIndex( oMeter, oText, oDlg, @lEnd ) },;
"cMsg Building the Index...",tInd )
return nil
//
//
function BuildIndex( oMeter, oText, oDlg, lEnd )
oMeter:nTotal = RecCount()
*?kind,tind,find
INDEX ON &kInd TAG &tInd TO &fInd ;
EVAL ( oMeter:Set( RecNo() ), ;
oText:setText( "Espere, por favor..."+ ; // cambia el cMsg
ltrim(str(recno()))+"/"+ltrim(str(lastrec())) ), ;
SysRefresh(), ;
! lEnd ) ;
EVERY 10
return nil

y listo. espero que te funcione
J Vargas