Q&A

  • 이번에도 소스 에러~
음.. 날짜 기간 계산하는 프로그램 만들고 있는데..

이번에도 에러가 나네요.

procedure TfrmInfor.Button1Click(Sender: TObject);

var
   CHKDATE, FDATE, TDATE : TDateTime;
   YY, MM, DD : LongInt;
   CHK : INTEGER;
begin

   FDATE := strtodate(formatmasktext('####-##-##;0;', maskedit1.Text));
                             ---------------- -> 요 부분이 에러인것 같아요.

   TDATE := strtodate(formatmasktext('####-##-##;0;', maskedit2.Text));

   CHK := 0;
   IF (MONTH(TDATE) < MONTH(FDATE)) OR ((MONTH(TDATE) = MONTH(FDATE)) AND (DAY(TDATE) < DAY(FDATE))) THEN
   BEGIN
        CHK := 1;
   END;
   YY := YEAR(TDATE)-YEAR(FDATE) - CHK;
   edtYear.TEXT := INTTOSTR(YY);

   CHK := 0;
   IF (MONTH(TDATE) <= MONTH(FDATE)) AND (DAY(TDATE) <  DAY(FDATE)) THEN CHK := 11;
   IF (MONTH(TDATE) <  MONTH(FDATE)) AND (DAY(TDATE) >= DAY(FDATE)) THEN CHK := 12;
   IF (MONTH(TDATE) >  MONTH(FDATE)) AND (DAY(TDATE) <  DAY(FDATE)) THEN CHK := -1;
   MM := MONTH(TDATE)-MONTH(FDATE) + CHK;
   edtMonth.Text := INTTOSTR(MM);


   CHK := 0;
   IF DAY(TDATE) < DAY(FDATE) THEN CHK := 1;

   CHKDATE := ENCODEDATE(YEAR(TDATE), MONTH(TDATE) - CHK, DAY(FDATE) );

   DD := STRTOINT(FLOATTOSTR(TDATE - CHKDATE)) + 1;
   edtDay.TEXT := INTTOSTR(DD);
end;

end.




에러가 머라고 나냐면..
요로코롬 난답니다.

'[Error] uInfor.pas(72): Undeclared identifier: 'formatmasktext'
[Fatal Error] pstudent.dpr(7): Could not compile used unit 'uInfor.pas' '



아참 ! 글구 아까 답변해주신님. 정말 감사합니다. ^-^
이번것두... ^^;
3  COMMENTS
  • Profile
    정성훈 2002.05.30 06:02
    안녕하세요
    아래 에러메시지는 formatmasktext' 가 선언이 안되서 나는겁니다.
    interfece 아래 uses 절에 Mask 를 추가하시면 됩니다.
    그리고 저런건 간단한거니 도움말을 찾아보시는 습관도 기르시는게 좋을듯..싶습니다..
    도움말 찾기 힘드시면 formatmasktext 한테 마우스커서를 갖다놓고
    f1을 눌러보세요..그럼..



    '[Error] uInfor.pas(72): Undeclared identifier: 'formatmasktext'
    [Fatal Error] pstudent.dpr(7): Could not compile used unit 'uInfor.pas' '


  • Profile
    박문진 2002.05.30 06:08
    음.. uses절 아래 Mask 추가하는거는

    해놨습니다. 그런데도 에러가 계속 나서 물어본거였는데...

    여튼 감사합니다. ^-^


  • Profile
    정성훈 2002.05.30 06:30
    밑줄친 부분은 이상이 없거든요?
    혹시나 해서 바로 테스트해봤는데 아무이상이 없습니다.
    다른부분을 확인해 보세요.

    procedure TForm1.Button1Click(Sender: TObject);
    var
       FDate : TDateTime;
    begin
       FDATE := strtodate(formatmasktext('####-##-##;0;', MaskEdit1.Text));
        ShowMessage( DateToStr( FDate ) );
    end;