Q&A

  • 일반 에디트에서 입력받은 날짜 에러 체크
안녕하세요!



저는 얼마전에 델파이 프로그램을 시작한 왕초보입니다.



일반 에디트나 MaskEdit에서 입력 받은 날짜가

제대로 입력된 날짜인지 알수 있는 방법을 알고 싶습니다.



예) MaskEdit에서

2000-03-07 또는 9999-80-01등과 같이 입력을 받았을때

입력된 날짜가 제대로 입력되었는지

체크 하는 방법을 없을까요!



* 사용환경 : 델파이4 / Windows 98



넘 쉬운 문제라고 무시 하지 마시고,

답좀 올려 주세요!

1  COMMENTS
  • Profile
    하얀까마귀 2000.03.09 18:43
    안녕하세요 하얀까마귀 입니다...

    음 지금 말씀하신 문제는 첵크하는 루틴을 만드셔야 합니다.. 보통 날짜를 첵크할수 있는 루틴은 다들 잘 만들어서 쓰고 있죠...

    간단한거 2가지 알려 드릴께요..



    첫번째.. 이건 그냥 노가다 하는 겁니다. 날짜 데이타에서 숫자만 가져와서..( 그럼 6자or 8자가 되겠죠?? 여기서 월과 일을 계산하는 겁니다... 말일까지 첵크 하면서...

    <-- 이건 조금은 어렵죠.. 하지만 생각보다 이런 방식이 여러가지 응용이 필요할때 유용하게 사용 됩니다.



    두번째 : 이건 아주 간단한 방법 입니다.

    function DateCheck(str : String) : Boolean;

    var

    CheckDate : TDateTime;

    begin

    Result := True;

    try

    CheckDate := StrtoDate(Str);

    Result := True;

    except

    Result := False;

    end;

    end;

    그냥 이렇게만 하면 됩니다. 날자가 틀리면 에러가 발생하죠 그럼 false리턴하고

    아니면 true를 리턴하도록 하면 되죠...

    이런 방법은 조금 조심해야 합니다 . 날짜형이라든지.. 뭐 년도의 제한같은건 둘수 없죠.. 뭐 어쨌든 이건 아주 간단히 첵크할수 있는방법이니까...

    그럼 즐거운 시간 되세요...

    - 하얀까마귀 -