Fórum Ajuda para passar de C# para o Delphi #278817
25/04/2005
0
Tenho um sistema que monitora pastas. Quando abri o site hoje vi um artigo que faz a mesma coisa, porém em .net. Só que o código está em C e eu não sei nada de C. Alguem pode me ajudar com este trecho? o restante do código consegui fazer...
public Form1()
{
InitializeComponent();
// CHAMA FUNÇÃO DE MONITORAMENTO
Monitora();
}
public void Monitora()
{
Try
{
//FILTRANDO PELO NOME
oMonitor.NotifyFilter = NotifyFilters.FileName;
//OUTRAS VERIFICAÇÕES POSSÍVEIS
//NotifyFilters.LastAccess
//NotifyFilters.LastWrite
//NotifyFilters.FileName
//NotifyFilters.DirectoryName;
//EVENTO CHAMADO AO CÓPIAR NA PASTA
oMonitor.Created += new FileSystemEventHandler(OnChanged);
}
catch
{
MessageBox.Show("Ocorreu um erro, verifique o caminho da pasta monitorada!");
this.lblAviso.Text = "";
}
}
//EVENTO CHAMADO APÓS COPIAR O ARQUIVO
private void OnChanged(object source, FileSystemEventArgs e)
{
cont++;
this.txtMensagem.Text = "Arquivos monitorados: " + cont.ToString();
this.listArquivo.Items.Add(e.Name.ToString());
}Obrigado
Sanses
Sanses
Curtir tópico
+ 0Posts
25/04/2005
Rjun
o bloco Try...catch no delphi você usaria Try...except
no trecho oMonitor.Created += new FileSystemEventHandler(OnChanged);
você esta adicionando desviando o evento Created do objeto oMonitor para a função OnChanged.
Gostei + 0
25/04/2005
Massuda
oMonitor.Created += new FileSystemEventHandler(OnChanged);
oMonitor.Created := OnChanged;
Gostei + 0
25/04/2005
Sanses
o link da matéria é este
[url]http://www.neoficio.com.br/msdn/colunistas/Schmitt/03_monitorando_pastas.asp[url]
mesmo com a ajuda de voces ainda não consegui, vou ter que estudar C, rss.
Obrigado
Sanses[/url]
Gostei + 0
25/04/2005
Sanses
o link
[url]http://www.neoficio.com.br/msdn/colunistas/Schmitt/03_monitorando_pastas.asp[/url]
Sanses
Gostei + 0
25/04/2005
Massuda
Gostei + 0
25/04/2005
Rjun
[b:562b8313a6]ShellChangeNotifier[/b:562b8313a6] na aba Samples
Gostei + 0
25/04/2005
Sanses
mesmo assim obrigado
Sanses
Gostei + 0
25/04/2005
Sanses
Sanses
Gostei + 0
25/04/2005
Rjun
Gostei + 0
25/04/2005
Sanses
Sanses
Gostei + 0
25/04/2005
Sanses
Gostei + 0
25/04/2005
Nerdex
Pode usara API Hoock, que funciona com .NET...
Nosso colega Nildo é perito nesse assunto...
Tem um site para baixar isto: MadHoock (dá uma pesquisada antes aqui);
Gostei + 0
26/04/2005
Sanses
Obrigado pela Atenção
Mas continua sem solução
Sanses
Gostei + 0
26/04/2005
Massuda
Acho que o primeiro passo seria você criar uam instância do monitor via Delphi. A classe FileSystemWatcher é definida no namespace System.IO do framework. Com certeza os colegas que usam D8 ou D2005 podem te ajudar neste ponto.
Feito isso, você deve ajustar a propriedade NotifyFilter e atribuir um tratador de evento ao evento Created.
Gostei + 0
26/04/2005
Sanses
Meu problema está aqui:
procedure monitora(); begin try //FILTRANDO PELO NOME oMonitor.NotifyFilter := NotifyFilters.FileName; //OUTRAS VERIFICAÇÕES POSSÍVEIS, //NotifyFilters.LastAccess //NotifyFilters.LastWrite, //NotifyFilters.FileName, //NotifyFilters.DirectoryName; //EVENTO CHAMADO AO CÓPIAR NA PASTA oMonitor.Created := FileSystemEventHandler(Changed); except MessageBox.Show(´Ocorreu um erro, verifique o caminho da pasta monitorada!´,´Aviso Monitor´); end; end;
oMonitor.Created := FileSystemEventHandler(Changed); >>ERRO
Diz que Changerd não é reconhecido
e também ´:=´ read/qrite not allowed CLR
Sanses
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)