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

[0] Índice de Mensajes

Ir a la versión completa