Ver Mensaje Individual
  #4  
Antiguo 22-11-2010
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Reputación: 23
Paulao Va por buen camino
He conseguido asi:
Si estoy fuera del primero dia del mes, pego el primero dia y hago un Encodedate ahora con el primer Dia y despues, voy a la funcion DayOfWeek y veo cual este dia [Domingo..Sabado], y entonces hago mis operaciones. Ahora voy mejorar esta funcion para que si quede mejor, si for posible. Este ejemplo funciona para lo que quiero.
Código Delphi [-]
var
Ano, Mes, Dia,pDia : word;
DiaDaSemana, DiaDoMes : Integer;
begin
  DecodeDate (Data, Ano, Mes, Dia);

  pDia := Dia - Dia + 1;

  Data := EncodeDate(Ano,Mes,pDia);
  DiaDaSemana := DayOfWeek(Data);

  if DiaDaSemana in [1,7] then
    Result := '02' + '/' + IntToStr(Mes)
  else
  if (DiaDaSemana = 2)and(EFeriado(Trunc(now))) then
    Result := '03' + '/' + IntToStr(Mes)
  else
  if (DiaDaSemana = 6)and(EFeriado(Trunc(now))) then
    Result := '04' + '/' + IntToStr(Mes)
  else
    Result := StrZeros(IntToStr(pDia),2) + '/' + IntToStr(Mes);

end;
Responder Con Cita