[delphi-br] Processar Arquivos - FTP

2007-03-15 Por tôpico Diogo Viegas
Srs,

Alguém teria alguma rotina que verifique se o arquivo a ser processado não
está em uso por um servidor FTP ou outro serviço qualquer?
Tenho um driver que carrega arquivos de um diretório, processa e carrega
para o banco de dado e por algum motivo quem está descarregando o arquivo no
diretório que eu busco os arquivos avisa que o serviço que envia por parte
dele trava. Assim só quero processar arquivos que estão 100% entregues.

Obrigado.
Att.


[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Processar Arquivos - FTP

2007-03-15 Por tôpico Edu Nicácio
Esta dica foi postada aqui semana passada.

Tenta dar uma olhada nas mensagens anteriores que com certeza ela está lá.

Abraço.



  Atenciosamente:

 
 Eduardo Cláudio Nicácio
  Analista Programador JR.
  Fábrica 02 - CTIS
  Tel.: (11) 3150-6834
  [EMAIL PROTECTED]
 



  - Original Message - 
  From: Diogo Viegas 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, March 15, 2007 9:50 AM
  Subject: [delphi-br] Processar Arquivos - FTP


  Srs,

  Alguém teria alguma rotina que verifique se o arquivo a ser processado não
  está em uso por um servidor FTP ou outro serviço qualquer?
  Tenho um driver que carrega arquivos de um diretório, processa e carrega
  para o banco de dado e por algum motivo quem está descarregando o arquivo no
  diretório que eu busco os arquivos avisa que o serviço que envia por parte
  dele trava. Assim só quero processar arquivos que estão 100% entregues.

  Obrigado.
  Att.

  [As partes desta mensagem que não continham texto foram removidas]



   

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Processar Arquivos - FTP

2007-03-15 Por tôpico Diogo Viegas
Blz Edu achei a function abaixo. O problema é que se abro o arquivo
log.txtvia notepad e escrevo qualquer coisa nele e NÃO salvo, a
function me retorna
dizendo que o arquivo não está em uso.

function IsFileInUse(fName : string) : boolean;
var
HFileRes : HFILE;
begin
Result := false;
if not FileExists(fName) then
   exit;
HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,0 {this
is the trick!}, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then
   begin
   CloseHandle(HFileRes);
   end;
end;


// codigo para validação da funcion acima:
  if IsFileInUse('C:\log.txt') then
Showmessage('arquivo não pode ser processado')
  else
   ShowMessage('arquivo pode ser processado');


Alguma dica?


Em 15/03/07, Edu Nicácio [EMAIL PROTECTED] escreveu:

   Esta dica foi postada aqui semana passada.

 Tenta dar uma olhada nas mensagens anteriores que com certeza ela está lá.

 Abraço.

 --
 Atenciosamente:

 Eduardo Cláudio Nicácio
 Analista Programador JR.
 Fábrica 02 - CTIS
 Tel.: (11) 3150-6834
 [EMAIL PROTECTED] rsn01.web03%40telesp.com.br


 - Original Message -
 From: Diogo Viegas
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thursday, March 15, 2007 9:50 AM
 Subject: [delphi-br] Processar Arquivos - FTP

 Srs,

 Alguém teria alguma rotina que verifique se o arquivo a ser processado não
 está em uso por um servidor FTP ou outro serviço qualquer?
 Tenho um driver que carrega arquivos de um diretório, processa e carrega
 para o banco de dado e por algum motivo quem está descarregando o arquivo
 no
 diretório que eu busco os arquivos avisa que o serviço que envia por parte
 dele trava. Assim só quero processar arquivos que estão 100% entregues.

 Obrigado.
 Att.

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]



RES: [delphi-br] Processar Arquivos - FTP

2007-03-15 Por tôpico Walter Alves Chagas Junior
Alguns programas bloqueiam o arquivo para uso, como é o caso do Word, do Query 
Analyser e do AutoCad. Alguns outros, como o Notepad, por exemplo, não fazem 
isto. Tanto que voce pode abrir um mesmo aquivo em 3 blocos de notas 
simultaneamente e salvar em qualquer um deles.

