Apagar tudo de arquivo de texto

15/05/2003

3

Sou iniciante em delphi e queria saber como apagar tudo o que estiver num arquivo de texto. Só isso :)


Responder

Posts

15/05/2003

Adriano Santos

procedure...
var
F : TextFile;

begin
{Deleta se existir}
if FileExists(´C:\Temp\Teste de Exclusao\MeuArquivo.txt´) then DeleteFile(´C:\Temp\Teste de Exclusao\MeuArquivo.txt´);

AssignFile(F, ´C:\Temp\Teste de Exclusao\MeuArquivo.txt´);
Rewrite(F);
ShowMessage(´Arquivo Criado´);
CloseFile(F);
end;


Responder

15/05/2003

Dcport

Uma segunda solução, que evita usar as rotinas de tratamento de arquivos antigas do Pascal, seria essa:

(supondo que TxtFileName: string contenha o nome do arquivo)
uses
Windows;

...

procedure...
var
FileHnd: Cardinal;

begin
FileHnd := CreateFile(
PAnsiChar(TxtFileName),
GENERIC_WRITE,
0,
nil,
TRUNCATE_EXISTING,
FILE_ATTRIBUTE_NORMAL,
nil);
CloseHandle(FileHnd);
end;

A chamada a CreateFile vai falhar se o arquivo não existir. Para que ela funcione sempre, use CREATE_ALWAYS no lugar de TRUNCATE_EXISTING.

-- dcport


Responder

15/05/2003

4_olho

Não seria mais fácil apagar o arquivo ?


Responder

15/05/2003

Adriano Santos

pelo fato dele ser iniciante, a princípio seria mais fácil ele apagar e recriar o arquivo, por isso minha resposta;.


Responder

16/05/2003

Pinguço

pelo fato dele ser iniciante, a princípio seria mais fácil ele apagar e recriar o arquivo, por isso minha resposta;.


Foi isso mesmo que eu fiz eu botei pra apagar e recriar... Vlw ai :)


Responder

17/05/2003

Dcport

O problema é que as funções de manipulação de arquivos do Pascal (AssignFile, Reset, CloseFile, etc) são ultrapassadas. O manual do Delphi 7 recomenda expressamente que elas não sejam mais utilizadas. Para bom entendedor, não haverá mais suporte para elas dentro de algum tempo.

Por isso recomendo utilizar as funções da API Windows ou as classes de streaming do Delphi para lidar com arquivos.


-- dcport


Responder