function Tcivilform.udateTointch(a : string) : integer ;
var
s :string ;
begin
s := copy(a,1,4)+copy(a,6,2)+copy(a,9,2) ;
udateTointch := strtoint(s) ;
end ;
//이렇게 함수를 만들어서요
//날자 방식의 문자를 숫자로 변환 함수
f:=udateTointch(edit1.text) ;
g:=udateTointch(edit2.text) ;
sysd := udate ;
try //예외처리 말그대로 여기서 빵나길래
if (f < 19980000) or (f > g )or (f >= sysd )or( g > sysd )then
begin
messagedlg('기간검색의 시점은 1998년이후로, 옮바른 값을 입력하세요!',mterror,[mbok],0) ;
exit ;
end ;
except
showmessage('잘못된 기간입력입니다.다시 입력하세요') ;
end ;
if (strtoint(copy(edit1.text,6,2))=0)or(strtoint(copy(edit1.text,6,2))>12) or
(strtoint(copy(edit1.text,9,2))=0)or(strtoint(copy(edit1.text,9,2))>31) or
(strtoint(copy(edit2.text,6,2))=0)or(strtoint(copy(edit2.text,6,2))>12) or
(strtoint(copy(edit2.text,9,2))=0)or(strtoint(copy(edit2.text,9,2))>31) then
begin
messagedlg('월과 일의 입력이 틀렸읍니다',mterror,[mbok],0) ;
exit ;
end ;
이런식으로 임시방편으로 했습니다.
함수가 있다 들었는데 어떤함수인쥐 예제를 간단하게 써주시면 더욱 감사하구요
하루에 두개의 질문을 해서 죄송합니다.
그리고 1998-04-04 에서 - 처리는 했습니다.
에구구 그럼 진정한 델피언님들의 답변 기둘릴께요
염체 없습니다.
> function Tcivilform.udateTointch(a : string) : integer ;
> var
> s :string ;
> begin
> s := copy(a,1,4)+copy(a,6,2)+copy(a,9,2) ;
> udateTointch := strtoint(s) ;
> end ;
>
> //이렇게 함수를 만들어서요
>
> //날자 방식의 문자를 숫자로 변환 함수
> f:=udateTointch(edit1.text) ;
> g:=udateTointch(edit2.text) ;
> sysd := udate ;
> try //예외처리 말그대로 여기서 빵나길래
> if (f < 19980000) or (f > g )or (f >= sysd )or( g > sysd )then
> begin
> messagedlg('기간검색의 시점은 1998년이후로, 옮바른 값을 입력하세요!',mterror,[mbok],0) ;
> exit ;
> end ;
> except
> showmessage('잘못된 기간입력입니다.다시 입력하세요') ;
> end ;
>
>
> if (strtoint(copy(edit1.text,6,2))=0)or(strtoint(copy(edit1.text,6,2))>12) or
> (strtoint(copy(edit1.text,9,2))=0)or(strtoint(copy(edit1.text,9,2))>31) or
> (strtoint(copy(edit2.text,6,2))=0)or(strtoint(copy(edit2.text,6,2))>12) or
> (strtoint(copy(edit2.text,9,2))=0)or(strtoint(copy(edit2.text,9,2))>31) then
> begin
> messagedlg('월과 일의 입력이 틀렸읍니다',mterror,[mbok],0) ;
> exit ;
> end ;
>
> 이런식으로 임시방편으로 했습니다.
> 함수가 있다 들었는데 어떤함수인쥐 예제를 간단하게 써주시면 더욱 감사하구요
> 하루에 두개의 질문을 해서 죄송합니다.
> 그리고 1998-04-04 에서 - 처리는 했습니다.
> 에구구 그럼 진정한 델피언님들의 답변 기둘릴께요
> 염체 없습니다.
>
날짜가 올바른지 체크하는 함수는
function DateCheck( sDate : String ) : Boolean;
begin
try
StrToDate(sDate);
Result := True;
except
// 올바른 일자가 아닐때~
Result := False;
end;
end;
이렇게 하면 될꺼 같구요..
윤년 체크는 IsLeapYear() 라는 함수가 있는거 같아요..
즐코하세요~!