Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: programatrix en 25 Diciembre 2005, 20:07 pm



Título: Cadenas...
Publicado por: programatrix en 25 Diciembre 2005, 20:07 pm
Pues tengo el siguiente problema. Tengo una vadena:
Citar
C:\posiblecarpeta\posiblefichero.extensión
Y de está cadena, necesito sacar lo del final. posiblefichero.extensión
Saludos  ::)


Título: Re: Cadenas...
Publicado por: alfafa en 26 Diciembre 2005, 00:17 am
Hay muchas maneras de hacerlo, yo te propongo lo siguiente: ir evaluando cada caracter desde la derecha hasta que encuentres "\", donde debes parar de evaluar y guardar desde esa posición el resto de la cadena (o ir añadiendo a una variable cada caracter que evaluas).

Un ejemplo de código sería, más o menos (optimízalo tu, solo es una idea):
Código:
'podemos hacerlo al apretar un botón (Command1) y con la cadena de texto en un textbox (Text1):
Private Sub Command1_Click()
Dim Cadena as String 'esta variable contendrá la cadena
Dim I as Integer 'declaramos una variable que servirá de contador
For I = Len(Text1.Text) to 1 Step -1 'evaluamos las posiciones desde el final, bajando (hacia la izquierda).
  If Mid(Text1.Text,I,1) = "\" then 'si el caracter que evaluamos es "\" ...
    Exit For '... paramos de evaluar y salimos del proceso
  Else ' sinó
    Cadena = Mid(Text1.Text,I,1) & Cadena 'ponemos el nuevo carácter al inicio de la cadena
  End If
Next
MsgBox Cadena 'mostramos la cadena o cualquier otra fucnión con ella. Puedes usar la cadena como quieras a partir de aquí.
End Sub

El código está hecho sin el VB, puede que se me haya escapado algun error de mecanografia, etc. Pretendo que entiendas la idea, no que lo copies al pie de la letra.
Espero que te sirva!!

Saludos.


Título: Re: Cadenas...
Publicado por: Slasher-K en 30 Diciembre 2005, 21:59 pm
Una más fácil:

Código:
Function GetFileTitle(Filename As String) As String
  On Error Resume Next

  GetFileTitle = Trim(Replace(Mid$(Filename, InStrRev(Filename, "\") + 1), vbNullChar, vbNullString))
End Function

Saludos.


Título: Re: Cadenas...
Publicado por: programatrix en 30 Diciembre 2005, 22:13 pm
Gracias Slasher-K, de todas maneras me funcionó muy bien la de alfafa.
Saludos  ::)