Underc0de

Programación General => Visual Basic => Mensaje iniciado por: k0ws en Enero 04, 2014, 08:41:28 PM

Título: Len Alternativo
Publicado por: k0ws en Enero 04, 2014, 08:41:28 PM
Bueno, el codigo es una estupidez, pero se me paso por la cabeza y es similar al StrRev Alternativo que postee hace horas.Aqui os lo dejo.

Código (VB) [Seleccionar]
'##############################
'## Len Alternativo          ##
'## Author: k0ws             ##
'##############################
Public Function Len_Alter(Palabra As String)
Dim a As Long
Dim b() As Byte
Dim c As Integer
b = StrConv(Palabra, vbFromUnicode)
For a = 0 To UBound(b())
c = c + 1
Next a
Len_Alter = c
End Function


EDITADO:

Una pequeña modificacion gracias a Pink y M3:

Código (vb) [Seleccionar]
Public Function Len_Alter(Palabra As String)
Dim b() As Byte
b = StrConv(Palabra, vbFromUnicode)
Len_Alter = UBound(b()) + 1
End Function


-Saludos-
Título: Re:Len Alternativo
Publicado por: ANTRAX en Enero 04, 2014, 09:01:26 PM
Genial k0ws!! andas a full!
Felicitaciones por el codigo!

Saludos!
ANTRAX
Título: Re:Len Alternativo
Publicado por: k0ws en Enero 06, 2014, 06:18:30 PM
Una pequeña modificacion gracias a Pink y M3:

Código (vb) [Seleccionar]
Public Function Len_Alter(Palabra As String)
Dim b() As Byte
b = StrConv(Palabra, vbFromUnicode)
Len_Alter = UBound(b()) + 1
End Function


-Saludos-
Título: Re:Len Alternativo
Publicado por: 79137913 en Febrero 10, 2014, 10:17:55 AM
HOLA!!!

Te paso estas 2 variantes (muy rapidas):

Código (vb) [Seleccionar]
    Public Function Len_Alter_7913(Expression As String) as long
        Dim b() As Byte
        b = Expression
        Len_Alter_7913 = (UBound(b()) + 1) / 2
    End Function

    Public Function Len_Alter_7913_2(Expression As String) As Long
        Len_Alter_7913_2 = LenB(Expression) / 2
    End Function


GRACIAS POR LEER!!!