Mostrar barra de progreso al copiar un archivo.

Iniciado por mortygor, 5 Agosto 2018, 23:25 PM

0 Miembros y 2 Visitantes están viendo este tema.

mortygor

Hola, al intentar copiar un archivo y que me muestre la barra de progreso por defecto de windows me esta dando un error y ya no veo porque.

Código (vbnet) [Seleccionar]


        Dim srcFile1 As String
        Dim dstFile1 As String

        srcFile1 = "C:\Users\Alfredo\Desktop\iconos1"
        dstFile1 = "C:\Users\Alfredo\Desktop\iconos2"

        My.Computer.FileSystem.CopyFile(srcFile1, dstFile1, FileIO.UIOption.AllDialogs)


Este es el codigo y este el error que me da.

System.IO.FileNotFoundException: 'No se pudo encontrar el archivo 'C:\Users\Alfredo\Desktop\iconos1'.'

Sabeis que me falta?

gracias-

Eleкtro

#1
Cita de: mortygor en  5 Agosto 2018, 23:25 PMEste es el codigo y este el error que me da.

System.IO.FileNotFoundException: 'No se pudo encontrar el archivo 'C:\Users\Alfredo\Desktop\iconos1'.'

El mensaje de error se explica por si mismo, "C:\Users\Alfredo\Desktop\iconos1" (y "C:\Users\Alfredo\Desktop\iconos2") no es un archivo, sino un directorio.

Cita de: mortygor en  5 Agosto 2018, 23:25 PMSabeis que me falta?

Te falta especificar una ruta que verdaderamente apunte a un archivo existente.

Si lo que en realidad deseas es copiar el directorio entonces usa el método My.Computer.FileSystem.CopyDirectory()...

Saludos.








mortygor

Lo que quiero es copiar el archivo que seleccione no el directorio.

Código (vbnet) [Seleccionar]
Dim sourceFileName As String
Dim destinationFileName As String


No se como decirle que archivo si siempre sera diferente?

Eleкtro

Cita de: mortygor en  6 Agosto 2018, 00:36 AMNo se como decirle que archivo si siempre sera diferente?

En tu código fuente tienes un controlador del evento ListBox.SelectedIndexChanged que debe tener un nombre parecido a este de aquí abajo (no recuerdo exactamente el nombre de tu ListBox, no se si se llamaba ListBox1 o ListBox2 o ListBox3), ahí se resuelve automáticamente el archivo seleccionado en tu ListBox devolviendo un objeto de tipo FileInfo, pues la ruta completa del archivo está en la propiedad FileInfo.FullName.

Código (vbnet) [Seleccionar]
Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
    ...
End Sub


Saludos








mortygor

Osea algo asi?

Código (vbnet) [Seleccionar]
       My.Computer.FileSystem.CopyFile(ListBox1, ListBox2, FileIO.UIOption.AllDialogs)


Me sigue dando error... en copyfile

Eleкtro

#5
Cita de: mortygor en  6 Agosto 2018, 01:13 AMOsea algo asi?

No, no has entendido nada de lo que te he intentado explicar. No te lo tomes a mal pero sinceramente no sabría por donde empezar a seguir dándote explicaciones ya que sin un aprendizaje y conocimiento mínimo de .NET por tu parte personalmente se me hace realmente complicado tratar que entiendas lo que estás haciendo mal, en esa linea de código que has mostrado da la sensación de que no comprendes el modo de empleo general de los parámetros y/o la diferencia entre el tipo Control/ListBox y el tipo String... algo así solo requiere un mínimo de aprendizaje autodidáctico por tu parte.

Todo se puede resumir a que no comprendes correctamente lo que haces en tu código actual, sobre todo lo que sucede cuando haces click en un elemento del ListBox donde se obtiene la ruta completa del nombre de archivo seleccionado en el control... de verdad te digo que es algo que se puede resolver en menos de 1 minuto (si yo tuviera tu código fuente aquí delante) por que es que ya está "todo" hecho, hace unos días te ofrecí ayuda, me enviaste el código fuente y te añadí un controlador del evento ListBox.SelectedIndexChanged donde ya se obtiene la ruta completa del elemento/nombre de archivo que hayas seleccionado en el ListBox, sin embargo ahora te ves atascado en un nuevo problema que requiere obtener la ruta completa del archivo... aunque la solución la tienes delante de tus ojos (en el código fuente).

La cuestión principal es que no podemos sacarte las castañas del fuego siempre que te tropieces con problemas de un nivel tan básico como este, que ya son varios, donde en este caso solo necesitas saber identificar en tu código fuente cierto objeto (que ya está declarado) de tipo FileInfo cuya propiedad FullName expone la ruta completa del elemento/nombre de archivo que hayas seleccionado en tu ListBox...

Mi sugerencia es que, si no lo estás haciendo ya, empieces a leer un tutorial de iniciación al lenguaje VB.NET hasta que puedas llegar a comprender mejor el código fuente de tu aplicación, en general. Estoy convencido de que lo único que necesitas es un poco de aprendizaje autodidacta y práctica sobre las cosas más básicas de .NET para que puedas resolver este problema por ti mismo, por que en mi opinión solo es necesario que te fijes bien en tu código fuente y sepas distinguir bien las cosas para darte cuenta de lo que debes hacer para resolver el problema/duda que tienes...

Lamento darte el sermón, realmente me sabe mal, pero se espera que la gente que acude al foro para formular dudas sobre "X" lenguaje de programación venga con ciertas nociones básicas ya aprendidas por su cuenta, en este caso serían nociones sobre el paradigma de programación orientada a objetos en .NET, de lo contrario es necesario ponerse a explicar cualquier detalle desde cero por mínimo o básico que sea y ...bueno, esto no es un aula de estudio ni nosotros profesores.

Saludos!








mortygor

Creo que tienes razón, cierro el hilo. Gracias.