Q&A

  • Field Editer에서 GetText 사용법
안녕하십니까..



Query에서 Field Editer를 열어보면 필드가 나오는데..



그 필드 이벤트중 GetText의 사용법을 알고 싶습니다.



코딩방법 말이죠..부탁드립니다....그럼 이만..

1  COMMENTS
  • Profile
    이재식 1999.09.14 03:30
    안녕하세요?

    아주 좋은 질문하셨습니다.

    먼저 그 이벤트에 보면 세개의 매개변수가 있습니다.

    Sender : TField, Text : string, DisplyText : Boolean.

    이세개의 매개변수가 매우 유용하죠.

    여기서 Sender는 TField타입임을 명심하세요.

    이 이벤트는 한마디로 특정필드(이 이벤트를 호출하는 필드)의 값을

    보여줄때 편집하기 위해서 쓰이는 것입니다.

    여기서, Text는 최종 보여주는 값을 대입하고요,

    DisplayText는 특정조건에서 이 필드를 보여줄지 안보여줄지를

    결정하는 매개변수죠. 그래서 이것은 Boolean으로 되어있죠.

    가령, 예를 들어 보겠습니다. A라는 테이블에 A1라는 필드가 있는데,

    이 A1는 String타입으로써, 19990101이라는 날짜형식의 데이터를 가지고

    있다고 합시다. 내가 만약 이값을 그냥 19990101이 아닌

    1999년 01월 01일이라고 보여주길 원한다고 합시다.(DBGrid라고 가정하죠)

    그럼 이렇게 하면 되요.

    그 이벤트에서

    Text := copy(Sender.asString, 1, 4) + '년 ' +

    copy(Sender.asString, 5, 2) + '월 ' +

    copy(Sender.asString, 7, 2) + '일' ;

    이렇게 하면 DBGrid에 보여질때 1999년 01월 01일이라고 보여지죠.

    물론 실제 테이블에 있는 그 필드의 데이터 19990101이라는 그 원본값을

    유지합니다

    여기서 특정조건에 따라서 출력유무를 결정하려면

    if 조건 then

    DisplayText := true

    else

    DisplayText := false ;

    라고 하면되죠.

    이해가 되시는지요?

    그런데, 이렇게하면 안되요.

    이 이벤트는 데이터가 없어도 일단은 실행이 되요.

    따라서, 원하는 코딩앞에 이렇게 해주면 금상첨화죠.

    if 컴포넌트이름.isEmpty <> true then

    begin

    코딩

    end ;

    이렇게 해야 데이터가 없으면 아무것도 안나오고 있으면

    코딩한대로, 즉 Text에 대입한 최종값을 뿌려주죠.



    도움이 되었나요?