Fórum Retorna todos os dia em que cai o DOMINGO no Ano #333775

27/11/2006

0

Olá pessoal, gostaria de uma função que me retorne os dias em que vai cai todos os 52 Domingos do Ano.

Por Exemplo o meu usuário informa 2007 e o programa automaticamente encontra o dia 07/01/2007 que é um Domingo e todos os outros dias subsequentes a este sendo que me retorna os Domingo de cada semana.

Alguém tem idéia de como fazer isso ?

Grato pela atenção,

Jorge Ericsson


Jericsson

Jericsson

Responder

Posts

27/11/2006

Paullsoftware

amigo eu tenho essa função, tá meio incompleta, pois, falta adaptar os feriados tb, mais ela retorna dos os domingos e grava em uma tabela...
Procedure TfFeriados.GravaDomingos(var dInicio, dTermino: TDateTime);
    I, X: Integer;
begin
  dInicio   := DateEdit1.Date;
  dTermino  := DateEdit2.Date;
  X := Trunc(dTermino - dInicio);
 with DM_BANCO do
   begin
     for I := 1 to X do
      if DayOfWeek(dInicio+i)=1 then
       begin
         FERIADOS.Locate(´DATA´,FormatDateTime(´DD/MM/YYYY´,dInicio+I),[]);
         if Not ( FERIADOS.FieldByName(´DATA´).AsDateTime = dInicio+I ) then
           begin
             FERIADOS.Insert;
             FERIADOS.FieldByName(´DATA´).AsString := FormatDateTime(´DD/MM/YYYY´,dInicio+I);
             FERIADOS.Post;
             FERIADOS.ApplyUpdates;
           end
           else
           MessageDlg(´A data ´+FormatDateTime(´DD/MM/YYYY´,dInicio+I)+´, já esta cadastrada´,mtWarning,[mbOK],0);
       end;
       if MessageDlg(´Deseja incluir também os fériados desse período?´,mtInformation,[mbYes,mbNo],0)=ID_YES then
        begin
//         FERIADOS.Locate(´DATA´,)
         if FERIADOS.FieldByName(´DATA´).AsDateTime = dFeriado then
          begin
            //Falta completar os comandos...
          end;
        end;
   end;
(* //teste com listbox
   FERIADOS.Insert;
   FERIADOS.FieldByName(´DATA´).AsString := ´01/01´
   FERIADOS.Post;
   FERIADOS.ApplyUpdates;

    ListBox1.Items.Add(´01/01´); //Ano Novo
    ListBox1.Items.Add(´21/04´); //Tiradentes
    ListBox1.Items.Add(´01/05´); //Trabalho
    ListBox1.Items.Add(´07/09´); //Indenpencia
    ListBox1.Items.Add(´12/10´); //N.Senhora
    ListBox1.Items.Add(´02/11´); //Finados
    ListBox1.Items.Add(´15/11´); //Replublica
    ListBox1.Items.Add(´25/12´); //Natal
    ListBox1.Items.Add(´09/07´);
   end;
 *)

end;

espero ter ajudado! :wink:


Responder

Gostei + 0

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

Aceitar