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").
Question
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 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.