Ir para conteúdo
Fórum Script Brasil
  • 0

Ler uma String dentro de um TFileStream


j4m35_b0nd

Pergunta

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 para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...