Fórum Pegando dia de um Mes #236595
08/06/2004
0
Como eu faço por exemplo se eu quiser pegar todas as segundas do mes de junho
Desde já, obrigado
Zunker
Curtir tópico
+ 0Posts
08/06/2004
Fabio.hc
function QtdDiaSemana(Mdt: TDateTime; DiaSemana : Integer) : Integer;
{Mdt = qualquer dia do mes DiaSemana = dia da semana procurado ( 1 a 7) retorna o quantidade de dias}
var
ano, mes, UltimoDia : word;
mDtTemp : TDateTime;
I : Integer;
begin
MdtTemp := UltimodiaMes(Mdt);
Decodedate(MdtTemp, ano, mes, UltimoDia);
MdtTemp := EncodeDate(ano,mes,1);
result := 0;
for I := 1 to UltimoDia do
begin
if DayOfWeek(Mdttemp) = DiaSemana then
Inc(Result);
MdtTemp := Mdttemp + 1;
end;
end;
function UltimoDiaMes(Mdt: TDateTime) : TDateTime;
{ retorna o ultimo dia o mes, de uma data fornecida}
var
ano, mes, dia : word;
mDtTemp : TDateTime;
begin
Decodedate(mDt, ano, mes, dia);
mDtTemp := (mDt - dia) + 33;
Decodedate(mDtTemp, ano, mes, dia);
Result := mDtTemp - dia;
end;Gostei + 0
08/06/2004
Zunker
Então eu tenho q pegar essa tabela, e trasformar os dias da semana em 00/00/0000 e verificar se o dia que foi gerado naum é feriado, além do que, cada data que for fornecida eu tenho que gravar em um novo registro.
Por exemplo:
Pedro | Quinta | 12h
e transforma e grava na Tabela Agenda assim:
Pedro | 03/06/2004 | 12h
Pedro | 17/06/2004 | 12h
Pedro | 24/06/2004 | 12h
e já que dia 10/06/2004 é feriado, retorna uma mensagem que este dia é feriado.
Gostei + 0
08/06/2004
Lucas Silva
function EndOfTheMonth(const AValue: TDateTime): TDateTime;
Gostei + 0
08/06/2004
Zunker
O que preciso mesmo é converter o dia da semana em data (01/01/0001).
Gostei + 0
08/06/2004
Fabio.hc
Ex:
se a data inicial é 01/06/2004 - Terça.
procedure TForm1.Button1Click(Sender: TObject); var X:integer; DataInicial:TDate; begin DataInicial:=StrToDate(´01/06/2004´); For X:= 0 to ListBox1.Items.Count -1 do begin while DayOfWeek(DataInicial) <> DiadaSemana(ListBox1.Items[x]) do DataInicial:=DataInicial+1; ListBox2.Items.Add(DateToStr(DataInicial)); end; end; Function DiadaSemana(DSemana : String) : Integer; const semana : array[1..7] of string = (´Domingo´,´Segunda´,´Terça´,´Quarta´,´Quinta´,´Sexta´, ´Sábado´); var X:integer; begin Result:=0; for X:=1 to 7 do if DSemana = semana[X] then Result:=X; end;
Neste exemplo eu coloquei os dias da semana no ListBox1.
Terça
Quarta
Quinta
Quinta
Quinta
Sexta
Segunda
Terça
Quarta
Quinta
Sexta
Segunda
Terça
Terça
Terça
Terça
Quarta
Quinta
Sexta
Segunda
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)