Apagar tudo de arquivo de texto
Sou iniciante em delphi e queria saber como apagar tudo o que estiver num arquivo de texto. Só isso :)
Pinguço
Curtidas 0
Respostas
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;
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
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
(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
15/05/2003
Não seria mais fácil apagar o arquivo ?
GOSTEI 0
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
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
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
Por isso recomendo utilizar as funções da API Windows ou as classes de streaming do Delphi para lidar com arquivos.
-- dcport
GOSTEI 0