Copiar arquivo
Tenho uma rotina para atulizar o sistema em rede. Funciona assim:
Tenho uma pasta mapeada onde coloco a versão mais atual, e assim que o usuário abre o sistema ele verifica se existe o executavel com a data mais atual nesta pasta mapeada se existir ele faz a copia para a máquina do usuário. Só que esta rotina para copiar abre uma tela pedindo a confirmação da substituição do arquivo, como faço para ele copiar sem pedir esta confirmação?
O código segue abaixo:
var
Dados: TSHFileOpStruct;
begin
FillChar(Dados,SizeOf(Dados), 0);
with Dados do
begin
wFunc := FO_COPY;
pFrom := PChar(VsRede);
pTo := PChar(VsLocal´);
fFlags:= FOF_ALLOWUNDO;
end;
SHFileOperation(Dados);
Tenho uma pasta mapeada onde coloco a versão mais atual, e assim que o usuário abre o sistema ele verifica se existe o executavel com a data mais atual nesta pasta mapeada se existir ele faz a copia para a máquina do usuário. Só que esta rotina para copiar abre uma tela pedindo a confirmação da substituição do arquivo, como faço para ele copiar sem pedir esta confirmação?
O código segue abaixo:
var
Dados: TSHFileOpStruct;
begin
FillChar(Dados,SizeOf(Dados), 0);
with Dados do
begin
wFunc := FO_COPY;
pFrom := PChar(VsRede);
pTo := PChar(VsLocal´);
fFlags:= FOF_ALLOWUNDO;
end;
SHFileOperation(Dados);
Leufmt
Curtidas 0
Respostas
Leufmt
15/09/2009
alguém?
GOSTEI 0
Djfabioninja
15/09/2009
Opa leufmt! blz?
Cara, voce poderia resolver escrevendo um arquivo.bat =)
Eu tenho uma aplicação que cria o backup dos dados em um arquivo.arj no caminho escolhido pelo usuário. Simplesmente coloco os comandos em um memo e salvo como .bat, em seguida mando a rotina executar o .bat com um ShellExecute. Dessa forma (com o .bat) voce simplesmente dependeria de comandos DOS. Nesse caso, sua duvida seria respondida com um simples:
Copy origem.extensao destino.extensao /y
Nesse caso, com o ´/y´ no fim (ou /s) dependendo da versão, o comando faria a copia substituindo o arquivo de destino caso existisse sem pedir confirmação.
Espero ter ajudado. Qualquer coisa, msn: djfabioninja@hotmail.com
Cara, voce poderia resolver escrevendo um arquivo.bat =)
Eu tenho uma aplicação que cria o backup dos dados em um arquivo.arj no caminho escolhido pelo usuário. Simplesmente coloco os comandos em um memo e salvo como .bat, em seguida mando a rotina executar o .bat com um ShellExecute. Dessa forma (com o .bat) voce simplesmente dependeria de comandos DOS. Nesse caso, sua duvida seria respondida com um simples:
Copy origem.extensao destino.extensao /y
Nesse caso, com o ´/y´ no fim (ou /s) dependendo da versão, o comando faria a copia substituindo o arquivo de destino caso existisse sem pedir confirmação.
Espero ter ajudado. Qualquer coisa, msn: djfabioninja@hotmail.com
GOSTEI 0
Adilsond
15/09/2009
utilize fFlags:= FOF_ALLOWUNDO OR FOF_NoConfirmation;
GOSTEI 0