E a função trabalha sobre a API do Windows né...

[]s

Walter Alves Chagas Junior
Projeto e desenvolvimento de sistemas
Telemont Engenharia de telecomunicações S/A
Belo Horizonte - MG - Brasil
[EMAIL PROTECTED]
Fone: (31) 3389-8217 Fax: (31) 3389-8215



-Mensagem original-
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Diogo Viegas
Enviada em: quinta-feira, 15 de março de 2007 11:07
Para: delphi-br@yahoogrupos.com.br
Assunto: Re: [delphi-br] Processar Arquivos - FTP


Blz Edu achei a function abaixo. O problema é que se abro o arquivo
log.txtvia notepad e escrevo qualquer coisa nele e NÃO salvo, a
function me retorna
dizendo que o arquivo não está em uso.

function IsFileInUse(fName : string) : boolean;
var
HFileRes : HFILE;
begin
Result := false;
if not FileExists(fName) then
   exit;
HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,0 {this
is the trick!}, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then
   begin
   CloseHandle(HFileRes);
   end;
end;


// codigo para validação da funcion acima:
  if IsFileInUse('C:\log.txt') then
Showmessage('arquivo não pode ser processado')
  else
   ShowMessage('arquivo pode ser processado');


Alguma dica?


Em 15/03/07, Edu Nicácio [EMAIL PROTECTED] escreveu:

   Esta dica foi postada aqui semana passada.

 Tenta dar uma olhada nas mensagens anteriores que com certeza ela está lá.

 Abraço.

 --
 Atenciosamente:

 Eduardo Cláudio Nicácio
 Analista Programador JR.
 Fábrica 02 - CTIS
 Tel.: (11) 3150-6834
 [EMAIL PROTECTED] rsn01.web03%40telesp.com.br


 - Original Message -
 From: Diogo Viegas
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thursday, March 15, 2007 9:50 AM
 Subject: [delphi-br] Processar Arquivos - FTP

 Srs,

 Alguém teria alguma rotina que verifique se o arquivo a ser processado não
 está em uso por um servidor FTP ou outro serviço qualquer?
 Tenho um driver que carrega arquivos de um diretório, processa e carrega
 para o banco de dado e por algum motivo quem está descarregando o arquivo
 no
 diretório que eu busco os arquivos avisa que o serviço que envia por parte
 dele trava. Assim só quero processar arquivos que estão 100% entregues.

 Obrigado.
 Att.

 [As partes desta mensagem que não continham texto foram removidas]

 [As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]



-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

Links do Yahoo! Grupos

 


Re: [delphi-br] Processar Arquivos - FTP

2007-03-15 Por tôpico Edu Nicácio
Acho que não preciso dizer mais nada!!! Hehehe

Mas aí vai mais uma dica: imagine que seu arquivo é grande (tipo, 500MB) e há 
um processo que está gravando dados nesse arquivo.

A função descrita indicará que o arquivo está em uso somente se o processo não 
tiver finalizado a gravação no arquivo. Como o Walter explicou, o notepad e 
outros editores simples não bloqueiam o arquivo para edição... eles abrem com 
GENERIC_READ e depois usam GENERIC_WRITE para salvar.

Se precisar de algo, dá um toque aí...

Abraço.



  Atenciosamente:

 
 Eduardo Cláudio Nicácio
  Analista Programador JR.
  Fábrica 02 - CTIS
  Tel.: (11) 3150-6834
  [EMAIL PROTECTED]
 



  - Original Message - 
  From: Walter Alves Chagas Junior 
  To: delphi-br@yahoogrupos.com.br 
  Sent: Thursday, March 15, 2007 11:14 AM
  Subject: RES: [delphi-br] Processar Arquivos - FTP


  Alguns programas bloqueiam o arquivo para uso, como é o caso do Word, do 
