...parecido A String.Len()


Objetivo: ...parecido A String.Len()
Este codigo funciona como la función String.Len().

Public Sub Main()

Dim s As String
Dim i As Integer
Dim p As Pointer

s = "Enseñé filosofía en Cádiz."

Do

Inc i
' La Cadena es un "Puntero" inicializado que apunta a una area de memoria que contiene los caracteres del texto.
' Nosotros podemos movernos dentro de aquel área como si fuera una especie di stream o array.
p = VarPtr(s) + i

' Las Cadenas siempre terminan con un valor '\0'.
' Dereferenciando el "Puntero", si la celda de memoria, apuntada "en ese momento" de el "Puntero",
' contiene un valor = 0, el programa sale de el bucle:
Loop Until Byte@(p) = 0

Print i

End



Más breve:
Public Sub Main()

Dim s As String
Dim i As Integer

s = "Enseñé filosofía en Cádiz."

While Byte@(VarPtr(s) + i) > 0
Inc i
Wend

Print i

End




....lo sé, lo sé: String.Len() es más breve y más fácil. ......pero ahora no es un buen momento para contarle a todo el mundo !

última edición por vuott el Sabado, 19 Marzo 2016, 21:15; editado 2 veces
Perfil MP  
Objetivo: Re: ...parecido A String.Len()
Al menos no usaste ninguna función de cadena.

Objetivo: Re: ...parecido A String.Len()
Citar:


....lo sé, lo sé: String.Len() es más breve y más fácil. ......pero ahora no es un buen momento para contarle a todo el mundo !
+1

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.3879s (PHP: -80% SQL: 180%)
Consultas SQL: 45 - Debug off - GZIP Activado