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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  programa se tranca
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: programa se tranca  (Leído 2,026 veces)
bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
programa se tranca
« en: 27 Junio 2010, 20:19 pm »

hago uan consulta para ver si alguien me peude ayudar. estoy haciendo un programa que tiene que analizar muchas cosas y a veces se pega trabajando porque es mucha informacion. Aunque el termian de ahcer su trabajo y culmina con exito.

A mi me gustaria que mientras el se pega por lo menos pudiera ir mostrando una barra de progreso o algo por el estilo y no logro hacer que lo haga, e tratado con u label que vaya mostrando el progreso pero el programa no logra mostrar nada porque se pega.

¿que solucion podria tener este problema?


En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
Maik33

Desconectado Desconectado

Mensajes: 128


Ver Perfil
Re: programa se tranca
« Respuesta #1 en: 27 Junio 2010, 20:29 pm »

Seguramente uses un bucle, si pones
Código:
DoEvents
en el, cre que funcionara


En línea

Crypto 136

Desconectado Desconectado

Mensajes: 6


Ver Perfil WWW
Re: programa se tranca
« Respuesta #2 en: 27 Junio 2010, 20:32 pm »

Creo que deberias agregar mas detalles sobre esa aplicacion, pero te recomiendo que hagas el programa en partes, optimiza el codigo, trata de poner la menor cantidad de codigo en la funcion principal,crea mas funciones y separa todo para que no recargues la memoria creo que es lo que se me ocurre con los datos que nos das...
En línea

bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: programa se tranca
« Respuesta #3 en: 28 Junio 2010, 03:22 am »

bueno por ejemplo una parte del programa se encarga de listar los directorios y agregarlos en una base de datos. con pocos archivos puede ser rapido, pero con 20000 archivos se echa su ratica como unos 3min. Pero a mi me gustaria que en esos 3min yo pueda poner un label o halgo que valla imprimeindo como va el progreso del programa. Es todo lo que quiero, aqui esta el codigo:


Código
  1. Public Function Listar_Directorios(directorio As String)
  2. Dim Subdirectorio As Folder
  3. Dim ruta As String
  4. Dim ext As String
  5.  
  6.  
  7.    Set El_Directorio = fso.GetFolder(Trim$(directorio))
  8.  
  9.    If existe("archivos", "ruta", directorio) Then Else ejecutar ("INSERT INTO `archivos` (`ruta`, `carpeta` )VALUES ('" & seguridad(directorio) & "', 1) ")
  10.  
  11.    For Each El_Archivo In El_Directorio.Files
  12.        ruta = El_Directorio.Path & "\" & El_Archivo.Name
  13.        If existe("archivos", "ruta", ruta) Then
  14.        Else
  15.        ext = extensión(El_Archivo.Name)
  16.        ejecutar ("INSERT INTO `archivos` (`ruta`, `extensión`, `tamaño` )VALUES ('" & seguridad(ruta) & "', '" & ext & "', '" & FileLen(ruta) & "') ")
  17.        End If
  18.    Next El_Archivo
  19.  
  20.    For Each Subdirectorio In El_Directorio.SubFolders
  21.        ruta = El_Directorio.Path & "\" & Subdirectorio.Name
  22.        If existe("archivos", "ruta", ruta) Then Else ejecutar ("INSERT INTO `archivos` (`ruta`, `carpeta` )VALUES ('" & seguridad(ruta) & "', 1) ")
  23.        Listar_Directorios (Subdirectorio)
  24.    Next
  25.  
  26.  
  27.  
  28. End Function
En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: programa se tranca
« Respuesta #4 en: 28 Junio 2010, 03:37 am »

Agregas una ProgressBar y pones esto:
Código
  1. ProgressBar1.Max = El_Directorio.Files
Y dentro del bucle pones:
Código
  1. ProgressBar1.Value = El_Archivo

Salu2! ;)
En línea

bomba1990


Desconectado Desconectado

Mensajes: 395



Ver Perfil WWW
Re: programa se tranca
« Respuesta #5 en: 28 Junio 2010, 04:48 am »

Gracias, lo puse en prueba y funciona, bien bien. no se tranca por lo menos gracias.
En línea

"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve
BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: programa se tranca
« Respuesta #6 en: 28 Junio 2010, 08:42 am »

Agregas una ProgressBar y pones esto:
Código
  1. ProgressBar1.Max = El_Directorio.Files
Y dentro del bucle pones:
Código
  1. ProgressBar1.Value = El_Archivo

Salu2! ;)

Código
  1. ProgressBar1.Max = El_Directorio.Files

si El_Directorio.Files es mayor de lo que puede aceptar ProgressBar1.Max va a hacer un OverFlow es mejor una regla de tres xP

Donde:

Código
  1.    ProgressBar1.Max = 30000 ' // = Cantidad de Archivos "Dejar 30000" para calcular con regla de tres.
  2. '   //  Por lo tanto para calcular el value
  3.    with ProgressBar1
  4.        .value = NumeroArchivoActual * .max / El_Directorio.Files
  5.    end with
  6.  

Sangriento Infierno Lunar!¡.
En línea

The Dark Shadow is my passion.
Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: programa se tranca
« Respuesta #7 en: 28 Junio 2010, 09:01 am »

Agregas una ProgressBar y pones esto:
Código
  1. ProgressBar1.Max = El_Directorio.Files
Y dentro del bucle pones:
Código
  1. ProgressBar1.Value = El_Archivo

Salu2! ;)

Código
  1. ProgressBar1.Max = El_Directorio.Files

si El_Directorio.Files es mayor de lo que puede aceptar ProgressBar1.Max va a hacer un OverFlow es mejor una regla de tres xP

Donde:

Código
  1.    ProgressBar1.Max = 30000 ' // = Cantidad de Archivos "Dejar 30000" para calcular con regla de tres.
  2. '   //  Por lo tanto para calcular el value
  3.    with ProgressBar1
  4.        .value = NumeroArchivoActual * .max / El_Directorio.Files
  5.    end with
  6.  

Sangriento Infierno Lunar!¡.

JAJAJAJJAJA :laugh:
Cierto!!
Se me paso por completo!! :¬¬

Salu2! :P
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Se me tranca por la mitad una instalacion centro de software no piedo cancelarla
GNU/Linux
Noxware 2 1,880 Último mensaje 18 Abril 2014, 23:24 pm
por Noxware
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines