Apagar tudo de arquivo de texto

Delphi

15/05/2003

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


Pinguço

Pinguço

Curtidas 0

Respostas

Adriano Santos

Adriano Santos

15/05/2003

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;


GOSTEI 0
Dcport

Dcport

15/05/2003

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


GOSTEI 0
4_olho

4_olho

15/05/2003

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


GOSTEI 0
Adriano Santos

Adriano Santos

15/05/2003

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


GOSTEI 0
Pinguço

Pinguço

15/05/2003

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 :)


GOSTEI 0
Dcport

Dcport

15/05/2003

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


GOSTEI 0
POSTAR