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").
Pergunta
j4m35_b0nd
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:
Quando eu quero ler o nome de arquivo gravado, eu faço o seguinte
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.