Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
iDnl Aprendiz
Registrado: Domingo, 9 de Junho de 2013 Mensagens: 173
|
Enviada: Seg Fev 15, 2016 11:49 pm Assunto: Copiar MemoryStream aos poucos para FileStream |
|
|
Carrego em uma MemoryStream um arquivo de aproximadamente 250KBs, e preciso passar para um FileStream o arquivo todo de 16KBs em 16KBs, e fazer um acompanhamento com uma progressbar, qual o jeito mais simples de fazer isso?
Obrigado |
|
Voltar ao Topo |
|
|
strak2012 Colaborador
Registrado: Segunda-Feira, 13 de Janeiro de 2014 Mensagens: 1518 Localização: Maceió - AL
|
Enviada: Ter Fev 16, 2016 12:30 am Assunto: |
|
|
Código: | procedure CopyMemoryStreamToFileStream(const MemoryStream: TMemoryStream;
var FileStream: TFileStream; ProgressBar: TProgressBar);
const
_16kbs = 1024 * 16;
var
Blocs, I: integer;
begin
Blocs := MemoryStream.Size div _16kbs;
if Blocs * _16kbs < MemoryStream.Size then
inc(Blocs);
ProgressBar.Max := Blocs;
for I := 0 to Blocs-1 do
begin
MemoryStream.Position := I * _16kbs;
FileStream.CopyFrom(MemoryStream, _16kbs);
ProgressBar.Position := I;
end;
end; |
_________________ Tudo podemos quando tudo sabemos!
Editado pela última vez por strak2012 em Ter Fev 16, 2016 1:44 pm, num total de 1 vez |
|
Voltar ao Topo |
|
|
iDnl Aprendiz
Registrado: Domingo, 9 de Junho de 2013 Mensagens: 173
|
Enviada: Ter Fev 16, 2016 12:42 am Assunto: |
|
|
Obrigado cara, eu estava tendo dificuldades em percorrer, mas agora minhas dúvidas estão claras.
Vlw! |
|
Voltar ao Topo |
|
|
|