Jump to content
Fórum Script Brasil
  • 0

Ler uma String dentro de um TFileStream


j4m35_b0nd

Question

Pessoal. Uma ajudinha por favor.

Eu criei uma classe que herda o TFileStream. No create da minha classe eu escrevo algumas coisas dentro do arquivo carregado, incluíndo o nome de um outro arquivo da seguinte forma:

var

Tamanho_Nome: Byte;

Nome_Arquivo: String;

begin

Nome_Arquivo := 'Arquivo de imagem.jpg';

Tamanho_Nome := Length(Nome_Arquivo);

Position := 0;

Write(Tamanho_Nome, SizeOf(Tamanho_Nome));

Write(Nome_Arquivo[1], Tamanho_Nome);

end;

Quando eu quero ler o nome de arquivo gravado, eu faço o seguinte

var

PosAtual: Int64;

Tamanho: Byte;

begin

PosAtual := Position;

try

Position := 0;

Read(Tamanho, 1);

SetLength(Result, Tamanho);

Read(Result[1], Tamanho);

finally

Position := PosAtual;

end;

Quando eu instancio a minha classe criando um arquivo (fmCreate) pela primeira vez, eu consigo ler o nome gravado dentro dele sem problemas. Porém, quando eu instancio a minha classe abrindo para leitura (fmCreate) um arquivo criado anteriormente, ele não retorna o nome

correto do arquivo (retorna coisas como "Arquivo de saoArquivo", ou então "Arquivo de").

Alguém sabe me dizer o que eu fiz de errado?

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...