Fórum Ajuda Delphi URGENTE! #369737

13/04/2009

0

Seguinte amigos precisso fazer uma ferramenta no delṕhi e esta meio complicado aqui bom vamos la..

Precisso de um programa que fique rodando no sistema ele vai ter a função de monitora um diretorio ex: c:\Vhost e quando alguem envia um arquivo pra esse diretorio ele envia por email o nome do arquivo que foi colocado nesse diretorio ex: alguem coloco o arquivo passwd.txt no diretorio c:\Vhost então ai o programa entra em acão e manda o email para o admin por exemplo contendo a hora do envio o nome do arquivo só isso, mais não sei por onde começa agradeço a todos.

Quem estiver disposto a ajudar entre em contato.

MSN: Killer-root@hotmail.com


B470-killer

B470-killer

Responder

Posts

13/04/2009

Woinch

- Primeiro você precisará de um componente TTimer. Defina a ele um intervalo e ao executar o programa mude sua propriedade Active para True.

- No evento OnTimer desse componente, você precisará montar uma função que varre esse diretório. Para isso utilize o objeto TSearchRec (dúvidas referente a utilização, basta procurar aqui mesmo no fórum).

- Para extrair a data de criação do arquivo basta utilizar a seguinte função:

function GetFileDate(Arquivo: String): String;
var
FHandle: integer;
begin
FHandle := FileOpen(Arquivo, 0);
try
Result := DateTimeToStr(FileDateToDateTime(FileGetDate(FHandle)));
finally
FileClose(FHandle);
end;
end;


- Para enviar e-mails via Delphi, utilize os componentes TIdMessage e TIdSMTP do Indy (para um exemplo de utilização, basta fazer uma busca aqui no fórum também).

PS: Não estou entrando em contato com você via MSN, pois acho que sua dúvida um dia pode ser a mesma dúvida de outra pessoa. Portanto qualquer dúvida favor responder aqui mesmo no tópico.


Espero ter ajudado.


Responder

Gostei + 0

13/04/2009

B470-killer

Opa então precisso pegar esse esquema de como fazer essa varredura no diretorio so isso o resto eu ja mentei. so to me matutando com isso. de quando algum arquivo for pro diretorio ele pega o nome do arquivo que foi enviado pro diretorio e manda por email.


Responder

Gostei + 0

13/04/2009

Woinch

Utilizando a pesquisa do fórum com as palavras-chaves que falei acima você conseguirá com certeza.

Qualquer dúvida favor retornar.
PS: Assim que desenvolver uma solução poste ai pro pessoal ver como ficou! ;)


Responder

Gostei + 0

13/04/2009

Woinch

Existem diversas maneiras para fazer a verificação mencionada.
Você pode remover e/ou mover para outra pasta o arquivo após o envio do e-mail, pode também renomear o arquivo e colocar algum simbolo que indique que já foi enviado o e-mail. Exemplo: Colocar um OK_ no começo ou também gravar em um outro arquivo (fora desse diretório) todos os arquivos já enviados e na varredura, verificar se o arquivo está ou não nesse outro arquivo para dai enviar.


Responder

Gostei + 0

13/04/2009

Wdrocha

Vc tbm pod usar uma hook procedure. Outro dia eu li sobre uma hook que fica monitorando as pastas do sistema, por exemplo, saber qdo uma pasta foi copiada, recortada, qdo algum arquivo foi movido ou copiado para determinada pasta.

Tenho certeza que tbm seria uma forma bastante prática de se fazer isso.

Fica aew a dica d Hook Procedure.



flw


Responder

Gostei + 0

13/04/2009

Wdrocha

Aq tem algo a respeito do q acabei d falar...

tem até um componente e um exemplo....


[url]http://delphi.about.com/od/kbwinshell/l/aa030403a.htm[/url]

espero ter ajudado....


flw


Responder

Gostei + 0

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

Aceitar