Visual Basic - Buscar en una cadena

Life is soft - evento anual de software empresarial
 
Vista:

Buscar en una cadena

Publicado por Pedro Perez (2 intervenciones) el 08/11/2005 16:38:56
Buenas gente, lo q me gustaria es buscar en una cadena el caracter "\" y que me diga en que posicion está, ya que lo q quiero hacer es cojer un nombre x ejemplo

c:\prueba\carpeta1\archivo.pdf

de esa cadena me gustaria cojer "archivo.pdf" lo que paxa q no siempre es la misma ruta, como lo podria hacer?? un saludo gente
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

RE:Buscar en una cadena

Publicado por ivan (463 intervenciones) el 08/11/2005 17:13:22
Usa la función InStr, la cual te sirve para buscar una cadena dentro de otra cadena.

Estos son los ejemplos que vienen en la ayuda del Visual Basic

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' Cadena en la que se busca.
SearchChar = "P" ' Se busca "P".
' Una comparación textual que comienza en la posición 4. Devuelve 6.
MyPos = Instr(4, SearchString, SearchChar, 1)
' Una comparación binaria que comienza en la posición 1. Devuelve 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' La comparación es binaria por configuración predeterminada (si se omite el último argumento).
MyPos = Instr(SearchString, SearchChar) ' Devuelve 9.
MyPos = Instr(1, SearchString, "W") ' Devuelve 0.

También puedes usar la funcióm MID la cual te sirve para obener una cadena desde otra cadena

Suerte....
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

RE: Algo mas simple

Publicado por Ramon (90 intervenciones) el 08/11/2005 17:25:15
Dim cadena As String
cadena = "C:\Windows\System32\url.exs"
cadena = Right$(cadena, Len(cadena) - InStrRev(cadena, "\", , vbTextCompare))
Label1.Caption = cadena ' cadena ahora es "url.exs"
Saludos
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

RE:Buscar en una cadena

Publicado por jose carlos (340 intervenciones) el 08/11/2005 17:22:33
crea un form con un label1, un text1 y un commandboton

y pon estas líneas:

Private Sub Command1_Click()

Text1 = "c:\hola\pepito\como estas\archivo.txt"

p = InStr(1, Text1, "\")
For x = p To Len(Text1)
q = InStr(x, Text1, "\")
If q <> 0 Then p = q: x = p + 1: Debug.Print p
Next
cadenabuscada = Right(Text1, Len(Text1) - p)
Label1 = cadenabuscada
End Sub

comentarios, p toma el valor de la primera vez que aparece "\"
q detecta la segunda aparición y la adjudica a p, la variable x toma el valor siguiente al encontrado, este proceso se repite hasta que sobrepase a la última aparición de "\" que será el valor que tiene p, en la ventana del debug te aparecerán los números de los lugares que ocupan las sucesivas apariciones de "\"

saludos
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

RE:Buscar en una cadena

Publicado por PEDROPEREZ (2 intervenciones) el 08/11/2005 18:11:57
Gracias Gente sois unos crack´s me han funcionado todas las formas, la sencilla era como yo intentaba probar pero no lo conseguia, muchas gracias gente os debo una

Un saludo
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