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
Barra de progreso oMeter - Inde ON con FiveLinux
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Barra de progreso oMeter - Inde ON con FiveLinux
Jorge,
Hay que hacer el siguiente cambio en la Clase TDialog:
Y añadir esta nueva DATA en la Clase TWindow:
Con _ este ejemplo funciona bien:
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
...
Code: Select all
DATA bStart
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
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
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:Y añadir esta nueva DATA en la Clase TWindow: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 ...
Con _ este ejemplo funciona bien:Code: Select all
DATA bStart
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Barra de progreso oMeter - Inde ON con FiveLinux
Jorge,
Puedes añadirlos a tu proyecto una vez modificados. Otra opción es:
Estas usando Harbour ? Podemos enviarte las librerias actualizadas
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
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
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