Fórum Não permitir digitar mês e ano superior que o atual #157490
02/05/2003
0
Exemplo,
estamos em Maio/2003, [b:ad8096456f]o usuário só podia digitar no máximo[/b:ad8096456f] 31/05/2003
e também se ele tentar um ano que não seja o atual tem que dar mensagem!
Já agradeço muito qualquer ajuda,
Alex
Alex_
Curtir tópico
+ 0Posts
02/05/2003
Aroldo Zanela
No pacote da RxLib tem uma unit denominada DateUtil.pas, lá tem uma função para obter o último dia do mes, considando inclusive, quando é ano bisexto. No delphi7 isso já é nativo. Se você não conseguir, me avisa que eu te mando.
Gostei + 0
02/05/2003
Schwarze
function UltDiaMes(Data: TDateTime): TDateTime; var a, m, d: word; begin DecodeDate(Data, a, m, d); //mudar dia da data para dia 1º de data Data:= EncodeDate(a, m, 1); //mudar data pra algum dia do mês seguinte Data:= Data + 32; //removendo o dia, a data fica sendo o último dia do mês DecodeDate(Data, a, m, d); Data:= Data - d; end;
Gostei + 0
02/05/2003
Schwarze
result:= Data;
Gostei + 0
02/05/2003
Aroldo Zanela
Declare DateUtils na lista de uses;
Teste o exemplo:
procedure TForm1.BitBtn1Click(Sender: TObject); begin If not isValidDate(DateTimePicker1.Date) then ShowMessage(´Data inválida´); end; function TForm1.IsValidDate(EnteredDate: TDateTime): Boolean; var Ano, Mes, Dia: Word; begin DecodeDate(Date, Ano, Mes, Dia); Result := Trunc(EnteredDate) <= EncodeDate(Ano,Mes,DaysInMonth(Date)); end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)