Enviar Stream p/ TMemIniFile

Delphi

31/01/2005

Senhores,

Eu preciso pegar um conteúdo de um campo do tipo BLOB gravado em um banco de dados e por numa variável do tipo TMemIniFile. A minha dúvida é existe alguma maneira de fazer isso sem ter que gravar no disco primeiro?

Agradeço desde já pela ajuda,


Chmeireles

Chmeireles

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

31/01/2005

não sei se entendi bem, mas tente isso:

var
  Stream: TStream;
begin
  Stream := TMemoryStream.Create;
  try
    TBlobField(Campo).SaveToStream(Stream);
    IniFile.WriteBinaryStream(´Seção´, ´Blob´, Stream);
  finally
    Stream.Free;
  end;
end;


Não tenho certeza sobre os parametros do WriteBinaryStream mas se não for isso é algo parecido

A idéia é que ele copia o conteúdo do campo para a memória e depois salva no Ini o conteúdo em Hexadecimal em forma de texto.


GOSTEI 0
Chmeireles

Chmeireles

31/01/2005

Hum! Infelizmente não deu certo.

Eu tenho algumas configurações sobre o sistema gravadas numa tabela no banco de dados. São informações do tipo, quantos usuários poderão acessar o programa simultaneamente, data de expiração do sistema, etc... Esses dados são criptografados para que nenhum abelhudo veja essas configurações ao abrir o banco. Eu já tenho como criptografar e descriptografar variáves do tipo Tstream, o problema que não queria que fosse gravado arquivo temporário em disco, pois se for assim, qualquer usuário poderá alterar.

Na verdade eu não entendo muito bem o funcionando deste WriteBinaryStream.

Mas valeu a intenção Marcelo, obrigado pela sua dica.


GOSTEI 0
POSTAR