11 Voto

Delphi/Lazarus: Cargar Byte Array desde MemoryStream

Pregunta de Invitado | 21/11/2023 a las 10:40

Recientemente leí el tutorial sobre matrices de bytes en Delphi y Lazarus. Muy útil, pero en este momento estoy desesperado por cargar un TMemoryStream en dicha matriz de bytes.

Se proporciona un memory stream y me gustaría copiar los bytes de este stream en una array de bytes. ¿Alguien puede ayudarme con eso?

ResponderPositivoNegativo
2Mejor Respuesta2 Votos

Ningún problema, en el siguiente ejemplo le mostraré cómo obtener los datos de un memory stream en una matriz de bytes.

var
  MS: TStream;
  BA_IN, BA_OUT: array of Byte;
begin   
  
  // crear algunos datos
  SetLength(BA_IN, 2);
  BA_IN[0] := $FF; 
  BA_IN[1] := $FE;

  // crear memory stream
  ms := TMemoryStream.Create;
  try   
    // escribir datos en el memory stream
    ms.WriteBuffer(BA_IN, 2);

    // leer los datos del memory stream a byte array
    ms.Position := 0;
    SetLength(BA_OUT, ms.Size);
    ms.Read(BA_OUT[0], ms.Size);
  finally
    ms.Free;
  end; 

end;

Para tener algo en nuestra stream, primero escribimos algunos bytes en la stream (array BA_IN). Luego escribimos el contenido de la stream en la matriz de bytes BA_OUT.
21/11/2023 a las 17:13

ResponderPositivo Negativo
Responder

Temas Relacionados

Aviso Importante

Por favor tenga en cuenta: Las contribuciones publicadas en askingbox.com son contribuciones de los usuarios y no deben reemplazar el asesoramiento profesional. No son verificados por independientes y no reflejan necesariamente la opinión de askingbox.com. Aprende más.

Participar

Haga su propia pregunta o escriba su propio artículo en askingbox.com. He aquí cómo.