Página 1 de 1
[VB6] sLen & sStrRev by Slek
Publicado: 30 Abr 2011, 21:06
por Slek
Bueno pues me aburría (por que parece que no prestan mucha atención a los retos...) y decidí hacer estas funciones.
sLen:
Código: Seleccionar todo
Function sLen(sStr As String) As Long
Dim A() As Byte
A = sStr
sLen = (UBound(A) + 1) / 2
End Function
sStrRev:
Código: Seleccionar todo
Function sStrRev(sStr As String) As String
Dim A() As Byte
Dim i As Long
A = sStr
For i = UBound(A) - 1 To 0 Step -2
sStrRev = sStrRev & Chr(A(i))
Next i
End Function
Pues nada,
Saludos!
Re: [VB6] sLen & sStrRev by Slek
Publicado: 01 May 2011, 04:14
por AX
Excelente Slek y muy buenas funciones.
Sigue así y saludos.
Re: [VB6] sLen & sStrRev by Slek
Publicado: 01 May 2011, 04:35
por Sir José
Gracias chico!
Buena Funcion!
Hasta,
Re: [VB6] sLen & sStrRev by Slek
Publicado: 01 May 2011, 19:12
por linkgl
Muy bien slek, aunque ya no uso mucho vb me cagaba tener que declarar la variable como byte para poder acceder a los caracteres por subíndices y aparte tener que dividirla entre 2 porqué según recuerdo te dejaba el caracter y un byte en blanco después no?, xD bonitas las funciones :P.
Re: [VB6] sLen & sStrRev by Slek
Publicado: 01 May 2011, 20:41
por Slek
linkgl escribió:Muy bien slek, aunque ya no uso mucho vb me cagaba tener que declarar la variable como byte para poder acceder a los caracteres por subíndices y aparte tener que dividirla entre 2 porqué según recuerdo te dejaba el caracter y un byte en blanco después no?, xD bonitas las funciones :P.
Sii, es que las Strings son: La letra en Ascii seguido de un carácter nulo (0) xD
Muchas gracias a todos :D
Saludos!!
Re: [VB6] sLen & sStrRev by Slek
Publicado: 02 May 2011, 00:14
por linkgl
Slek escribió:linkgl escribió:Muy bien slek, aunque ya no uso mucho vb me cagaba tener que declarar la variable como byte para poder acceder a los caracteres por subíndices y aparte tener que dividirla entre 2 porqué según recuerdo te dejaba el caracter y un byte en blanco después no?, xD bonitas las funciones :P.
Sii, es que las Strings son: La letra en Ascii seguido de un carácter nulo (0) xD
Muchas gracias a todos :D
Saludos!!
Jeje cierto, y lo que pasa es que las strings en vb no son ascii, son unicode no? jeje prefiero acceder al caracter por el arreglo que hay en las cadenas en cualquier otro lenguaje como C, python, php, etc... Gusto en saludarte x)
Re: [VB6] sLen & sStrRev by Slek
Publicado: 02 May 2011, 00:50
por Slek
linkgl escribió:Jeje cierto, y lo que pasa es que las strings en vb no son ascii, son unicode no? jeje prefiero acceder al caracter por el arreglo que hay en las cadenas en cualquier otro lenguaje como C, python, php, etc... Gusto en saludarte x)
Claro, la string en si es unicode, pero la string está formada por los caracteres en ascii:
La string "Hola" está en unicode, pero está formada por:
Chr(72) & Chr(0) & Chr(111) & Chr(0)... es decir, quedaría en el array de bytes 72 00 111 00 ...
Saludos!!
Re: [VB6] sLen & sStrRev by Slek
Publicado: 02 May 2011, 02:58
por linkgl
Slek escribió:linkgl escribió:Jeje cierto, y lo que pasa es que las strings en vb no son ascii, son unicode no? jeje prefiero acceder al caracter por el arreglo que hay en las cadenas en cualquier otro lenguaje como C, python, php, etc... Gusto en saludarte x)
Claro, la string en si es unicode, pero la string está formada por los caracteres en ascii:
La string "Hola" está en unicode, pero está formada por:
Chr(72) & Chr(0) & Chr(111) & Chr(0)... es decir, quedaría en el array de bytes 72 00 111 00 ...
Saludos!!
Jeje sí era lo que tenía entendido x) por eso me gusta mas manejar los bucles en los que tienes que manejar los caracteres de una string en un lenguaje que no sea vb porque es la cadena + el caracter nulo 0x00 o \0 x)
Re: [VB6] sLen & sStrRev by Slek
Publicado: 09 May 2011, 04:00
por Spectrus
Hola Slek, el UBound que es y que hace? Saludos.
Re: [VB6] sLen & sStrRev by Slek
Publicado: 09 May 2011, 19:01
por Slek
SpectruS escribió:Hola Slek, el UBound que es y que hace? Saludos.
UBound es una función de VB6 que devuelve el valor máximo que tiene el array que le pasas como parámetro.
LBound es prima-hermana de la anterior, solo que esta última devuelve el valor mínimo del array (por defecto en 0)
Ejemplo:
Dim Matriz1(5 to10) as String
Msgbox UBound(Matriz1) 'Muestra 10
Msgbox LBound(Matriz1) 'Muestra 5
Nota: Si omites el "5 to", el LBound será 0 (por defecto)
Espero que se entienda, si tienes cualquier otra duda, sientete libre de preguntar :D
Saludos!
Re: [VB6] sLen & sStrRev by Slek
Publicado: 09 May 2011, 19:05
por Spectrus
Entendido perfectamente, gracias Slek :)
Re: [VB6] sLen & sStrRev by Slek
Publicado: 10 May 2011, 22:12
por [C]ode[I]nfected
Justo iba a preguntar para que servían eran pero ya vi que lo resolviste.
Gracias Slek