Visual Basic.NET - Eliminar ruta del archivo

 
Vista:
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por Eloy (9 intervenciones) el 23/01/2021 01:00:12
Buenas noches, no consigo eliminar la ruta del archivo.
Me podéis ayudar?


1
2
3
4
5
6
7
8
9
10
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
For Each file As String In My.Computer.FileSystem.GetFiles("C:\ Glenn\Office Doc" ,FileIO.SearchOption.SearchAllSubDirectories)
 
Dim Fname As String = IO.Path.GetFileName(file)
ListBox1.Items.Add(Fname)
Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
 
Dim file As [String] = ListBox1.SelectedItem
System.Diagnostics.Process.Start("C:\ Glenn\Office Doc\" & file)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por Phil Rob (1554 intervenciones) el 23/01/2021 07:43:56
Hola,

No comprendo tu pregunta pero GetFileName elimina la ruta !

1
NombreArchivoSinRuta = IO.Path.GetFileName(NombreArchivoConRuta)

??? ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por eloy (9 intervenciones) el 23/01/2021 09:01:13
Buenos días, perdón no me he explicado bien.
Dentro de un list box me muestra todos los archivos PDF que tengo dentro de una carpeta, pero dentro de list box me sale toda la ruta completa del archivo
Por ejemplo me aparece esta ruta en el listado:
C:\carpeta_test\test1.pdf

Y necesito solo.

Test1.pdf

Muchas gracias por vuestra ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por Phil Rob (1554 intervenciones) el 23/01/2021 09:24:21
No comprendo ... porque tu código IO.Path.GetFileName(file) da el nombre del fichero sin ruta :
1
2
Dim Fname As String = IO.Path.GetFileName(file)
ListBox1.Items.Add(Fname)

Existen problemas en tu código, quizá debe los corregir todos, peros no es completas las líneas que has enviadas :

Envia tu código (proyecto en ZIP) y miraré en la tarde ...

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por Eloy (9 intervenciones) el 23/01/2021 09:47:46
Muchas gracias por tu ayuda,
Te lo enviaré mañana, ahora mismo me es imposible.
Te explico el proyecto, necesito que en un listbox me aparezcan todos los archivos que tenga en una carpeta, pero que solo me aparezca el nombre del archivo sin la ruta, posteriormente cuando vea todos los archivos que tengo en la carpeta, le doy doble click en el archivo deseado y que me abra el archivoPDF.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por Phil Rob (1554 intervenciones) el 23/01/2021 09:58:39
Muy bien ...
Que tenga un buen día
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por Phil Rob (1554 intervenciones) el 23/01/2021 21:45:10
Hola,

Tu proyecto contiene ningún código excepto algunas para los controles del Form1 (que no están necesario porque están las operaciones por defecto de Windows).
Pues, he agregado un Button1 para llenar el ListBox. El ListBox es llenado con los nombres de los ficheros, sin ruta.

En todo caso, no puede escribir la llenada del ListBox en su procedimiento ListBox1_SelectedIndexChanged(... ).

Este el código que he cambiado en el Form1 :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
' ... ... ...
 
    'Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
 
    '    'For Each file As String In My.Computer.FileSystem.GetFiles("D:\Tmp\Eloy\", FileIO.SearchOption.SearchAllSubDirectories, "*.*")
    '    '    ListBox1.Items.Add(file)
    '    'Next
 
    '    'Dim Fname As String = IO.Path.GetFileName("D:\Tmp\Eloy\")
    '    'ListBox1.Items.Add(Fname)
    'End Sub
 
' ... ... ...  No olvidas de reemplazar "D:\Tmp\Eloy\" por tu ruta !!!
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim Fname As String
        For Each file As String In My.Computer.FileSystem.GetFiles("D:\Tmp\Eloy\", FileIO.SearchOption.SearchAllSubDirectories)
            Fname = IO.Path.GetFileName(file)
            ListBox1.Items.Add(Fname)
        Next
    End Sub
 
' ... ... ...

Es pero que este te ayudará ...



Eloy
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por eloy (9 intervenciones) el 23/01/2021 21:53:31
Muchas gracias por tu ayuda,
Luego lo pruebo y espero seguir aprendiendo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por eloy (9 intervenciones) el 24/01/2021 21:12:17
Buenas noches,
Ya no me aparece la raiz del archivo. muchas gracias.
Pero ahora cuando le hago doble click sobre el nombre del archivo no me abre el pdf.
Se te ocurre algo?
Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por Phil Rob (1554 intervenciones) el 24/01/2021 21:34:41
Hola,

El codigop siguiente serve para cargar un programa EXE.
1
System.Diagnostics.Process.Start(Me.ListBox1.SelectedItem.ToString())

Para leer un pdf, tiene que cargar AcrobatReader o Foxit o ..., un lector de pdf que permite el paramétro dado por Me.ListBox1.SelectedItem.ToString.

Dice me cual es tu lector de pdf y miraré mañana como escribir la linea System.Diagnostics.Process.Start(... ).

Buenas noches ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por eloy (9 intervenciones) el 24/01/2021 21:36:06
Buenas noches ,acrobat reader
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por Phil Rob (1554 intervenciones) el 25/01/2021 07:35:40
Hola,

Este el codigo para cargar archivo pdf.
1
2
3
4
5
6
7
8
9
10
Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
 
    If System.IO.File.Exists(Me.ListBox1.SelectedItem.ToString()) Then  ' OK pero si nombre ne ListBox, entonces claro que existe ...
      Dim PDFExe As String = "Acrobat.exe" ' El nombrer del lector pdf por defecto del sistema
      Dim RutaDelFichero As String = "D:\Tmp\Eloy\"  ' A reemplazar por la ruta en tu sistema
      Dim FicheroPDF As String = Me.ListBox1.SelectedItem.ToString()
      System.Diagnostics.Process.Start(PDFExe, " " & RutaDelFichero & FicheroPDF)
    End If
 
End Sub

Que tenga un buen día ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por Phil Rob (1554 intervenciones) el 25/01/2021 11:46:05
Re,

Supongo que has tener problema para obtener la ruta de los ficheros con el texto en la ListBox.

Este es la razón por que te propongo el código siguiente :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Dim DTA As New DataTable ' Contiene realmente los datos, el ListBox es solamente para los mostrar
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        DTA.Columns.Add("Ruta")
        DTA.Columns.Add("Fichero")
    End Sub
 
    Private Sub ListBox1_DoubleClick(sender As Object, e As EventArgs) Handles ListBox1.DoubleClick
        Dim Indicio As Integer = ListBox1.SelectedIndex
        If System.IO.File.Exists(Me.ListBox1.SelectedItem.ToString()) Then  ' OK pero si nombre ne ListBox, entonces claro que existe ...
            Dim PDFExe As String = "Acrobat.exe" ' El nombrer del lector pdf por defecto del sistema
            Dim RutaDelFichero As String = DTA.Rows(Indicio)("Ruta")
            Dim FicheroPDF As String = DTA.Rows(Indicio)("Fichero")
            System.Diagnostics.Process.Start(PDFExe, " " & RutaDelFichero & FicheroPDF)
        End If
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        For Each file As String In My.Computer.FileSystem.GetFiles("D:\Tmp\Eloy\", FileIO.SearchOption.SearchAllSubDirectories)
            DTA.Rows.Add(IO.Path.GetDirectoryName(file), IO.Path.GetFileName(file))
        Next
        ListBox1.DataSource = DTA
        ListBox1.DisplayMember = "Fichero"
        ListBox1.ValueMember = "Ruta"
    End Sub

...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por eloy (9 intervenciones) el 25/01/2021 14:01:21
Buenas tardes, es cierto tengo problemas para abrir el archivo incluso con el ultimo codigo que me has mandado,
El problema es que no encuentro donde estoy fallando.
Creo que voy a poner un boton, un text label y ver si puedo abrir el archivo, solamente esto, si puedo hacer que funcione entonces ire introduciendo mas cosas.
Muchas gracias por tu ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por Phil Rob (1554 intervenciones) el 25/01/2021 17:17:20
Hola,

He escrito "Acrobat.exe" a lugar de "AcroRd32.exe". El primero es para Adobab Acrobat Pro y el otro es el Reader.

He escrito otras correcciones.

Este es el código completo del Form1 que he utilizado :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
'Imports System.Runtime.InteropServices
' Imports System.IO
Public Class Form1
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        Hora.Text = Format(DateAndTime.TimeOfDay, "hh") & ":"
        Minutos.Text = Format(DateAndTime.TimeOfDay, "mm")
        Segundos.Text = Format(DateAndTime.TimeOfDay, "ss")
    End Sub
 
    Private Sub BtRestore_Click(sender As Object, e As EventArgs) Handles BtRestore.Click
        Me.WindowState = FormWindowState.Normal
        BtRestore.Visible = False
        BtMaximize.Visible = True
    End Sub
 
    Private Sub BtClose_Click(sender As Object, e As EventArgs) Handles BtClose.Click
        Application.Exit()
    End Sub
 
    Private Sub BtMaximize_Click(sender As Object, e As EventArgs) Handles BtMaximize.Click
        BtMaximize.Visible = False
        BtRestore.Visible = True
        Me.WindowState = FormWindowState.Maximized
    End Sub
 
    Private Sub BtMinimize_Click(sender As Object, e As EventArgs) Handles BtMinimize.Click
        Me.WindowState = FormWindowState.Minimized
    End Sub
 
    Dim DTA As New DataTable
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        DTA.Columns.Add("Ruta")
        DTA.Columns.Add("Fichero")
    End Sub
 
    Private Sub ListBox1_DoubleClick(sender As Object, e As EventArgs) Handles ListBox1.DoubleClick
 
        Dim Indicio As Integer = ListBox1.SelectedIndex
        Dim PDFExe As String = "AcroRd32.exe" ' El nombrer del lector pdf por defecto del sistema. AcroRd32 es AcrobatReader, Acrobat es Adobe Acrobat Pro
        Dim RutaDelFichero As String = DTA.Rows(Indicio)("Ruta")
        Dim FicheroPDF As String = DTA.Rows(Indicio)("Fichero")
        If System.IO.File.Exists(RutaDelFichero & "\" & FicheroPDF) Then  ' OK pero si nombre ne ListBox, entonces claro que existe ...
            System.Diagnostics.Process.Start(PDFExe, " " & RutaDelFichero & "\" & FicheroPDF)
        End If
    End Sub
 
' Aqui, no olvida cambiar la ruta "D:\Tmp\Eloy\"
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        For Each file As String In My.Computer.FileSystem.GetFiles("D:\Tmp\Eloy\", FileIO.SearchOption.SearchAllSubDirectories)
            DTA.Rows.Add(IO.Path.GetDirectoryName(file), IO.Path.GetFileName(file))
        Next
        ListBox1.DataSource = DTA
        ListBox1.DisplayMember = "Fichero"
        ListBox1.ValueMember = "Ruta"
    End Sub
 
End Class

Acrobat

...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 17
Ha aumentado su posición en 7 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Eliminar ruta del archivo

Publicado por eloy (9 intervenciones) el 25/01/2021 17:51:55
Muchas gracias.
Ahora si, funciona perfectamente, siento las molestias.
Créeme que le he dedicado muchas horas a averiguar como hacerlo.
De nuevo, muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar