elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  obtener longitud de una cadena sin LEN
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: obtener longitud de una cadena sin LEN  (Leído 8,707 veces)
LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: obtener longitud de una cadena sin LEN
« Respuesta #10 en: 7 Septiembre 2011, 11:37 am »

Hola otra opcion con apis


Código:
Option Explicit
Private Declare Function lstrlenW Lib "kernel32" (ByVal lpString As Long) As Long
Private Sub Form_Load()
    Dim s As String
    s = "Hola mundo"
    MsgBox lstrlenW(StrPtr(s))
End Sub

EDIT:  ahora que recuerdo si dentro de la cadena tenes un Nullchar chr(0) solo te cuenta hasta esa posición


« Última modificación: 7 Septiembre 2011, 19:06 pm por LeandroA » En línea

Psyke1
Wiki

Desconectado Desconectado

Mensajes: 1.089



Ver Perfil WWW
Re: obtener longitud de una cadena sin LEN
« Respuesta #11 en: 10 Septiembre 2011, 02:24 am »

La forma más rápida que sé de hacerlo es esta:
Código
  1. Option Explicit
  2.  
  3. Private Sub Form_Load()
  4. Dim s$
  5.    s = "Hola mundo"
  6.    MsgBox LenB(s) \ 2
  7. End Sub

La función LenB() te devuelve la longitud en Bytes de una cadena, después dividimos entre dos y ya está. :rolleyes:
Los test que hice cuando programaba me dieron esta conclusión en cuanto a rapidez se refiere:
Código:
Lenb\2 > Len() > lstrlenW()


@BlackZeroX▓▓▒▒░░: Dios mío, había olvidado la dedicación que pones en tus explicaciones. :D

DoEvents! :P


En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines