아래에 보신 소스대로 주간 일간 월간 연간 이 선택되면 각날짜혹은 월에 더하기를 해서 다음달로 보내고있습니다.DTP_XX 는 물론 데이트 타임피커구요
그런데 문제가 발생 각월의 마지막이 되면 에러가 발생하는군요 이걸 어떻게 처리하죠?
어떤 문제냐 하면 만약 전월 31일에서 다음 날짜를 알려주어야하는데 디코드해서31에
1을 더하면 32죠?그런데 엔코드하면 에러가나는거죠당연한데
그렇다면 어떻게해서 다음날짜를 맹글수 있을까요?
좀 갈쳐주세요 2월이라던가 짧은달 긴달 전부 거르려니까....힘드네요
1: begin
DecodeDate(Present,Year,Month,Day);
Day := Day + 1;
Present := EncodeDate(Year,Month,Day);
DTP_From.DateTime := Present;
end;
2: begin
DecodeDate(Present,Year,Month,Day);
Day := Day + 7;
Present := EncodeDate(Year,Month,Day);
DTP_From.DateTime := Present;
end;
3: begin
DecodeDate(Present,Year,Month,Day);
Month := Month + 1;
Present := EncodeDate(Year,Month,Day);
DTP_From.DateTime := Present;
end;
4: begin
DecodeDate(Present,Year,Month,Day);
Year := Year + 1;
Present := EncodeDate(Year,Month,Day);
DTP_From.DateTime := Present;
end;
1: begin
DTP_From.DateTime := Present + 1;
end;
2: begin
DTP_From.DateTime := Present + 7;
end;
3: begin
DTP_From.DateTime := IncMonth(Present, 1);
end;
4: begin
DTP_From.DateTime := IncMonth(Present, 12);
end;
aparadin wrote:
> 아래에 보신 소스대로 주간 일간 월간 연간 이 선택되면 각날짜혹은 월에 더하기를 해서 다음달로 보내고있습니다.DTP_XX 는 물론 데이트 타임피커구요
> 그런데 문제가 발생 각월의 마지막이 되면 에러가 발생하는군요 이걸 어떻게 처리하죠?
> 어떤 문제냐 하면 만약 전월 31일에서 다음 날짜를 알려주어야하는데 디코드해서31에
> 1을 더하면 32죠?그런데 엔코드하면 에러가나는거죠당연한데
> 그렇다면 어떻게해서 다음날짜를 맹글수 있을까요?
> 좀 갈쳐주세요 2월이라던가 짧은달 긴달 전부 거르려니까....힘드네요
>
> 1: begin
> DecodeDate(Present,Year,Month,Day);
> Day := Day + 1;
> Present := EncodeDate(Year,Month,Day);
> DTP_From.DateTime := Present;
> end;
> 2: begin
> DecodeDate(Present,Year,Month,Day);
> Day := Day + 7;
> Present := EncodeDate(Year,Month,Day);
> DTP_From.DateTime := Present;
> end;
> 3: begin
> DecodeDate(Present,Year,Month,Day);
> Month := Month + 1;
> Present := EncodeDate(Year,Month,Day);
> DTP_From.DateTime := Present;
> end;
> 4: begin
> DecodeDate(Present,Year,Month,Day);
> Year := Year + 1;
> Present := EncodeDate(Year,Month,Day);
> DTP_From.DateTime := Present;
> end;