Q&A

  • 입력시 오른쪽부터 입력하게...
TextGrid 에서 입력을 할때

숫자의 경우 오른쪽으로 정렬하고 입력할때도 오른쪽부터

해야 되는데 어떻게 하면 되는지?

아시는분은...

입력 마스크는 어떻게 주는지도 알려주세요...

부탁합니다.



3  COMMENTS
  • Profile
    궁금이 1999.06.08 00:33
    Query를 사용하여 Data를 Select한 후, 정의된 Pointer에 맞게끔 데이타를 넣고

    TreeView에 Add하였습니다. 아래 코딩처럼요.



    procedure TForm1.TreeViewShow;

    begin

    Query.Close;

    Query.SQL.Add('Select * From Test');

    Query.Open;



    TreeView1.Items.Clear;

    RootNode := TreeView1.Items.Add(nil,'Root');

    while not Query1.EOF do begin

    New(MRPtr);

    MRPtr^.ML0 := Query1.Fields[0].asInteger;

    MRPtr^.ML1 := Query1.Fields[1].asInteger;

    MRPtr^.ML2 := Query1.Fields[2].asInteger;

    MRPtr^.Name := Query1.Fields[3].asString;



    if Query1.Fields[0].asInteger <> 0 then

    MyNode1 := TreeView1.Items.AddChildObject(RootNode,MRPtr^.Name, MRPtr);

    .....

    .....



    Next;

    end;



    TreeView1.FullExpand;

    end;



    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

    begin

    Dispose(MRPtr);

    end;



    그런데 Form의 OnShow이벤트에 위와 같이 작성한 함수를 호출했을 때는 아무 이상이 없는데, DB에 새로운 데이타를 insert 한 후, TreeView를 Refresh하기 위해 위의 함수를 다시 한번 호출하면 TreeView의 내용이 이상하게 나옵니다.

    (그러니까, 아까의 내용이 Clear가 되지 않는다든지, TreeView의 내용이 선택이 되지 않는다든지...)



    제가 뭘 잘못한걸까요?

    그런데 똑같은 함수를 다른 Form에서 만들어서 사용했는데, 거기는 아직까지 이상이 없는 것 같네요.

    한번 살펴봐 주시기 바랍니다.



  • Profile
    안치봉 1999.02.10 19:41
    홍지선 wrote:

    > TextGrid 에서 입력을 할때

    > 숫자의 경우 오른쪽으로 정렬하고 입력할때도 오른쪽부터

    > 해야 되는데 어떻게 하면 되는지?

    > 아시는분은...

    > 입력 마스크는 어떻게 주는지도 알려주세요...

    > 부탁합니다.

    >



    그리드에서 텍스트를 입력할때 내부적으로 에디터를 만들어서 쓰는걸로

    알고 있습니다. 그러다면 그 에디터를 어떻게하든 오른쪽 으로 텍스트가

    정렬되게 해야 하는거죠.... 상당히 복잡해 지네요...



    procedure TForm1.FormCreate(Sender: TObject);

    begin

    CreateWindowEx(WS_EX_CLIENTEDGE, 'EDIT', '', WS_VISIBLE or WS_CHILD or ES_RIGHT, 10, 10, 100, 20, Handle, 0, HInstance, nil);

    //CreateWindow('EDIT', '', WS_VISIBLE or WS_CHILD or ES_RIGHT, 10, 10, //100, 20, Handle, 0, HInstance, nil);

    end;



    처럼 하면 불편하나마... 오른쪽 정렬의 텍스트에디터는 구현이 됩니다.

    밑에 주석표시는 입체감이 필요없을때 사용하시면 되고요.



    밑의 주석으로 표시한 부분을 콤포넌트화 해서 그리드입력시 사용하는 에디

    터로 지정하면 가능할것도 같아요....^^;



    아니면 윈도우스타일을 바꾸는 함수를 사용하여 실행시 그리드에디터의 속성을

    바꾸시던지요... SetClassLong..., 등등의 함수가 있는걸로 압니다...

    자세한건 윈도우 API 를 참고하세요~



    그리고 마스크는 델파이 도움말을 보면 아주 친절하게 나와 있습니다~



  • Profile
    김성동 1999.06.08 01:04
    New로 할당한 메모리를 FormClose에서 해제하면 안되죠..



    TreeView의 OnDeletion Event를 작성하시고

    아래와 같이 코딩하시면...



    procedure TreeView1.OnDeletion(Sender: TObject; Node: TTreeNode);

    begin

    Dispose(MRPtr의 형(Node.Data));

    end;



    이렇게 해야 Clear 메소드를 호출할 때 New로 할당한 메모리를 자동으로 해제해 주죠.



    그럼...



    궁금이 께서 말씀하시기를...

    > Query를 사용하여 Data를 Select한 후, 정의된 Pointer에 맞게끔 데이타를 넣고

    > TreeView에 Add하였습니다. 아래 코딩처럼요.

    >

    > procedure TForm1.TreeViewShow;

    > begin

    > Query.Close;

    > Query.SQL.Add('Select * From Test');

    > Query.Open;

    >

    > TreeView1.Items.Clear;

    > RootNode := TreeView1.Items.Add(nil,'Root');

    > while not Query1.EOF do begin

    > New(MRPtr);

    > MRPtr^.ML0 := Query1.Fields[0].asInteger;

    > MRPtr^.ML1 := Query1.Fields[1].asInteger;

    > MRPtr^.ML2 := Query1.Fields[2].asInteger;

    > MRPtr^.Name := Query1.Fields[3].asString;

    >

    > if Query1.Fields[0].asInteger <> 0 then

    > MyNode1 := TreeView1.Items.AddChildObject(RootNode,MRPtr^.Name, MRPtr);

    > .....

    > .....

    >

    > Next;

    > end;

    >

    > TreeView1.FullExpand;

    > end;

    >

    > procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

    > begin

    > Dispose(MRPtr);

    > end;

    >

    > 그런데 Form의 OnShow이벤트에 위와 같이 작성한 함수를 호출했을 때는 아무 이상이 없는데, DB에 새로운 데이타를 insert 한 후, TreeView를 Refresh하기 위해 위의 함수를 다시 한번 호출하면 TreeView의 내용이 이상하게 나옵니다.

    > (그러니까, 아까의 내용이 Clear가 되지 않는다든지, TreeView의 내용이 선택이 되지 않는다든지...)

    >

    > 제가 뭘 잘못한걸까요?

    > 그런데 똑같은 함수를 다른 Form에서 만들어서 사용했는데, 거기는 아직까지 이상이 없는 것 같네요.

    > 한번 살펴봐 주시기 바랍니다.

    >





    • 이재훈
    • 1999.06.08 03:10
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 홍지선
      1999.02.09 19:34
      TextGrid 에서 입력을 할때 숫자의 경우 오른쪽으로 정렬하고 입력할때도 오른쪽부터 해야 되는데 어떻게...
    • 바이도
      1999.06.08 18:15
      Update TESTTABLE set AAFIELD = ' ' where AAFIELD is null; TESTTABLE : TABLE NAME AAFIELD ...
    • 안치봉
      1999.02.10 19:41
      홍지선 wrote: > TextGrid 에서 입력을 할때 > 숫자의 경우 오른쪽으로 정렬하고 입력할때도 오른쪽부터 ...
    • 송기원
      1999.06.08 03:19
      Update 테이블이름 set 컬럼이름 = null where 조건문 Ex. Update Employee set new_salary = null ...
    • 황하강
    • 1999.06.08 02:59
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 강영구
      1999.02.10 19:32
      델파이에 관해서 찾다보니..이곳까지..왔습니다. 아래..질문과 답을 조금 보다보니... 나이렉스라는 곳에...
    • 김영대
      1999.06.08 18:57
      황하강 께서 말씀하시기를... > 질문] > 델파이 2 에서 TCP/IP를 이용해서 서버와 데이타를 주고 받는 ...
    • 신재민
      1999.02.10 21:53
      저희 나이렉스는 서초동에 있습니다. 전화는 521-7900 입니다. 강영구 wrote: > 델파이에 관해서 찾다...
    • 구민오
    • 1999.02.10 11:23
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박정현
      1999.06.08 02:47
      안녕하세요. 전 Access하구 델파이하구 연결 해서 쓰고 있는데요. 입력을 시켜 놓구 다시 그행에 가서 필...
    • 안치봉
      1999.02.10 19:03
      구민오 wrote: > 폼에 그라이데이션효과를 주려면 어떻게 해야하나요??? > procedure TForm1.FormPai...
    • 구민오
    • 1999.02.10 11:23
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 마성수
      1999.06.08 02:19
      도스에서 copy test*.txt error.txt라고 치면 error.text에는 test1.txt와 test2.txt란 화일이 합쳐져 있...
    • 안치봉
      1999.02.10 19:03
      구민오 wrote: > 폼에 그라이데이션효과를 주려면 어떻게 해야하나요??? > procedure TForm1.FormPai...
    • 안치봉
      1999.06.08 03:41
      마성수 께서 말씀하시기를... > 도스에서 copy test*.txt error.txt라고 치면 > error.text에는 test1.tx...
    • 홍지선
    • 1999.02.09 19:34
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 궁금이
      1999.06.08 00:33
      Query를 사용하여 Data를 Select한 후, 정의된 Pointer에 맞게끔 데이타를 넣고 TreeView에 Add하였습니다...
    • 안치봉
      1999.02.10 19:41
      홍지선 wrote: > TextGrid 에서 입력을 할때 > 숫자의 경우 오른쪽으로 정렬하고 입력할때도 오른쪽부터 ...
    • 김성동
      1999.06.08 01:04
      New로 할당한 메모리를 FormClose에서 해제하면 안되죠.. TreeView의 OnDeletion Event를 작성하시고 ...
    • 블루
    • 1999.06.07 23:36
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 안경훈
    • 1999.02.09 00:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.02.09 01:44
      현재 사용하시는 델파이 버전은 무엇인지요? OS는 98인가요? 안경훈 wrote: > 델파이가 한번 컴파일하...
    • 송기원
    • 1999.06.07 22:59
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.08 00:37
      송기원 께서 말씀하시기를... > Project를 디버깅중에 자꾸 Bordbk40.dll에서 access Violation error > ...
    • 안경훈
    • 1999.02.09 00:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.02.09 01:44
      현재 사용하시는 델파이 버전은 무엇인지요? OS는 98인가요? 안경훈 wrote: > 델파이가 한번 컴파일하...
    • 김재억
    • 1999.02.05 20:33
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 박종성
      1999.06.07 22:53
      안녕하세요! 여러분 델파이에서는 Drive나 Directory, Filelistbox들을 지원해주는데요.(Win 3.1) 써...
    • 이정욱
      1999.02.08 06:04
      E-Mail을 확인해 보세요. 김재억 wrote: > 안녕하세요? 김 재억입니다. > 제가 다니는 회사는 POD정기...
    • 김성동
      1999.06.08 00:57
      탐색기 역할을 하는 콤포넌트는 안치봉님께서 말씀하신 상용 콤포넌트 말고 여러가지 공개 콤포넌트들이 있...
    • 안치봉
      1999.06.08 00:42
      박종성 께서 말씀하시기를... > 안녕하세요! 여러분 > > 델파이에서는 Drive나 Directory, Filelistbox...
    • 강영구
    • 1999.02.05 19:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.02.08 06:01
      사용하시는 스케너의 Twain드라이버가 직접 아래작업들을 코맨드로 지원하지 않는다면 직접 스케너를 제어...
    • 이승윤
    • 1999.06.07 22:27
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김태균
      1999.06.07 23:48
      이승윤 께서 말씀하시기를... > SQLServer7.0을 처음 사용합니다. > 서버에 설치된 DB를 디스켓으로 받아...
    • 이정욱
      1999.02.08 05:38
      저희회사에서 취급하는 모든 컴포넌트에 대한 지원은 지금도 계속 되고 있습니다. 항상 http://www.nilex...
    • 구민오
    • 1999.02.07 05:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 송재훈
      1999.02.11 04:07
      구민오 wrote: > winsocket을 후킹을 하고 싶거든요... > 이걸 후킹을 하려면 어떻게 해야 하는지 정말 ...
    • 초보
      1999.06.07 22:06
    • 이정욱
      1999.02.08 05:38
    • 안치봉
      1999.06.08 00:46
    • 초보
      1999.06.09 02:39
    • 초보
      1999.06.09 02:44
    • 안치봉
      1999.06.09 03:26
    • 초보
      1999.06.09 19:14
    • • • •
    • chobo
    • 1999.06.07 19:31
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 구민오
      1999.02.05 11:02
      인터넷 익스플로러나 시작 버튼을 누르면 나오는 실행...을 통해서 URL을 집어 넣을 경우 이 주소 메세지가...
    • 전철호
      1999.06.07 20:06
      chobo 께서 말씀하시기를... > > 폼에 이미지 컴포넌트를 넣고 > 이미지를 불러 들였습니다만, > >...
    • 이정욱
      1999.02.06 09:54
      인터넷 프로그래밍을 하시면서 유해정보차단장치를 만드신다고 하셨는데 그것을 통제하는 방법은 있습니다....
    • 이정욱
      1999.02.06 01:57
      메세지가 발생하면서 전달이 되지는 않을것 같다는것이 제 의견입니다. 그냥 IE는 ActiveX콘트롤로써 그부...