Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Recortar un texto

Estas en el tema de Recortar un texto en el foro de Visual Basic clásico en Foros del Web. Hola a tod@s. Alguien puede decirme como puedo acortar en tiempo de ejecución la ruta de un archivo, es decir, inicialmente tengo este texto: C:\Documentos\musica\cancion.mp3 ...
  #1 (permalink)  
Antiguo 04/03/2009, 14:11
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Recortar un texto

Hola a tod@s.

Alguien puede decirme como puedo acortar en tiempo de ejecución la ruta de un archivo, es decir, inicialmente tengo este texto:

C:\Documentos\musica\cancion.mp3

Quiero obtener en una label (label1.text) sólo el texto: cancion.mp3

alguna idea?

gracias
  #2 (permalink)  
Antiguo 04/03/2009, 14:31
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 5 meses
Puntos: 19
Respuesta: Recortar un texto

Te hise una funcion que le envias la ruta y te devuelve solamente el nombre del archivo...

Código:
Public Function Nombre_Archivo(Ruta As String)
Dim X As Integer
Dim Hasta As Integer

'Recorro de atras para adelante
For X = Len(Ruta) To 1 Step -1
    'separo caracter por caracter, hasta encontrar la marca que seria el \
    If Mid(Ruta, X, 1) = "\" Then
        'como encontre esa marca, significa que ya termino el nombre del archivo
        'entonces resto el largo total de toda la ruta, menosla posicion en la que encontre
        'ese resultado es el largo del nombre del archivo
        Hasta = Len(Ruta) - X
        Exit For
    End If
Next X

'separo de derecha a izquierda la cantidad de caracteres que corresponde al nombre del archivo
Nombre_Archivo = Right(Ruta, Hasta)
End Function
  #3 (permalink)  
Antiguo 04/03/2009, 14:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Recortar un texto

Muy buena! Gracias x la respuesta.

Me da un fallo aquí

Nombre_Archivo = Right(Ruta, Hasta)

Public read only propety right() AS integer : no tieneparametros y su tipo de valor devuelto no se puede indizar

ruta es string, puede ser x eso?
  #4 (permalink)  
Antiguo 04/03/2009, 15:11
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Recortar un texto

Bueno, yo no te hice ninguna función pero puedes probar con esto:

Código Visual Basic:
Ver original
  1. Dim s As String
  2.     s = Mid(Text1, InStrRev(Text1, "\") + 1, Len(Text1))
  3.     Label1.Caption = s

Se supone que en Text1 tienes la ruta y el nombre del archivo.

Saludos
  #5 (permalink)  
Antiguo 04/03/2009, 15:13
 
Fecha de Ingreso: marzo-2008
Mensajes: 383
Antigüedad: 16 años, 1 mes
Puntos: 5
Respuesta: Recortar un texto

ya funciona!!

en lugar de :

Right(ruta, Hasta)

esto:

Microsoft.VisualBasic.Right(ruta, Hasta)

funciona... cosas raras de visual basic
  #6 (permalink)  
Antiguo 04/03/2009, 15:17
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Recortar un texto

Cita:
Iniciado por cslbcn Ver Mensaje
ya funciona!!

en lugar de :

Right(ruta, Hasta)

esto:

Microsoft.VisualBasic.Right(ruta, Hasta)

funciona... cosas raras de visual basic
No! no es tan raro, si hubieras especificado que estás trabajando con VB.net la respuesta hubiera sido diferente.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:37.