Grande Filipe, 
 
Faça um teste da seguinte forma.
 
Usando a função DayOfWeek veja qual o retorno da mesma informando a data
25/09/2005 (Domingo).
 
Você verá que a função retornará o valor : 1
 
Abraço.

  _____  

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
nome de Filipe Xavier Ramalho
Enviada em: quarta-feira, 21 de setembro de 2005 14:30
Para: delphi-br@yahoogrupos.com.br
Assunto: RES: [delphi-br] Dias Uteeis entre datas


Alessandro, só uma pequena correção. 1 é segunda, 2 terça ... 6 sábado e 7 é
domingo.
  -----Mensagem original-----
  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de Alessandro Alves - Listas
  Enviada em: quarta-feira, 21 de setembro de 2005 14:21
  Para: delphi-br@yahoogrupos.com.br
  Assunto: RES: [delphi-br] Dias Uteeis entre datas


  Meu Caro,

  Você pode fazer assim:

  Para testar esse exemplo coloque dois componentes TDateTimePicker no form
e
  um botão.
  Nomeio os DateTimePickers como DtInicial e DtFinal
  No Onclick do botão coloque o seguinte código:

  procedure TForm1.Button1Click(Sender: TObject);
  var
    i, dias, diasUteis, Sabados, Domingos : Integer;
    data : TDate;
    diaSemana :word;
  begin
    dias := DaysBetween(dtInicial.Date,dtFinal.Date);
    diasUteis := 0;
    Sabados := 0;
    Domingos := 0;

    data := dtInicial.Date;

    { Para considerar inclusive a data atual, incremente a data no final do
  bloco begin..end,
       para não considerar incremente a data no início do bloco.}

    for i := 1 to dias do
      begin
        data := data + 1;  {Incrementando a data aqui, não se considera a
data
  atual na contagem}
        diaSemana := DayOfWeek(data);

        if diaSemana in [2..6] then
           Inc(diasUteis);

        if diaSemana = 7 then
           Inc(Sabados);

        if diaSemana = 1 then
           Inc(Domingos);
        //data := data + 1; {Incrementado aqui, considera-se a data atual na
  contagem}
      end;
    Showmessage('Entre '+ DateToStr(dtInicial.Date) + ' e ' +
  DateToStr(dtFinal.Date) +
                ' existe(m) ' + IntToStr(diasUteis) + ' dias úteis, '+
                IntToStr(Sabados) + ' sábado(s), '+ IntToStr(Domingos)+'
  domingo(s).');

  end;

  Já para saber se o dia é feriado ou não você precisará ter uma tabela de
  feriados, onde serão cadastrados os feriados do ano.
  Então ao incrementar cada data você verifica nessa tabela se trata-se de
um
  feriado ou não e armazena essa informação numa variável, da mesma forma
que
  conta os sábados e domingos.

  Grande Abraço,

  Alessandro Alves

    _____

  De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
  nome de galvao_em
  Enviada em: quarta-feira, 21 de setembro de 2005 12:01
  Para: delphi-br@yahoogrupos.com.br
  Assunto: [delphi-br] Dias Uteeis entre datas


  Olá pessoal preciso de ajuda para resolver um probleminha, preciso
  digitar uma data inicial e uma data final em meu sistema, e o mesmo
  precisa me retornar quantos dias uteis e quantos domingos/feriados
  existe entre as duas datas, alguém poderia me ajudar?

  desde já obrigado





  _______________________________________________________
  Novo Yahoo! Messenger com voz: ligações, Yahoo! Avatars, novos emoticons e
  muito mais. Instale agora!
  www.yahoo.com.br/messenger/


  --
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]




  Yahoo! Grupos, um serviço oferecido por:


<http://br.i1.yimg.com/br.yimg.com/i/br/ads6/160905_pop_celsamsung_camdig.gi
  f>

    _____

  Links do Yahoo! Grupos


  *      Para visitar o site do seu grupo na web, acesse:
  http://br.groups.yahoo.com/group/delphi-br/


  *      Para sair deste grupo, envie um e-mail para:
  [EMAIL PROTECTED]
  <mailto:[EMAIL PROTECTED]>


  *      O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
  Serviço do Yahoo! <http://br.yahoo.com/info/utos.html> .




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



  --
  <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

  Para ver as mensagens antigas, acesse:
  http://br.groups.yahoo.com/group/delphi-br/messages

  Para falar com o moderador, envie um e-mail para:
  [EMAIL PROTECTED] ou [EMAIL PROTECTED]



        Yahoo! Grupos, um serviço oferecido por:



----------------------------------------------------------------------------
--
  Links do Yahoo! Grupos

    a.. Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

    b.. Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

    c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo!.



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



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED] ou [EMAIL PROTECTED]




Yahoo! Grupos, um serviço oferecido por:        
 
<http://br.i1.yimg.com/br.yimg.com/i/br/ads6/160905_pop_mp3pioneer_v300.gif>


  _____  

Links do Yahoo! Grupos


*       Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
  

*       Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> 
  

*       O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
Serviço do Yahoo! <http://br.yahoo.com/info/utos.html> . 




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



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a