안녕하세요. 까마귀입니다.
비 그치고 나니 좀 상쾌하지 않으세요? 남은 하루라도 그렇게 보내시길...
const
NALJA_YES : 1
NALJA_NO : 0
procedure Tdm_Closing.q_IdJDATEChange(Sender: TField);
begin
if Length(q_IdJdate.AsString) = 6 then
begin
if StrToInt(Copy(q_IdJdate.AsString,1,2)) > 10 then
q_IdJdate.AsString := '19' + q_IdJdate.AsString
else q_IdJdate.AsString := '20' + q_IdJdate.AsString;
if DateChk(q_IdJdate.AsString) = NALJA_NO then
ShowMessage('날짜 입력 오류입니다.');
end;
end;
위처럼 TField 의 OnChanged 이벤트에서 날짜 입력 및 점검하는 코드를 만들었는데요.
DateChk 함수는 날짜 점검인데 따로 적지는 않았습니다.
물어보려는 것은요, 위와 같은 기능을 가져야 하는 TField가 5개 있어요.
이게 전부 DBGrid에서 표시가 되는 것입니다.
Query로 불러온것인데요, 각각의 이름만 틀릴 뿐이지 코딩 소스는 다 같습니다.
이럴경우에 위처럼 이름을 쓰지 않고 코딩해서 5개의 TField가 같은 소스를 공유하는수가 없나요?
말하자면 TComboBox(ActiveControl).DroppedDown 뭐 이런식으로 적을수가 없냔느 겁니다.
q_IdJdate.AsString 이것을 TField(ActiveControl).AsString 로 적으니까 에러가 나데요.
제가 이런식으로 적는방법이 있다고만 알지 어떤경우에 어떻게 적어야 한다는 것에는 쑥맥입니다.
어떤식으로 하는지 방법을 알려주시면 무척 감사하겠습니다.
그리고, 위와 같은 - TComboBox(ActiveControl).... - 코딩법은 어떻게 구현하는가를 알려주실수 있으면 더욱 고맙겠습니다. 아님 그런 사이트가 있는 곳등....
그럼 수고하세요.
꾸벅~~.
위대한 단군혼이 살아있는 나라.... 대한민국.
오브젝트 인스펙터에서 이벤트 탭의 첫번째 이벤트인 on change에 myChange라고
입력하시고 엔터를 치면 다음과 같은 프로시져가 생깁니다.
여기에 show...처럼 원하는 코딩을 하시면
이벤트를 기술할때 선택했던 모든 필드에 대해서 모두 똑같은 프로시져가
적용이 됩니다.
그럼 좋은 결과있기를...
procedure TForm1.myChange(Sender: TField);
begin
showmessage(sender.asstring);
end;
end.
> 안녕하세요. 까마귀입니다.
> 비 그치고 나니 좀 상쾌하지 않으세요? 남은 하루라도 그렇게 보내시길...
>
> const
> NALJA_YES : 1
> NALJA_NO : 0
>
> procedure Tdm_Closing.q_IdJDATEChange(Sender: TField);
> begin
> if Length(q_IdJdate.AsString) = 6 then
> begin
> if StrToInt(Copy(q_IdJdate.AsString,1,2)) > 10 then
> q_IdJdate.AsString := '19' + q_IdJdate.AsString
> else q_IdJdate.AsString := '20' + q_IdJdate.AsString;
> if DateChk(q_IdJdate.AsString) = NALJA_NO then
> ShowMessage('날짜 입력 오류입니다.');
> end;
> end;
>
> 위처럼 TField 의 OnChanged 이벤트에서 날짜 입력 및 점검하는 코드를 만들었는데요.
> DateChk 함수는 날짜 점검인데 따로 적지는 않았습니다.
> 물어보려는 것은요, 위와 같은 기능을 가져야 하는 TField가 5개 있어요.
> 이게 전부 DBGrid에서 표시가 되는 것입니다.
> Query로 불러온것인데요, 각각의 이름만 틀릴 뿐이지 코딩 소스는 다 같습니다.
> 이럴경우에 위처럼 이름을 쓰지 않고 코딩해서 5개의 TField가 같은 소스를 공유하는수가 없나요?
> 말하자면 TComboBox(ActiveControl).DroppedDown 뭐 이런식으로 적을수가 없냔느 겁니다.
> q_IdJdate.AsString 이것을 TField(ActiveControl).AsString 로 적으니까 에러가 나데요.
> 제가 이런식으로 적는방법이 있다고만 알지 어떤경우에 어떻게 적어야 한다는 것에는 쑥맥입니다.
> 어떤식으로 하는지 방법을 알려주시면 무척 감사하겠습니다.
> 그리고, 위와 같은 - TComboBox(ActiveControl).... - 코딩법은 어떻게 구현하는가를 알려주실수 있으면 더욱 고맙겠습니다. 아님 그런 사이트가 있는 곳등....
> 그럼 수고하세요.
> 꾸벅~~.
>
>
>
> 위대한 단군혼이 살아있는 나라.... 대한민국.