Query Analyser e do AutoCad. Alguns outros, como o Notepad, por exemplo, não 
fazem isto. Tanto que voce pode abrir um mesmo aquivo em 3 blocos de notas 
simultaneamente e salvar em qualquer um deles.

  E a função trabalha sobre a API do Windows né...

  []s

  Walter Alves Chagas Junior
  Projeto e desenvolvimento de sistemas
  Telemont Engenharia de telecomunicações S/A
  Belo Horizonte - MG - Brasil
  [EMAIL PROTECTED]
  Fone: (31) 3389-8217 Fax: (31) 3389-8215

  -Mensagem original-
  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
  nome de Diogo Viegas
  Enviada em: quinta-feira, 15 de março de 2007 11:07
  Para: delphi-br@yahoogrupos.com.br
  Assunto: Re: [delphi-br] Processar Arquivos - FTP

  Blz Edu achei a function abaixo. O problema é que se abro o arquivo
  log.txtvia notepad e escrevo qualquer coisa nele e NÃO salvo, a
  function me retorna
  dizendo que o arquivo não está em uso.

  function IsFileInUse(fName : string) : boolean;
  var
  HFileRes : HFILE;
  begin
  Result := false;
  if not FileExists(fName) then
  exit;
  HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,0 {this
  is the trick!}, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
  Result := (HFileRes = INVALID_HANDLE_VALUE);
  if not Result then
  begin
  CloseHandle(HFileRes);
  end;
  end;

  // codigo para validação da funcion acima:
  if IsFileInUse('C:\log.txt') then
  Showmessage('arquivo não pode ser processado')
  else
  ShowMessage('arquivo pode ser processado');

  Alguma dica?

  Em 15/03/07, Edu Nicácio [EMAIL PROTECTED] escreveu:
  
   Esta dica foi postada aqui semana passada.
  
   Tenta dar uma olhada nas mensagens anteriores que com certeza ela está lá.
  
   Abraço.
  
   --
   Atenciosamente:
  
   Eduardo Cláudio Nicácio
   Analista Programador JR.
   Fábrica 02 - CTIS
   Tel.: (11) 3150-6834
   [EMAIL PROTECTED] rsn01.web03%40telesp.com.br
  
  
   - Original Message -
   From: Diogo Viegas
   To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
   Sent: Thursday, March 15, 2007 9:50 AM
   Subject: [delphi-br] Processar Arquivos - FTP
  
   Srs,
  
   Alguém teria alguma rotina que verifique se o arquivo a ser processado não
   está em uso por um servidor FTP ou outro serviço qualquer?
   Tenho um driver que carrega arquivos de um diretório, processa e carrega
   para o banco de dado e por algum motivo quem está descarregando o arquivo
   no
   diretório que eu busco os arquivos avisa que o serviço que envia por parte
   dele trava. Assim só quero processar arquivos que estão 100% entregues.
  
   Obrigado.
   Att.
  
   [As partes desta mensagem que não continham texto foram removidas]
  
   [As partes desta mensagem que não continham texto foram removidas]
  
   
  

  [As partes desta mensagem que não continham texto foram removidas]

  -- 
   FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

  Links do Yahoo! Grupos



   

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Processar Arquivos - FTP

2007-03-15 Por tôpico Diogo Viegas
Pois é Edu, fiz uma simulação com um arquivo grande e a function retorna o
status correto, ou seja, em uso. Acredito que a validação por data do
arquivo também pode ser feita.
Obrigado a todos.
[]s


