GARANTIR DESCONTO

Fórum CopyFile no Delphi não funciona #558794

30/06/2016

0

Galera boa noite!
Sou novo no mundo do delphi e estou com um problema aqui que não consigo resolver, tenho uma aplicação que preciso copiar um arquivo de um diretorio para outro (para atualização).
Estou fazendo o codigo a baixo:

CopyFile(PAnsiChar('C:\Teste\SERVICEDESK.exe'),PAnsiChar('D:\Meus documentos\Projetos\OsAtualizacao\SERVICEDESK.exe'));

porem não funciona...

Já fiz varias pesquisas na internet e todas dizem estar correto o codigo a cima. Estou usando a versão do delphi Seattles, será que tem alguma diferença?
Julio Pavesi

Julio Pavesi

Responder

Posts

01/07/2016

Raimundo Pereira

Fala Julio, Bom dia Brother.
Tive o mesmo problema quando precisei, então resolvi meu problema, criando uma função que me atendeu perfeitamente.

1. Declare em Uses a clausula >> Shellapi
2. Declare a Função >> Function Copy_File(Caminho_Arquivo_Original,Caminho_Arquivo_Destino:string; Modo_Janela:integer):String;

Declare depois de
implementation
{$R *.dfm}


/// Começo da Função
Function Tnome_do_seu_form.Copy_File(Caminho_Arquivo_Original,Caminho_Arquivo_Destino:string; Modo_Janela:integer):String;
var CommandLine:string;
begin
if MOdo_Janela>1 then
begin
MOdo_Janela:=1;
end;

CommandLine:='Copy "'+Caminho_Arquivo_Original+'" "'+Caminho_Arquivo_Destino+'" /Y';

if not FileExists(Caminho_Arquivo_Original) then
begin
Result:=' Arquivo de origem não foi localizado!';
end
else
begin
ShellExecute(0,nil,'cmd.exe',PWideChar('/c ' + CommandLine),nil,MOdo_Janela);
Sleep(2000);
Result:=' Cópia Iniciada';
end;
ShowMessage(Result);
end;
/// Fim da Função


Segue abaixo como Chamar a função

Copy_File('C:\Teste\SERVICEDESK.exe','D:\Meus documentos\Projetos\OsAtualizacao\SERVICEDESK.exer',0);

// O ultimo paramento eu deixo sempre 0, pois não mostrará a tela //do DOS, se colocar qualquer número maior que 0 será mostrada a Tela.

Espero que ajude, se gostou da dica, deixa o positivo
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar