A minha dica não precisaria usar classe.
procedure FileContentErase(const AFileName: TFileName);
var
lArq: File;
begin
if FileExists(AFileName) then
begin
AssignFile(lArq, AFileName);
// abre o arquivo e posiciona no início
Reset(lArq, 1);
// trunca o conteúdo do arquivo a partir da posição atual
Truncate(lArq);
// fecha o arquivo
CloseFile(lArq);
end;
end;
A diferença é que este método não mexe na data de criação do arquivo, uma
vez que ele apenas abre e reescreve (por assim dizer) o conteúdo do arquivo.
Se houver a necessidade de se manter a data de criação do arquivo, essa
rotina é ideal. E melhor ainda, funciona pra qualquer tipo de arquivo,
independente de ser arquivo texto ou não.
Sds.
De: delphi-br@yahoogrupos.com.br [mailto:delphi...@yahoogrupos.com.br] Em
nome de Vitor Yahoo
Enviada em: quarta-feira, 3 de março de 2010 12:16
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Re: [lista-delphi] Apagar conteúdo de Arquivo TXT
Tem um jeito que eu considero mais tranqüilo ainda:
Var
VStr : TStrings;
Begin
VStr := TStringList.Create( );
VStr.LoadFromFile( arquivo.txt );
VStr.Text := ;
VStr.SaveToFile( arquivo.txt );
VStr.Free( )
End;
_
De: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
[mailto:delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
] Em
nome de Marcos Abreu Ferreira
Enviada em: quarta-feira, 3 de março de 2010 11:21
Para: lista-del...@yahoogrupos.com.br
mailto:lista-delphi%40yahoogrupos.com.br
Cc: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br
Assunto: [delphi-br] Re: [lista-delphi] Apagar conteúdo de Arquivo TXT
Augusto,
tenta assim...
*var*
* arq: TextFile;*
* txtArq: String;*
*begin*
* txtArq := 'C:\windows\ERP\log_sistema.text';*
* if FileExists(txtArq) then*
* begin
*
* AssignFile(arq, txtArq);*
* Rewrite(arq);*
* WriteLn(arq, '');*
* CloseFile(arq);*
* end;*
*end;*
Att,
Marcos A. Ferreira
São Paulo - Brasil
(+55) 11 9309-3936
MSN: maferre...@hotmail. mailto:maferreira%40hotmail.it it
Google Talk: maf.decisiva
Skype: m_abreuferreira
LinkedIn: http://www.linkedin http://www.linkedin.com/in/maferreira/
.com/in/maferreira/
Esta mensagem pode conter informação confidencial e/ou privilegiada. Se você
não for o destinatário ou a pessoa autorizada a receber esta mensagem, não
pode usar, copiar, ou divulgar as informações nela contidas ou tomar
qualquer ação baseada nestas informações. Se você recebeu esta mensagem por
engano, por favor, avise imediatamente o remetente, respondendo o email e em
seguida, apague-o.
Agradecemos sua cooperação.
This message may contain confidential and/or privileged information. If you
are not the addressee or authorized to receive this for the addressee, you
must not use, copy, disclose or take any action based on this message or any
information herein. If you have received this message in error, please,
advise the sender immediately by reply e-mail and delete this message.
Thank you for your cooperation.
Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO
AMBIENTE.
ENVIRONMENT commitment and responsibility, think about Before Printing.
Em 3 de março de 2010 10:33, Augusto Bondan Nascimento
augustobondan@ mailto:augustobondan%40gmail.com gmail.com escreveu:
Estou tendo dificuldades em apagar o conteúdo de um arquivo texto.
por exemplo:
AssignFile(f,'c:\windows\ERP\log_sistema.text');
if fileExists('C:\windows\ERP\log_sistema.text') then
begin
Append(f)
rewrite(F);
erase(f);
closefile(F);
end;
O código não está com todos esses comandos, mas gostaria de saber qual
deles
consegue apagar o que está escrito no arquivo.
Não quero deletar o arquivo, apenas o conteúdo. Achei que o comando
erase(f) conseguiria, mas não funciona.
Atenciosamente;
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]
[As partes desta mensagem que não continham texto foram removidas]