elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  ProgressBar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ProgressBar  (Leído 7,962 veces)
rigorvzla

Desconectado Desconectado

Mensajes: 213


Ver Perfil
ProgressBar
« en: 19 Diciembre 2017, 19:31 pm »

hola amigos, alguien podria explicarme como se debe hacer para enlazar un ProfressBar en el proceso de un programa, hace un tiempo atras me ayudaron hacer un extractor y descompresor, cosa que funciona de joya. la cuestion es que si son archivos muy pesados , el cumple su trabajo tarde o temprano, pero no se sabe si esta o no en funcionamiento, hasta que termina y da una alerta hablada.

me podrian ayudar porfavor.


En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 668



Ver Perfil WWW
Re: ProgressBar
« Respuesta #1 en: 19 Diciembre 2017, 20:57 pm »

1) si , quieres que te ayuden a poner una barra de carga mientras el programa descomprime o comprime debes poner el code en cuestión.

2) en Internet se consiguen vídeos y ejemplos de la utilización de el control ProgressBar (Barra de Progreso)  , solo debes tomar un tiempo a investigar un poco .

______________________________________________________________________________________________________________________________

bueno en fin te dejo unos tutos y ejemplos :

Tutorial 1

Tutorial 2

Tutorial 3

ejumplos:

Ejemplo 1

Ejemplo 2

Ejemplo 3

PD: Con el contenido que te deje , Podrás hacer lo que pides. XD


« Última modificación: 19 Diciembre 2017, 21:00 pm por **Aincrad** » En línea



rigorvzla

Desconectado Desconectado

Mensajes: 213


Ver Perfil
Re: ProgressBar
« Respuesta #2 en: 19 Diciembre 2017, 23:45 pm »

este es el codigo

leere la informacion tambien debo colocarlo a este , y a dos codigos mas similares descompresion y compresion de directorios ya estan los codigos solo es cosa de hacer la barra y aunque vi el tutorial no se si aplica a WPF no trabajo eso en form


REEDITO gracias por esos tutoriales me guie con los videos de sugerencia y me fue de maravillas ahora pregunto, las barras son de cierto modo algo simbolico , hay alguna forma de calcular exactamente el tiempo de duracion de un proceso?? en mi caso diversos archivos para comprimir. en casos distintos
« Última modificación: 20 Diciembre 2017, 02:17 am por rigorvzla » En línea

rigorvzla

Desconectado Desconectado

Mensajes: 213


Ver Perfil
Re: ProgressBar
« Respuesta #3 en: 20 Diciembre 2017, 03:16 am »

re edito de nuevo... en donde estoy aplicando la barra tengo el comando waitforexit
y eso me detiene la barra de progreso y es necesario ese comando que deberia hacer para que no se detenga la barra???
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: ProgressBar
« Respuesta #4 en: 20 Diciembre 2017, 11:00 am »

alguien podria explicarme como se debe hacer para enlazar un ProfressBar en el proceso de un programa, hace un tiempo atras me ayudaron hacer un extractor y descompresor, cosa que funciona de joya. la cuestion es que si son archivos muy pesados , el cumple su trabajo tarde o temprano, pero no se sabe si esta o no en funcionamiento, hasta que termina y da una alerta hablada.

Era obvio que tarde o temprano ibas a llegar a este punto... yo ya te avisé desde el "día 1" de como lo deberias hacer:

Lo más apropiado para obtener un control absoluto y eficiente sobre el procedimiento de compresión y descompresión de 7-Zip sería que implementases las funciones exportadas en la librería 7za.dll mediante Platform Invoking, puedes ver un ejemplo ya hecho aquí:

....entiendo que esto es mucho pedir ya que estás empezando en .NET y desconoces muchos conceptos todavía, así que descartamos esa opción, pero sería preferible que en lugar de lo que estás haciendo actualmente llamando al executable 7za.exe sin más, en lugar de eso al menos utilizases la librería SevenZipSharp (a pesar de que esté bastante desactualizada), ya que al menos proporciona un modo mucho más seguro y sofisticado de control mediante su estructuración de código orientado a eventos, esto te permimtiría controlar facilmente el progreso de compresión/descompresión y cualquier error suscribiéndote al evento correspondiente

Puesto que no has hecho caso a nada de eso ni piensas hacerlo, ahora lo único a lo que puedes recurrir es a la forma menos eficiente de implementar un controlador de progreso: tienes que leer/parsear la salida stdOut y stdErr del programa command-line, y apañártelas para intentar calcular un porcentaje de progreso en base a los datos que se muestren en el output de dicho programa. Nadie va a hacer esto por ti por cuestión de tiempo y desgana (sinceramente no vale la pena hacerlo, teniendo otras opciones ya mencionadas), de todas formas en Google puedes encontrar miles de ejemplos sobre como leer la salida de un programa de forma sincrónica y asincrónica, y luego solo tienes que adaptar los principios de esos ejemplos, a tu escenario.




las barras son de cierto modo algo simbolico

Solamente serán algo simbólico si por tu parte no implementas un algoritmo que calcule el progreso, y eso solamente se puede hacer en los casos en los que en la salida del programa command-line se muestre un valor de porcentaje que puedas leer/capturar u otro dato que te pueda servir para el mismo propósito.

