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
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:
....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 !