Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

progressbar mientras se ejecuta una funcion

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: progressbar mientras se ejecuta una funcion Responder citando

Hola

Tengo en mi proyecto una funcion la cual consume bastante tiempo en ejecutarse, y por lo tanto quiero saber como hago para que salga una ventana con un progressbar que me indique en que punto va o cuanto falta para finalizar la funcion.

Espero que me puedan colaborar

Gracias
Volver arriba
Mensaje    Asunto: Responder citando

Creo una forma qeu contiene el progressbar, le digo que no se creee al inicio, y cuando la necesito la llama

Código:

if(frmBarra==NULL)
   {frmBarra=new TfrmBarra(this);
    frmBarra->bar->Max=dmDefiniciones->qryConsultaMenu->RecordCount+
      dmDefiniciones->tbGruposInsumos->RecordCount;
   }



Como puedes ver asigno el LIMITE maximo del progress abr tomandolo de los registro maximos que voya procesar

y posterioremete cada vez que avanzo , incremento la posicion

Código:

frmBarra->bar->Position+1;


Espero te sirva
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: aclaracion Responder citando

Gabriel

Agradezco tu colaboracion, pero segun veo en el codigo que haz enviado estas trabajando con un query y con el metodo recordcount.

Pero en mi funcion yo no estoy usando componentes de una base de datos sino que estoy trabajando con redes neuronales.

De igual forma, gracias por la colaboracion y espero me puedas ayudar.
Volver arriba
Mensaje    Asunto: Responder citando

Ok.

Que necesitas para al barra

1.- EL MAXIMO NUMERO DE PROCESOS,ITERACCIONES, CICLOS ETC QUE VA REALIZAR

2.- Un seccion del programa donde actualizes el progress bar (Position)

Y ya

como ves yo uso Recordcount , tu tal vez sabes cuantos ciclos tienes o lo puedes calcullar el numero de nodos

y vas actualizando.. me explique?
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Hola Gabriel...

la verdad no me sirve saber cuantas iteraciones tengo, porque la red neuronal va creciendo y por ende los ciclos se van incrementando.

Por eso me gustaria saber si es posible intersectar algun procedimiento que me permita realizar esto.

Gracias
Volver arriba
Mensaje    Asunto: Responder citando

Invitado sin nombre (date de alta en el foro par qu etengas una identidad reconocida Laughing )

Ya entendi lo que quires, para que un progress bar pueda funcionar debes tener en cuenta algo muy simple:

Ponle un valor maximo al progress bar , si quieres 100

dentros de los procesos y funciones que tienes , en alguna de ellas deber saber en que parte del proceso esta , podria ser un porcentaje , ese valor lo pasas a la propeidad Position de progressbar y este sse incrementara, ahora bien, si en algun momento cambia el limite maximo, lo puedes modificar otra vez en la propiedad anteriormente dicha.

SI NO SABES EL LIMITE MAXIMO,entonces has "trampa"

Suponiendo que tengas tres funciones a llamar hast que termine el proceso largo del que hablas. simplente harasi esto
PB->Max=10; // ponle un valro arbitrario
Funcion1();
PB->Position=3; // incrementalo (a huevo)
Funcion2();
PB->Position=6; // incrementalo (a huevo)
Funcion3();
PB->Position=10; // incrementalo (a huevo)

Ya me explique, espero haber sido de ayuda,

Tienes alguna duda sobre el funcionanmiento del porgress bar, ya no puedo ayudarte a como implementarlo debidoq a que no conozco tu codigo Crying or Very sad

No se me ocurre otra manera de manejs un progress bar, la filosofia del componete es mostrar un grado de avance , poer simple sentido comun tendrias qeu saber en ciertos puntos el avance del mismo para representa el INDICE de progreso

en termino matematicos

tu proceso inicia en 0 y termina en 1 (0-1)

en cada interaccion debrerias tener un indice de progreso y ese indice lo pasarias al progress bar (el progres bar solo "conoce" alos enteros asi que conviertes 0-1 se vuelve 0-100 y el indice es un valor

si no sabes cuando va a finalizar , bueno.. .engaña al usaurio que vea algo que tal ves no refleje el proceso de avance conforme se efectua (por que tal vez no lo puedas calcular por la misma naturaleza de las redes neuronales) pero si podrias divir la operacion en segmente y aumebtar el porgress bar con valores discretos (a huevo)

saludos


asi que suerte y sigue intentando
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.