Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

estevan_garcia

Copiar arquivo de x para y

Recommended Posts

Bom dia.

Estou querendo fazer com que seja exibido um edit onde o usuario vai inserir o nome de uma pasta e o programa recorte essa pasta para o d:

Ex.

O meu nome de usuario do windows é Estevan.garcia então vou escrever Estevan.garcia no edit e o programa vai copiar a pasta c:\documents and settings\Estevan.garcia\cookies para d:

Só consegui fazer ele copiar os arquivos da pasta usando o winexec ('cmd /k xcopy /s/y c:\documents and settings\Estevan.garcia\cookies\*.* d:\cookies', SW_Hide);

Mas ai ja tem dois problema, primeiro que ele não vai copiar a pasta e sim os arquivos, tudo bem da para fazer ele criar a pasta no d:, mas não vejo como faço para que ele reconheça oque foi digitado no edit e use como parte do caminho da pasta.

Não sei se consegui me expressar direito.

Mas é isso ai, tomara que alguem me de uma luz.

Valew

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie a seguinte procedure:

 

procedure TForm1.CopyDir(const cFrom, cTo: string);

var

OpStruc : TSHFileOpStruct;

frombuf, tobuf : array[0..128] of Char;

begin

FillChar(frombuf, Sizeof(frombuf), 0);

FillChar(tobuf, Sizeof(tobuf), 0);

StrPCopy(frombuf, cFrom);

StrPCopy(tobuf, cTo);

with OpStruc do

begin

Wnd := Application.Handle;

wFunc := FO_MOVE; //FO_MOVE - RECORTA; FO_COPY - COPIA

pFrom := @frombuf;

pTo := @tobuf;

fFlags := FOF_NOCONFIRMATION or FOF_RENAMEONCOLLISION;

fAnyOperationsAborted := False;

hNameMappings := nil;

lpszProgressTitle := nil;

end;

ShFileOperation(OpStruc);

end;

 

então no evento OnClick do botão faça:

 

CopyDir('DiretorioOrigem'+Edit1.Text, 'LocalDestino')

 

Obs: Declare ShellAPI no uses.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.