hay alguna forma de calcular exactamente el tiempo de duracion de un proceso??

Lo más parecido que puedes encontrar es:

Citar
% Processor Time is the percentage of elapsed time that all of process threads used the processor to execution instructions.

...o bien puedes utilizar la propiedad Process.StartTime junto a un StopWatch. Pero nada de esto es lo que estás preguntando en realidad...

Por si no ha quedado claro del todo: evidentemente no existe modo alguno de predecir cuando finalizará la ejecución de un programa, a menos que calcules el porcentaje de la forma en la que ya se te ha explicado.

Saludos.
« Última modificación: 20 Diciembre 2017, 11:24 am por Eleкtro » En línea

rigorvzla

Desconectado Desconectado

Mensajes: 213


Ver Perfil
Re: ProgressBar
« Respuesta #5 en: 20 Diciembre 2017, 21:33 pm »

como siempre gracias elektro , aqui se abren caminos para continuar la investigacion y en efecto calcular el progreso de una aplicacion en este caso de comprimir y extraer requiere mas documentacion del 7z  , por otro lado implemente la barra de manera y en efecto no es nada que ver con el proceso real mas si indica al usuario que algo esta pasando, que era la razon inicial por lo que la necesitaba ya en base a esto me pondre a investigar para que sea ya de manera exacta y precisa .
Gracias nuevamente a todos los que me asistieron
En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 668



Ver Perfil WWW
Re: ProgressBar
« Respuesta #6 en: 20 Diciembre 2017, 21:58 pm »

me da curiosidad ese programa para comprimir y descomprimir . algún  podrías subir el .exe?
En línea



rigorvzla

Desconectado Desconectado

Mensajes: 213


Ver Perfil
Re: ProgressBar
« Respuesta #7 en: 21 Diciembre 2017, 01:58 am »

me da curiosidad ese programa para comprimir y descomprimir . algún *dia* podrías subir el .exe?
Hola es posible pero es, es un complemento que usa el proyecto que hago, en youtube tengo un video solo que fue el primer proyecto que hice, luego no me gusto y empece otro nuevo basicamente lo mismo pero planteado de otra manera, no se esto del spam y los permisos de aqui asi q prefiero dejarlo de lado como tal y limitarme a compatir mis inquietudes, y evitar problemas jeje .

Basicamente lo que hace este es comprimir y descomprimir archivos jeje nada del otro mundo  use al 7z y bueno es conocido ya por la mayoria.
En línea

**Aincrad**


Desconectado Desconectado

Mensajes: 668



Ver Perfil WWW
Re: ProgressBar
« Respuesta #8 en: 21 Diciembre 2017, 04:11 am »

usas el DLL o la herramienta comandline?
En línea



Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: ProgressBar
« Respuesta #9 en: 21 Diciembre 2017, 10:07 am »

como siempre gracias elektro , aqui se abren caminos para continuar la investigacion y en efecto calcular el progreso de una aplicacion en este caso de comprimir y extraer requiere mas documentacion del 7z  , por otro lado implemente la barra de manera y en efecto no es nada que ver con el proceso real mas si indica al usuario que algo esta pasando, que era la razon inicial por lo que la necesitaba ya en base a esto me pondre a investigar para que sea ya de manera exacta y precisa .
Gracias nuevamente a todos los que me asistieron

No puedo tener ninguna objeción contigo, te tomas las críticas muy bien, sin embargo me jode un poco que sigas empeñado en usar 7z.exe a estas alturas (cuando se te dió una muy buena alternativa más facil de implementar), ¿no ves que todo son problemas para ti? xD. Implementar un parsing de datos de la salida (stdOut / stdErr) de 7z.exe no es que sea algo imposible ni tampoco muy complicado, pero es un coñazo, tienes que buscar la linea exacta en la salida para encontrar el dato que te sirva (el valor de porcentaje "n%") y capturarlo, con eso ya tendrías el porcentaje para tu progressbar, pero tienes que capturar muchos más datos adicionales de la salida del programa 7z.exe para controlar posibles mensajes de error en la compresión/extracción.

Si al final solo quieres usar la barra de progreso como algo simbólico para indicar que "algo está pasando" (y no se sabe cuando acabará), entonces quizás prefieras ponerla en estado indeterminado:

El aspecto te quedaría más o menos como ves aquí abajo (no exactamente así, pero no he encontrado otro GIF mejor):



Saludos.
« Última modificación: 21 Diciembre 2017, 10:20 am por Eleкtro » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Progressbar
Programación Visual Basic
Sk8er_boy12 4 2,464 Último mensaje 13 Septiembre 2005, 00:40 am
por Slasher-K
aki esta el progressbar
Programación Visual Basic
elpato_zeta 1 1,304 Último mensaje 5 Octubre 2005, 00:08 am
por NYlOn
progressbar porcentaje
Programación Visual Basic
alfa_28 7 6,232 Último mensaje 21 Septiembre 2006, 06:40 am
por Zibra
ProgressBar
Programación Visual Basic
Jareth 6 2,278 Último mensaje 11 Noviembre 2006, 19:16 pm
por Jareth
ProgressBar... O.O « 1 2 »
Programación Visual Basic
Petro_Boca 15 5,852 Último mensaje 13 Septiembre 2010, 18:42 pm
por ssccaann43 ©
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines