11 Vote

Delphi/Lazarus: Écrire Stream dans Stream

Question de Invité | 07/01/2024 à 15:57

Je voudrais écrire le contenu d'un Stream dans un autre Stream.

Par exemple, le contenu de certains TFileStream dans un TMemoryStream arbitraire.

Comment puis-je atteindre cet objectif?

RépondrePositifNégatif
1Meilleure Réponse1 Vote

En supposant que vous ayez deux Streams, StreamA et StreamB, vous pouvez copier le contenu de StreamB vers StreamA à l'aide du code suivant:

StreamB.Position := 0;
StreamA.CopyFrom(StreamB, StreamB.Size);

Il est important de définir d'abord la position sur 0. Sinon (si la position actuelle du Stream n'est pas 0), il ne sera pas copié depuis le début du Stream (sauf, bien sûr, si vous souhaitez uniquement copier une partie du flux commençant quelque part au milieu).

Le deuxième paramètre de CopyFrom est la longueur qui doit être copiée. En passant "StreamB.Size", toute la longueur du flux est copiée, avec des valeurs inférieures à la taille du flux, il est possible de copier seulement une partie du Stream.
07/01/2024 à 19:10

RépondrePositif Négatif
Répondre

Sujets Connexes

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.