<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
El 17/02/2013 04:40 p.m., Paola Bruccoleri escribió:
<blockquote cite="mid:51212432.4060900@adinet.com.uy" type="cite">Hola
todos..
<br>
<br>
me está d evolviendo mal una comparación cuando se que las fechas
son <br>
iguales...
<br>
<br>
en un form pido mes y año
<br>
<br>
var
<br>
dFecha, dFechaContrato, dFechaAux: TDate;
<br>
dFechaReaj, dFechaReaj2, dFechaReaj3: TDate;
<br>
<br>
begin
<br>
.....
<br>
dFecha:= EncodeDate(StrToInt(edtAnio.Text),
StrToInt(cboMes.Text), 1); // 1er dia del mes
<br>
<br>
(el campo finicio es tipo date, Firebird y uso componentes
Zeos)
<br>
dFechaContrato:=
qryContratos.FieldByName('finicio').AsDateTime;
<br>
<font color="#ff0000">if DayOf(dFechaContrato) = 1 then
<br>
dFechaAux:= dFechaContrato
<br>
else
<br>
dFechaAux:= EndOfTheMonth(dFechaContrato) + 1;
</font><br>
<br>
nMeses:= MonthsBetween(dFecha, dFechaAux) + 1; (sumo 1 porque
sino entre 01/02/12 y 01/02/13 da 11 meses)
<br>
<br>
if nMeses >= 12 then begin
<br>
nAnios:= Trunc(nMeses/12);
<br>
dFechaReaj:= IncYear(dFechaAux, nAnios);
<br>
<br>
showmessage(datetostr(dfecha));
<br>
showmessage(datetostr(dfechareaj));
<br>
<br>
if dFecha = dFechaReaj then begin
<br>
......... // POR ACA NO PASA Y LAS FECHAS LAS MUESTRA
IGUAL
<br>
<br>
<br>
alguna idea???
<br>
</blockquote>
recién descubro que la comparación NO da cuando se hace esta cuenta,
porque si no se hiciera todo funciona perfectamente. (o sea, con los
contratos hechos el 1er día del mes)<br>
<br>
dFechaAux:= EndOfTheMonth(dFechaContrato) + 1; <br>
<br>
o sea, cuando la fecha de contrato no es el 1er día, que debo
obtener el 1er día del mes siguiente....<br>
<br>
si tengo como fecha 20/01/2012, dFechaAux debería ser 01/02/2012, le
sumo 1 año: 01/02/2013 y no compara con dFecha que es 01/02/2013<br>
<br>
la verdad.. no se porqué falla esa cuenta!<br>
<br>
<br>
<br>
<br>
<br>
<br>
</body>
</html>