Programación General > Visual Basic 6.0 e inferiores
Cadenas??????
(1/1)
az8:
hola amigos tengo otro problema para variar.. jaja
necesito una funcion ke me extraiga caracteres de una linea de texto....
por ejemplo tengo la siguiente ruta:
c:\prueba\carpeta1
lo ke kiero extraer es la ultima cadena o sea "carpeta1"... pero siempre lo ke esta despues del ultimo "\"
espero me ayuden ... gracias
ELECTRONICO_44:
hola que tal mira eso lo he hecho con la funcion split que regresa un arreglo de palabras y puedes tomar la ultima posicion del arreglo concatenandola con &
que seria & "\" & ultimaposiciondelarreglo y listo
espero y te funcione
luciano2:
Te paso dos formas ( La primera solo si es un path)
La primera con el api GetFileTitle
--- Código: Text --- Private Declare Function GetFileTitle Lib "comdlg32.dll" Alias "GetFileTitleA" (ByVal lpszFile As String, ByVal lpszTitle As String, ByVal cbBuf As Integer) As IntegerFunction Extraer(PAth) As String Dim Buffer As String Buffer = String(255, 0) GetFileTitle PAth, Buffer, Len(Buffer) Extraer = Left$(Buffer, InStr(1, Buffer, Chr$(0)) - 1) End Function Private Sub Command1_Click()MsgBox Extraer("c:\carpeta\carpeta\carpeta\archivo.htm")End Sub
La segunda con la funcion InstrRev de visual basic
--- Código: Text --- Function Extraer(Cadena, Delimitador As String) As String Extraer = Right(Cadena, Len(Cadena) - InStrRev(Cadena, Delimitador)) End Function Private Sub Command1_Click()MsgBox Extraer("c:\carpeta\carpeta\carpeta\archivo.htm", "\")End Sub
saludos
Recursos visual basic
RadicalEd:
Utiliza la función Mid.
--- Código: Text ---cadena = "c:\prueba\carpeta1"var = Mid(cadena,10,8)Print var Se tiene una variable cadena, con la función se toma la cadena, el 10 es desde donde queremos empezar y el 8 la cantidad de caracteres a cojer.
Ojala te sirva.
Chao
Mollense:
Ante todo aclaro que no tengo instalado vb pero podés probar algo así:
--- Código: Text ---nombre = Right(ruta, Len(ruta)-InStrRev(ruta,"\"))
No estoy seguro si estoy escribiendo bien las funciones pero la idea es esta:
InStrRev(ruta,"\") debería devolverte la posición del último "\"
Por lo que Len(ruta)-InStrRev(ruta,"\") será equivalente al largo de el nombre del directorio ("carpeta1" en el caso de tu ejemplo).-
Por último Right te va a devolver los Len(ruta)-InStrRev(ruta,"\") caracteres de la derecha de la cadena ruta
Espero no estar diciendo sandeces :)
Navegación
Ir a la versión completa