Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: _CrisiS_ en 27 Octubre 2010, 17:16 pm



Título: Como hacer un programa parecido aun instaldor
Publicado por: _CrisiS_ en 27 Octubre 2010, 17:16 pm
Buenas mi duda es la siguiente
Como hago para poner en un combo la ubicacion de una carpeta o mejor aun , que con un boton ubiquen cierta carpeta.

Despues de tener la ubicacion de la carpeta, comensar a copiar y eliminar archivos


Título: Re: Como hacer un programa parecido aun instaldor
Publicado por: [D4N93R] en 27 Octubre 2010, 19:45 pm
Por favor podrías explicarte un poco mejor, no te entiendo bien.

No se si querrás usar un FolderBrowserDialog, o si ponerle autocompletar a un textbox, no entiendo bien.

Un saludo.


Título: Re: Como hacer un programa parecido aun instaldor
Publicado por: _CrisiS_ en 27 Octubre 2010, 19:57 pm
Pongamoslo asi:
un textbox y un boton:

Textbox("D:\Carpeta1\Subcarpeta")   y un boton Examinar (que al darle clic se aparezca el arbol de carpetas de la pc para elegir una carpeta) cuando se le de clic aparezca la ruta en el textbox.

Despues de ello en el siguiente formulario pegar/eliminar archivos de dicha carpeta.


Título: Re: Como hacer un programa parecido aun instaldor
Publicado por: [D4N93R] en 27 Octubre 2010, 20:00 pm
Pues sí, usa FolderBrowserDialog.

:)


Título: Re: Como hacer un programa parecido aun instaldor
Publicado por: _CrisiS_ en 28 Octubre 2010, 06:29 am
Bueno utilizando el controlador que mi dijiste  logre que la direccion que se coja se quede en un textboxt.

Ahora mi duda es:
al apretar un boton "se copie carpetas/archivos que tengo dentro de mi proyecto de vb" asia la direccion que tenia en mi textbox, y que se use un progressbar para ver el avance del copiado


Título: Re: Como hacer un programa parecido aun instaldor
Publicado por: [D4N93R] en 28 Octubre 2010, 14:51 pm
Mira, justo encontré este demo en MSDN sobre ProgressBar:
Código
  1. private void CopyWithProgress(string[] filenames)
  2. {
  3. // Display the ProgressBar control.
  4. pBar1.Visible = true;
  5. // Set Minimum to 1 to represent the first file being copied.
  6. pBar1.Minimum = 1;
  7. // Set Maximum to the total number of files to copy.
  8. pBar1.Maximum = filenames.Length;
  9. // Set the initial value of the ProgressBar.
  10. pBar1.Value = 1;
  11. // Set the Step property to a value of 1 to represent each file being copied.
  12. pBar1.Step = 1;
  13.  
  14. // Loop through all files to copy.
  15. for (int x = 1; x <= filenames.Length; x++)
  16. {
  17. // Copy the file and increment the ProgressBar if successful.
  18. if(CopyFile(filenames[x-1]) == true)
  19. {
  20. // Perform the increment on the ProgressBar.
  21. pBar1.PerformStep();
  22. }
  23. }
  24. }
  25.  

Y para listar los archivos puedes usar DirectoryInfo (http://msdn.microsoft.com/en-us/library/system.io.directoryinfo.aspx).

Un saludo


Título: Re: Como hacer un programa parecido aun instaldor
Publicado por: Edu en 28 Octubre 2010, 14:56 pm
Ja aprende por un lado como usar el progressbar y por otro como copiar archivos a otra carpeta y desp lo mezclas xD
Aprende sobre comodines por si quieres copiar todos los archivos de tu carpeta sin importar cuales sean...


Título: Re: Como hacer un programa parecido aun instaldor
Publicado por: _CrisiS_ en 31 Octubre 2010, 04:53 am
Bueno ya logre copiar archivos ahora siemplemten mi problema que tengo es que mi progresbar aparece lleno cuando termina el copiado y no se va llenando de a pocos con forme va el copiado


Título: Re: Como hacer un programa parecido aun instaldor
Publicado por: .::IT::. en 31 Octubre 2010, 22:38 pm
Es que debes calcular el tiempo de copiado aqui un link
http://www.forosdelweb.com/f69/calcular-tiempo-restante-381884/


Título: Re: Como hacer un programa parecido aun instaldor
Publicado por: 43H4FH44H45H4CH49H56H45H en 1 Noviembre 2010, 04:59 am
Bueno ya logre copiar archivos ahora siemplemten mi problema que tengo es que mi progresbar aparece lleno cuando termina el copiado y no se va llenando de a pocos con forme va el copiado

Necesitas trabajar con hilos para que se vea bien el progreso de la copia, para obtener el tamaño de cada archivo a copiar basta con
Código
  1. FileInfo
y
Código
  1. Length
una suma de todos los tamaños, con eso se puede calcular de acuerdo al progreso el tiempo restante y otras cosas mas, ya que algunos discos (u otro componente) pueden ser bastante lentos y es mejor calcular el tiempo de copia respecto al progreso.