Como sacar el ultimo caracter de una variable

Iniciado por Edu, 4 Septiembre 2010, 02:55 AM

0 Miembros y 1 Visitante están viendo este tema.

Edu

Eso mismo, como saco el ultimo caracter de una variable?
por ejemplo la variable equivale a "elhackerg" y quiero q quede "elhacker", es con eso de righ$ y left$ o mid$, pero la verdad no puedo hacerlo a ver qien me ayuda..

Karcrack

Te recomiendo que te mires algun tuto basico sobre manejo de cadenas...
Hay varias formas, mira:
Código (vb) [Seleccionar]
    Dim sText       As String
   
    sText = "elhackerg"
   
    MsgBox Left$(sText, Len(sText) - 1)
    MsgBox Mid$(sText, 1, Len(sText) - 1)


Saludos ;)

Edu

Sabes q me da error..
esque acuerdate de ni nombre y cuando vayas a contestarme algo pensalo 2 veces a ver si no me habre complicado las cosas yo xD
esque mi code es asi:

Código (vb) [Seleccionar]

Option Explicit
Dim FF As Integer
Dim variable As String, texto As String


Private Sub Command1_Click()
FF = FreeFile
Open App.Path & "/hosts.txt" For Input As #FF

Do

Line Input #FF, variable

texto = Left$(variable, Len(variable) - 1)

Text1.Text = Text1.Text & vbCrLf & texto

Loop While EOF(FF) = False



End Sub


Q hago mal? me da error eso asi..

Karcrack

Me funciona perfectamente...
Private Sub Command1_Click()
   Dim variable    As String
   Dim texto       As String
   
   Open App.Path & "\hosts.txt" For Input As #1
       Do
           Line Input #1, variable
           texto = Left$(variable, Len(variable) - 1)
           Text1.Text = Text1.Text & vbCrLf & texto
       Loop While Not EOF(1)
   Close #1
End Sub


Unos consejos:
-A no ser que necesites acceder a las variables desde otras funciones es una buena costumbre añadirlas dentro del procedimiento donde las usas.
-Identa tus codigos.

Un saludo ;)

Edu

Copie y pegue tu codigo y asi tampoco me anda.. me salta error de q esta mal la llamada al procedimiento o funcion, por lo de left$, esa linea me sale erronea, pero dices q a vs te anduvo perfectamente.. ahora prueba con un .txt q tenga mas de 1 linea a ver q pasa..

Karcrack

Cita de: XXX-ZERO-XXX en  4 Septiembre 2010, 03:33 AM
Copie y pegue tu codigo y asi tampoco me anda.. me salta error de q esta mal la llamada al procedimiento o funcion, por lo de left$, esa linea me sale erronea, pero dices q a vs te anduvo perfectamente.. ahora prueba con un .txt q tenga mas de 1 linea a ver q pasa..
Lo probe con el fichero "C:\boot.ini" que tiene mas de una linea... Prueba a reiniciar el VB a ver... a mi hace tiempo me saltaban errores en algunas funciones propias... si no prueba a reemplazar Left$() por Left() :-\

Edu

Ya me di cuenta, lo q pasa es q yo probe lo de righ$ y eso, algo se de vb6 solo q hace poco aprendi todo, pero el problema era q el hosts.txt tenia 100 lineas vacias al principio y entonces la variable seria 0 y con el len(variable) - 1 quedaria -1 xD

Ahora eso como solucionarlo no lo se pero voy a probar, de seguro me sale, gracias por los consejos y por ayudarme karcrack

BlackZeroX

No vi Right$() asi que lo pongo!¡.

Código (Vb) [Seleccionar]


Private Sub Form_Load()
Const TmpStr$ = "Hola, Veronica?"
   MsgBox Right$(TmpStr$, 1)
End Sub



Dulces Lunas!¡.
The Dark Shadow is my passion.

Edu

No es lo q pedia pero gracias igual, yo ya se usar esos comandos solo q me daban error porq el .txt tenia lineas sin nada, en blanco, y entonces puse solo un if variable <> "" then.. y me arregle por ahi xD

Voy a cerrar el tema mejor, gracias a todos

pd: Si pudiera cerrarlo.. xD