Function ProcessArquivo(const Origem, Destino : string; Operacao, Modo:Integer) : Boolean;
// Requer a unit ShellApi na clausula uses da unit
Const
Aborted : Boolean = False;
var
shfo : TSHFileOpStruct;
begin
FillChar(shfo,SizeOf(shfo),$0);
with shfo do
begin
if Operacao > 2 then
begin
operacao := 2;
end;
if Modo > 5 then
begin
modo := 1;
end;
case operacao of
1: wFunc := FO_MOVE;
2: wFunc := FO_COPY;
end;
pFrom := Pchar(Origem);
pTo := Pchar(Destino);
case Modo of
1: fFlags := FOF_SILENT;
2: fFlags := FOF_ALLOWUNDO or FOF_FILESONLY;
3: fFlags := FOF_RENAMEONCOLLISION;
4: fFlags := FOF_NOCONFIRMATION;
5: fFlags := FOF_SIMPLEPROGRESS;
end;
end;
Result := (SHFileOperation(shfo)= 0) and (not Aborted);
end;
O código acima é usado para copiar ou mover arquivos (bem, era isso que tava dizendo lá onde eu o peguei --> www.delphi.eti.br).
Minha situação é a seguinte:
eu tenho uma pasta chamada Pedidos e duas subpastas (Pendentes e Enviados). Gero um relatório e salvo em .doc no caminho ('C:\Pedidos\Pendentes\Ordem de serviço.doc'), daí após isso eu envio o arquivo .doc por email através da própria aplicação. Após enviar eu quero mover esse arquivo para ('C:\Pedidos\Enviados\Ordem de serviço.doc').
Pra criar a função é só ir no Public Declarations e escrever "Function ProcessArquivo(const Origem, Destino : string; Operacao, Modo:Integer) : Boolean;" (certo??) e dar Ctrl + Shift + C e depois colar o código acima. Mas aí como eu faria pra "executar", ou seja, chamar essa função?? Ou se alguém tiver, pode mandar pra mim um código que ao invés de ser uma função eu possa colocar num botão.
Pergunta
Arlon
O código acima é usado para copiar ou mover arquivos (bem, era isso que tava dizendo lá onde eu o peguei --> www.delphi.eti.br).
Minha situação é a seguinte:
eu tenho uma pasta chamada Pedidos e duas subpastas (Pendentes e Enviados). Gero um relatório e salvo em .doc no caminho ('C:\Pedidos\Pendentes\Ordem de serviço.doc'), daí após isso eu envio o arquivo .doc por email através da própria aplicação. Após enviar eu quero mover esse arquivo para ('C:\Pedidos\Enviados\Ordem de serviço.doc').
Pra criar a função é só ir no Public Declarations e escrever "Function ProcessArquivo(const Origem, Destino : string; Operacao, Modo:Integer) : Boolean;" (certo??) e dar Ctrl + Shift + C e depois colar o código acima. Mas aí como eu faria pra "executar", ou seja, chamar essa função?? Ou se alguém tiver, pode mandar pra mim um código que ao invés de ser uma função eu possa colocar num botão.
Valeu mesmo galera.
Link para o comentário
Compartilhar em outros sites
13 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.