File Name
Como hago para que en el caption del formulario de una aplicación me aparezaca el nombre del archivo con que guardo los datos en el discpo duro.
Los datos los estoy guardando por medio del conmmon Dial. lo que estaba haciendo era poner el caption = CD.filename pero esto me pone toda la ruta del archivo y solo necesito que me salga el nombre.
Agradezco su ayuda
Los datos los estoy guardando por medio del conmmon Dial. lo que estaba haciendo era poner el caption = CD.filename pero esto me pone toda la ruta del archivo y solo necesito que me salga el nombre.
Agradezco su ayuda
Pues simplemente extrae de esa variable el nombre del archivo, buscando la última barra "" y ya está.
una manera sería:
a = 1
Do While InStr(a, cd.filename, "") > 0
a = a + 1
Loop
Text1 = Mid(cd.filename, a)
otra forma, algo más "lógica" sería:
a = 1
Do While InStr(a,cd.filename, "") > 0
a = InStr(a, cd.filename, "") + 1
Loop
Text1 = Mid(cd.filename, a)
La única diferencia entre ambas opciones es que la primera va "caminando" letra a letra hasta que no queden barras en el texto, mientras que la segunda va saltando de barra en barra, por lo tanto más efectivo. De cualquier manera, visual basic lo hará tan rápido que cualquiera de los dos métodos te servirán.
saludos
una manera sería:
a = 1
Do While InStr(a, cd.filename, "") > 0
a = a + 1
Loop
Text1 = Mid(cd.filename, a)
otra forma, algo más "lógica" sería:
a = 1
Do While InStr(a,cd.filename, "") > 0
a = InStr(a, cd.filename, "") + 1
Loop
Text1 = Mid(cd.filename, a)
La única diferencia entre ambas opciones es que la primera va "caminando" letra a letra hasta que no queden barras en el texto, mientras que la segunda va saltando de barra en barra, por lo tanto más efectivo. De cualquier manera, visual basic lo hará tan rápido que cualquiera de los dos métodos te servirán.
saludos
Terminas antes si utilizas la función InstrRev, es
igual que InStr pero busca de derecha a izqierda.
Ejemplo:
Private Sub Form_Load()
Dim rutaArch As String ' esta variable sustituye a Cd.FileName en este ejemplo
Dim nombreArch As String
Dim posBarra As Long
rutaArch = "c:carpetaarchivo.ext"
posBarra = InStrRev(rutaArch, "")
nombreArch = Right$(rutaArch, Len(rutaArch) - posBarra)
MsgBox "El archivo se llama: " & nombreArch
End Sub
igual que InStr pero busca de derecha a izqierda.
Ejemplo:
Private Sub Form_Load()
Dim rutaArch As String ' esta variable sustituye a Cd.FileName en este ejemplo
Dim nombreArch As String
Dim posBarra As Long
rutaArch = "c:carpetaarchivo.ext"
posBarra = InStrRev(rutaArch, "")
nombreArch = Right$(rutaArch, Len(rutaArch) - posBarra)
MsgBox "El archivo se llama: " & nombreArch
End Sub