Modificar A Uno O Más Carácteres De Una Cadena Con "Memory Stream"


Objetivo: Modificar A Uno O Más Carácteres De Una Cadena Con "Memory Stream"
Vamos, amigos, con la...... stream-mania!

Bueno,
como sabemos, el recurso de los Memory Stream permite leer o escribir dentro de un área reservada de memoria apuntada por una variable de tipo Pointer. Más en general, los Punteros permiten obrar dentro de un área de memoria, allocata de nosotros o allocata de otro recurso.
Será pues posible a través de las variables de tipo Pointer y de tipo Stream modificar a uno o más carácteres de un texto contenido en una variable de tipo String.

Ejemplo:
Public Sub Main()

Dim p As Pointer
Dim st As Stream
Dim s As String


' Asignamos un texto a la variable de tipo "String":
s = "gambas"

' Asignamos la variable "s" a un "Puntero":
p = VarPtr(s)

' Creamos la variable de tipo "Stream" para escribir:
st = Memory p For Write

' Vamos ahora a escribir un valor (por ejemplo el carácter de "fin raya") en el 4° byte del área de memoria apuntada por la variable "s":
Seek #st, 3
Write #st, &0A As Byte

' Cerramos el flujo:
st.Close

' ...vamos a ver en la variable String "s" la modificación:
Print s

End

última edición por vuott el Jueves, 30 Octobre 2014, 12:40; editado 2 veces
Perfil MP  
Objetivo: Re: Modificar A Uno O Más Carácteres De Una Cadena Con "Memory Stream"
Interesante.

Vuott +1

Perfil MP  
Objetivo: Re: Modificar A Uno O Más Carácteres De Una Cadena Con "Memory Stream"
Gracias, shordi.

última edición por vuott el Jueves, 30 Octobre 2014, 23:55; editado 7 veces
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.4049s (PHP: -76% SQL: 176%)
Consultas SQL: 47 - Debug off - GZIP Activado