Em 15/03/07, Edu Nicácio [EMAIL PROTECTED] escreveu:

   Acho que não preciso dizer mais nada!!! Hehehe

 Mas aí vai mais uma dica: imagine que seu arquivo é grande (tipo, 500MB) e
 há um processo que está gravando dados nesse arquivo.

 A função descrita indicará que o arquivo está em uso somente se o processo
 não tiver finalizado a gravação no arquivo. Como o Walter explicou, o
 notepad e outros editores simples não bloqueiam o arquivo para edição...
 eles abrem com GENERIC_READ e depois usam GENERIC_WRITE para salvar.

 Se precisar de algo, dá um toque aí...

 Abraço.

 --
 Atenciosamente:

 Eduardo Cláudio Nicácio
 Analista Programador JR.
 Fábrica 02 - CTIS
 Tel.: (11) 3150-6834
 [EMAIL PROTECTED] rsn01.web03%40telesp.com.br


 - Original Message -
 From: Walter Alves Chagas Junior
 To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Sent: Thursday, March 15, 2007 11:14 AM
 Subject: RES: [delphi-br] Processar Arquivos - FTP

 Alguns programas bloqueiam o arquivo para uso, como é o caso do Word, do
 Query Analyser e do AutoCad. Alguns outros, como o Notepad, por exemplo, não
 fazem isto. Tanto que voce pode abrir um mesmo aquivo em 3 blocos de notas
 simultaneamente e salvar em qualquer um deles.

 E a função trabalha sobre a API do Windows né...

 []s

 Walter Alves Chagas Junior
 Projeto e desenvolvimento de sistemas
 Telemont Engenharia de telecomunicações S/A
 Belo Horizonte - MG - Brasil
 [EMAIL PROTECTED] wchagas%40telemont.com.br
 Fone: (31) 3389-8217 Fax: (31) 3389-8215

 -Mensagem original-
 De: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br [mailto:
 delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br]Em
 nome de Diogo Viegas
 Enviada em: quinta-feira, 15 de março de 2007 11:07
 Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br
 Assunto: Re: [delphi-br] Processar Arquivos - FTP

 Blz Edu achei a function abaixo. O problema é que se abro o arquivo
 log.txtvia notepad e escrevo qualquer coisa nele e NÃO salvo, a
 function me retorna
 dizendo que o arquivo não está em uso.

 function IsFileInUse(fName : string) : boolean;
 var
 HFileRes : HFILE;
 begin
 Result := false;
 if not FileExists(fName) then
 exit;
 HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,0 {this
 is the trick!}, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
 Result := (HFileRes = INVALID_HANDLE_VALUE);
 if not Result then
 begin
 CloseHandle(HFileRes);
 end;
 end;

 // codigo para validação da funcion acima:
 if IsFileInUse('C:\log.txt') then
 Showmessage('arquivo não pode ser processado')
 else
 ShowMessage('arquivo pode ser processado');

 Alguma dica?

 Em 15/03/07, Edu Nicácio [EMAIL PROTECTED]ecnicacio_2005%40yahoo.com.br
 escreveu:
 
  Esta dica foi postada aqui semana passada.
 
  Tenta dar uma olhada nas mensagens anteriores que com certeza ela está
 lá.
 
  Abraço.
 
  --
  Atenciosamente:
 
  Eduardo Cláudio Nicácio
  Analista Programador JR.
  Fábrica 02 - CTIS
  Tel.: (11) 3150-6834
  [EMAIL PROTECTED] rsn01.web03%40telesp.com.br 
 rsn01.web03%40telesp.com.br
 
 
  - Original Message -
  From: Diogo Viegas
  To: delphi-br@yahoogrupos.com.br 
  delphi-br%40yahoogrupos.com.brdelphi-br%40yahoog
 rupos.com.br
  Sent: Thursday, March 15, 2007 9:50 AM
  Subject: [delphi-br] Processar Arquivos - FTP
 
  Srs,
 
  Alguém teria alguma rotina que verifique se o arquivo a ser processado
 não
  está em uso por um servidor FTP ou outro serviço qualquer?
  Tenho um driver que carrega arquivos de um diretório, processa e carrega
  para o banco de dado e por algum motivo quem está descarregando o
 arquivo
  no
  diretório que eu busco os arquivos avisa que o serviço que envia por
 parte
  dele trava. Assim só quero processar arquivos que estão 100% entregues.
 
  Obrigado.
  Att.
 
  [As partes desta mensagem que não continham texto foram removidas]
 
  [As partes desta mensagem que não continham texto foram removidas]
 
 
 

 [As partes desta mensagem que não continham texto foram removidas]

 --
  FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

 Links do Yahoo! Grupos

 [As partes desta mensagem que não continham texto foram removidas]

 



[As partes desta mensagem que não continham texto foram removidas]