FoxPro/Visual FoxPro - Barra de progreso para un update

   
Vista:

Barra de progreso para un update

Publicado por es_binario (757 intervenciones) el 29/04/2011 15:44:35
Siempre he tenido esta duda, he usado muchas clases de barras de progreso con ciertas propiedades pero no he podido encontrar la forma de usarla en un proceso en el que yo desconozca el final del mismo.

por ejemplo yo uso una barra en la que con un simple regla de 3 se el tama;o de la barra sabiendo el numero de registros que va a recorrer y funciona muy bien.

*//------------------------------------------------BARRA BARRA BARRA BARRA BARRA BARRA BARRA BARRA
total_de_registros = Reccount()
*// Barran 2
Thisformset.form1.barraProg.max = 100
*//------------------------------------------------BARRA BARRA BARRA BARRA BARRA BARRA BARRA BARRA

porcentaje_actual = INT((ve/total_de_registros)*100)
IF porcentaje_actual != porcentaje_viejo
Thisformset.form1.barraProg.value = porcentaje_actual
porcentaje_viejo = porcentaje_actual
ENDIF


pero no puedo hacer lo mismo con una sentencia update con una barra de progreso alguien a hecho esto antes y si lo han hecho me pueden decir como.


UPDATE articulos;
SET articulos.tip_desc = "C", articulos.desc = mDescuentoCon;
WHERE articulos.cve_onco = .T. AND EMPTY(code_nadro) = .F.


gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Barra de progreso para un update

Publicado por Victor Perez (278 intervenciones) el 29/04/2011 22:54:25
Hola Es_binario,

Me parece interesante la forma en que planteas tu programa para el Progreso de la Barra.

Pero no entiendo de donde tomas la variable "ve" en la sentencia

"porcentaje_actual = INT((ve/total_de_registros)*100)"

Saludos y si me aclaras para utilizar tu subrutina.

Victor - Panama -
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Barra de progreso para un update

Publicado por Juan Manuel Cruz juanmcruz@hotmail.com (508 intervenciones) el 03/05/2011 11:13:56
Primero, si no sabes cual es número de registros por adelantado, no tiene sentido que pongas una barra de progreso, en todo caso un reloj de arena, símbolo de espera, un circular como los de navegadores...

Segundo: dentro de una orden VFP no te deja hacer procesos paralelos. Por si te tienta poner un gif animado, un timer, etc, VFP lo dejará de lado mientras ejecuta esa orden SQL. Así que nada, yo te recomendaría el reloj de arena 'de toda la vida'.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Barra de progreso para un update

Publicado por es_binario (757 intervenciones) el 30/04/2011 05:02:06
ve es el registro en el que voy con un ciclo for a

algo asi

select tabla_barre

for a = 1 to reccount()
select tabla_barre
ve = a
endfor

solo que no puse todo el codigo es decir que ve = ir al registro que toca y al mismo tiempo el calculo con la regla de 3

saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar