Como Substituir arquivo?

Delphi

29/03/2008

Boa noite :shock:

Pessoal, estou querendo fazer algo simples,
Estou querendo substituir um arquivo do windows, Por outro
através do programa, Sem aparecer aquela janela avisando
sobre a substituição,
Ou então apagar o arquivo antigo e criar outro no mesmo local, com
o mesmo nome;
Sendo assim eu irei atualizar o arquivo

Como proseguir?

Abraços


Psycho

Psycho

Curtidas 0

Respostas

Rodc

Rodc

29/03/2008

DeleteFile() - remove um arquivo do disco
FileCreate() - cria um arquivo
RenameFile() - renomeia um arquivo
CopyFileTo() - copia um arquivo


GOSTEI 0
Psycho

Psycho

29/03/2008

Sim, Mais da maneira que estou querendo fazer aparece
um error, veja bem :shock:
Estou querendo substituir um arquivo texto escrito por outro do mesmo
nome, Só que sem nada dentro 0 bytes
para isso eu apenas crio o arquivo com o nome:

begin
filecreate(´C:\Documentos\info.txt´);


Blz ele cria o arquivo normal,
Mais agora eu quero escrever nele..
Eu sei que podia ir direto substituir o arquivo pela escrita com o code
abaixo, mais quero primeiro substituir o arquivo por outro
zerado 0 bytes, e depois escrever nele

Mais quando junto as 2 funções aparece error na linha que abre
o arquivo pra escrita pq ? :

Var
  F:TextFile;
 Begin
   AssignFile(f,´C:\Documentos\info.txt´);
   Rewrite(f); //abre o arquivo para escrita

   Writeln(f,´Leia-me´); //escreve no arquivo e desce uma linha

   Write(f,´versão 1.2 teste´); //escreve no arquivo sem descer a linha
   Closefile(f); //fecha o handle de arquivo
end.  


:shock:

Será que quando a 2 função vai abrir o arquivo texto para escrita, a 1 função ainda não criou o arquivo no diretorio gerando um conflito ?

pergunto isso pq aparece um error na linha que abre o arquivo pra escrita, depois de compilar

Rewrite(f);

Porque isso acontece? como arrumar isto?!

T+


GOSTEI 0
Psycho

Psycho

29/03/2008

Alguém ae pode dar uma mãozinha coisa simples,
Só que aqui aparece o error ´I/O error 32´ :shock:


GOSTEI 0
Joaoshi

Joaoshi

29/03/2008

Colega, o FileCreate deixa o arquivo aberto.

var qualArquivo : Integer;

begin
-- qualArquivo := [b:7532fae61e]FileCreate[/b:7532fae61e](´c:\tmp\coisas.txt´);
-- [b:7532fae61e]FileClose[/b:7532fae61e](qualArquivo);
end;

Espero ter ajudado.


GOSTEI 0
Psycho

Psycho

29/03/2008

Colega, o FileCreate deixa o arquivo aberto. var qualArquivo : Integer; begin -- qualArquivo := [b:def5d7cc1e]FileCreate[/b:def5d7cc1e](´c:\tmp\coisas.txt´); -- [b:def5d7cc1e]FileClose[/b:def5d7cc1e](qualArquivo); end; Espero ter ajudado.


Po eu pensei nisso tbm, já tinha tentado mais não vai, o error persiste:

var Criar : Integer;
 Modificar : TextFile;

begin
  Criar := FileCreate(´c:\tmp\coisas.txt´);
  FileClose(Criar);



   AssignFile(Modificar,´c:\tmp\coisas.txt´);
   Rewrite(Modificar); //abre o arquivo para escrita  (LINHA DO ERRO)

   Writeln(Modificar,´Leia-me´); //escreve no arquivo e desce uma linha

   Write(Modificar,´versão 1.2 teste´); //escreve no arquivo sem descer a linha
   Closefile(Modificar); //fecha o handle de arquivo

end.


:shock: Porque o erro persiste, como arruma-lo?!

Até mais


GOSTEI 0
Pestana_

Pestana_

29/03/2008

estranho eu fiz um teste aqui gerou o arquivo e não apresentou nehum erro. Estou utilizando o D7!

flw.


GOSTEI 0
Psycho

Psycho

29/03/2008

Certeza? Você não modificou nada?
Então é meu delphi que está com defeito?
Essas coisas são foda :shock:
Aqui o error ainda continua da uma luz ae pessoal


GOSTEI 0
Psycho

Psycho

29/03/2008

Galera compilo, vlw
era o closefile mesmo
depois disso o diretorio estava errado
no exemplo... thanks

Vou dar contialidade aqui vlw


GOSTEI 0
POSTAR