Page 1 of 1
Barra de progreso oMeter - Inde ON con FiveLinux
Posted: Thu Apr 07, 2011 6:22 pm
by jgayoso
Al realizar la instrucción siguiente, el archivo no se indexa pasa de largo y la barra de progreso no avanza:
Index On &cKey Tag &cTag To &filex EVAL (oMeter:Set( recno() ) )
igual que con esta instrucción:
Index On &cKey Tag &cTag To &filex EVAL (oMeter:Set( recno() ) , SysRefresh() )
Al realizar la instrucción siguiente, el archivo se indexa, pero no tengo barra de progreso:
Index On &cKey Tag &cTag To &filex
Al realizar la instrucción siguiente, el archivo se indexa, tengo barra de progreso pero debo estar presionando una tecla por cada registro:
Index On &cKey Tag &cTag To &filex EVAL (oMeter:Set( recno() ), alert('Paso') )
Favor si alguien sabe como arreglar mi problema se agradeceria.
Jorge Gayoso
Re: Barra de progreso oMeter - Inde ON con FiveLinux
Posted: Fri Apr 08, 2011 12:48 am
by Antonio Linares
Jorge,
Hay que hacer el siguiente cambio en la Clase TDialog:
Code: Select all
METHOD Activate( lCentered, bValid, bLClicked, bRClicked, lModal ) CLASS TDialog
...
::AEvalWhen()
::Show()
if ! Empty( ::bStart )
Eval( ::bStart, Self )
endif
// Listbox controls initialization workaround
...
Y añadir esta nueva DATA en la Clase TWindow:
Con _ este ejemplo funciona bien:
Code: Select all
#include "FiveLinux.ch"
function Main()
local oDlg, oMeter, nVal := 0
DEFINE DIALOG oDlg SIZE 600, 400 TITLE "Testing a Meter"
oDlg:bStart := { || Index( oMeter ) }
@ 18, 8 METER oMeter VAR nVal TOTAL 100 OF oDlg SIZE 440, 25
@ 28, 24 BUTTON "Ok" OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
return nil
function Index( oMeter )
for n = 1 to 100
oMeter:Set( n )
SysRefresh()
next
return nil
Re: Barra de progreso oMeter - Inde ON con FiveLinux
Posted: Fri Apr 08, 2011 7:48 pm
by jgayoso
Ok, antonio me quedo claro.
La unica duda es:
Estos archivos estan en /source/classes los modifique en ese directorio, consulta: ¿debo solo compilar mi proyecto y el proceso los toma inmediatamente? o ¿debo incorporar estos archivos a mi proyecto para que tome _ como cualquier PRG? o ¿debo compilarlos en forma especial y el resultado dejarlo otro directorio (cual)?
Se agradece vuestra respuesta..
Jorge Gayoso
Antonio Linares wrote:Jorge,
Hay que hacer el siguiente cambio en la Clase TDialog:
Code: Select all
METHOD Activate( lCentered, bValid, bLClicked, bRClicked, lModal ) CLASS TDialog
...
::AEvalWhen()
::Show()
if ! Empty( ::bStart )
Eval( ::bStart, Self )
endif
// Listbox controls initialization workaround
...
Y añadir esta nueva DATA en la Clase TWindow:
Con _ este ejemplo funciona bien:
Code: Select all
#include "FiveLinux.ch"
function Main()
local oDlg, oMeter, nVal := 0
DEFINE DIALOG oDlg SIZE 600, 400 TITLE "Testing a Meter"
oDlg:bStart := { || Index( oMeter ) }
@ 18, 8 METER oMeter VAR nVal TOTAL 100 OF oDlg SIZE 440, 25
@ 28, 24 BUTTON "Ok" OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
return nil
function Index( oMeter )
for n = 1 to 100
oMeter:Set( n )
SysRefresh()
next
return nil
Re: Barra de progreso oMeter - Inde ON con FiveLinux
Posted: Sat Apr 09, 2011 10:54 pm
by Antonio Linares
Jorge,
Puedes añadirlos a tu proyecto una vez modificados. Otra opción es:
Estas usando Harbour ? Podemos enviarte las librerias actualizadas
Re: Barra de progreso oMeter - Inde ON con FiveLinux
Posted: Mon Apr 11, 2011 12:50 pm
by jgayoso
Antonio, estoy utilizando xharbour. Si me puedes enviar las librerias actualizadas mejor, ya que pueden haber otras mejoras que me pueden ayudar.
Lo indicado funciono colocando un SysRefresh() y un .T. al final EVAL, el nEvery saca un porcentaje de 5% al total de registro, para ir indicando el avance:
Index On &cKey Tag &cTag To &filex EVAL (oMeter:Set( recno() ), SysRefresh(), .T.) Every nEvery
Muchas gracias Antonio, te debo otra mas...
Jorge Gayoso
Antonio Linares wrote:Jorge,
Puedes añadirlos a tu proyecto una vez modificados. Otra opción es:
Estas usando Harbour ? Podemos enviarte las librerias actualizadas