Q&A

  • DBGrid에서 입력된 값 알아내는 방법..
안녕하세요...

여기서 자주 도움 받는 Heaven입니다..



제가 다름이 아니옵고, DBGrid에서 값을 입력받았는데..

엔터키를 눌렀을때 그 셀에 입력된 값을 구하고 싶습니다.

그 값을 가지고 어떤 처리를 하고 싶거든요..



그래서 KeyPress에서 Key==13일때 그 값을 읽으려고,



AnsiString str := Table1.FieldByName("code").AsString;



이런식으로 했는데요..값이 널값이 넘어옵니다..

아무래도, 입력된값이 적용인 안된거 같은데, 알아내는 방법이

없을까요..

임의대로 Post를 하고 구하니까 구해지던데, 그러면 취소할때나..

여러가지 문제가 있을꺼 같습니다..



하고자 하는일은 엔터키를 눌렀을때, 그 위치의 셀의 값을 읽어서

어떤 처리를 하고, 그 처리 결과에 따라 다음 셀로 이동하든지,

다시 입력받든지 하는 것입니다...



그리고 아래에 질문을 드렸는데, 임의의 셀로 이동하는 문제 말인데요..

Table1.SelectedFiedl := Table1Field;

이런식으로 원하는 테이블의 필드를 했는데 인식을 못하더군요..

음..왜그런지..제가 잘못했는지도....그리고,

위의 방법말고, 원하는 Row와 Col값을 주면 그 위치로 이동하는

방법을 원합니다..



그럼..정말..부탁드릴께요..



4  COMMENTS
  • Profile
    김용진 1999.04.13 21:10
    델파이3.0에서 델파이4.0으로 Upgrade를 할려고 합니다.

    델파이3.0용 BDE를 사용해도 되지만 델파이3.0을 Uninstall시키고 델파이4.0용

    BDE를 사용하려 합니다.

    개발환경은 Unix에 Oracle7.2를 사용합니다.

    문제점은 델파이4.0용BDE를 설치하고 Oracle(BDE에서 database Alias:korea)를 접속하면 Error가 납니다.(Vender Initialzationfailed File:ORA73.DLL Alias:korea)

    델파이3.0용 BDE(Idapi32.cfg) 와 델파이4.0(Idapi.cfg)용 BDE의 cfg가 서로 다른데 그것과 무슨 연관이 있는지......

    해결책을 아시면 알려주셨으면 합니다......

  • Profile
    류동균 1999.06.20 08:00
    Heaven 께서 말씀하시기를...

    > 안녕하세요...

    > 여기서 자주 도움 받는 Heaven입니다..

    >

    > 제가 다름이 아니옵고, DBGrid에서 값을 입력받았는데..

    > 엔터키를 눌렀을때 그 셀에 입력된 값을 구하고 싶습니다.

    > 그 값을 가지고 어떤 처리를 하고 싶거든요..

    >

    > 그래서 KeyPress에서 Key==13일때 그 값을 읽으려고,

    >

    > AnsiString str := Table1.FieldByName("code").AsString;

    >

    > 이런식으로 했는데요..값이 널값이 넘어옵니다..

    > 아무래도, 입력된값이 적용인 안된거 같은데, 알아내는 방법이

    > 없을까요..

    > 임의대로 Post를 하고 구하니까 구해지던데, 그러면 취소할때나..

    > 여러가지 문제가 있을꺼 같습니다..

    >

    > 하고자 하는일은 엔터키를 눌렀을때, 그 위치의 셀의 값을 읽어서

    > 어떤 처리를 하고, 그 처리 결과에 따라 다음 셀로 이동하든지,

    > 다시 입력받든지 하는 것입니다...

    >

    > 그리고 아래에 질문을 드렸는데, 임의의 셀로 이동하는 문제 말인데요..

    > Table1.SelectedFiedl := Table1Field;

    > 이런식으로 원하는 테이블의 필드를 했는데 인식을 못하더군요..

    > 음..왜그런지..제가 잘못했는지도....그리고,

    > 위의 방법말고, 원하는 Row와 Col값을 주면 그 위치로 이동하는

    > 방법을 원합니다..

    >

    > 그럼..정말..부탁드릴께요..

    > ---------------------------------

    첫번째 질문의 답.

    KeyPress의 13키값으로 체크하면 그 셀의 값을 알수가 없읍니다.

    그래서 그 셀의 값을 알고 싶으면 Tab키를 친후에 알수가 있지요.

    다시 말해서 Focus가 다음셀에 가야만 그 셀의 값을 알수가 있읍니다.

    두번째 질문의 답.

    역시 Focus의 문제로서 Table1.SetFocus(?)명령이 빠진것 같네요. 아니면 DBGrid면 DBGrid1.SetFocus 명령이 빠졌네요.

    답변이 되었으면 좋겠읍니다.







  • Profile
    Heaven 1999.06.20 08:54
    안녕하세요..류동규님..

    답변 잘 들었습니다..



    말씀하신대로, 포커스가 다음 셀로 이동해야만 그 값이 적용된다는 것을

    알겠는데요. 그럼, 값을 입력받고 다음 셀로 이동한다음, 그 입력된값을

    알아내서, 그 값을 가지고 조작한후에 적당하지 않으면 원래셀로 이동해서

    다시 입력받고 해야되나요?



    그래야만 된다면, 좀 더 좋은 방법을 알려주시면 고맙겠네요..

    그리고, 엔터키가 눌렸을때 다음 셀로 이동하도록 처리했습니다.



    두번째 질문에서, 특정 필드로 옮길때, SetFocus도 했는데 안되네요.

    DBGrid1.SelectedField := Table1Field 에서

    Table1Field를 인식못하네요. 분명히 그 필드가 존재하는데,

    그 필드를 인식 못합니다...음..무척 고민되네요..

  • Profile
    류동균 1999.06.20 21:57
    답변에 도움이 되었다니 다행이네요.

    첫번째 방법은 현재로선 다른 방법이 없는것 같네요.

    DBGrid의 OnColEnter이벤트에서 다음과 같은 방법으로 처리를 하면 어떨까요.

    첫번째 필드:A , 두번째 필드:B 라면

    첫번째 필드에서 값을 받은후 두번째 필드에 포크스가 온후 체크하면 되니까?

    if DBGrid.SelectedField=Table1.Fields[1](or Table1.FieldByName('B')) then

    begin

    첫번째 필드값을 알아내기 (=Table1.FieldByName('A').Value)

    그리고 체크한후 다시 첫번째 필드로 가야 될경우

    DBGrid.SelectedField:=Table1.FieldByName('A')(or Table1.Fields[0]);

    DBGrid.SetFocus;

    end;

    두번째 방법은 위의 예문가 같은 방법으로 명령을 쓰면 되는데 그래도

    안된다면 아마 이벤트의 선후 처리 문제인것 같네요.

    그 명령이 처리된후에 따른 이벤트가 처리 되면 그렇게 되지요.

    참고로 Abort라는 명령을 적절히 사용하면 해결될 수 있지요.

    이 방법으로 해결이 되었으면 좋겠네요.

    음. 소스가 있으면 더욱 확실하게 답변을 드릴수가 있는데.... ^_^

    즐거운 주말 되세요.







    • Heaven
    • 1999.06.19 12:43
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김용진
      1999.04.13 21:10
      델파이3.0에서 델파이4.0으로 Upgrade를 할려고 합니다. 델파이3.0용 BDE를 사용해도 되지만 델파이3.0을 ...
    • 류동균
      1999.06.20 08:00
      Heaven 께서 말씀하시기를... > 안녕하세요... > 여기서 자주 도움 받는 Heaven입니다.. > > 제가 다...
    • Heaven
      1999.06.20 08:54
      안녕하세요..류동규님.. 답변 잘 들었습니다.. 말씀하신대로, 포커스가 다음 셀로 이동해야만 그 값이 ...
    • 류동균
      1999.06.20 21:57
      답변에 도움이 되었다니 다행이네요. 첫번째 방법은 현재로선 다른 방법이 없는것 같네요. DBGrid의 OnCo...
    • 이진수
    • 1999.04.13 10:49
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 조성윤
      1999.06.19 11:07
      안녕하세요. 텔파이를 배우는 초보자입니다. DBcombobox 와 DBlistbox를 왜 사용하는지 알고 싶습니다. ...
    • 신인재
      1999.04.13 19:58
      이진수 wrote: > 안녕하세요.. > 성실한 답변에 항상 감사드립니다.. > > 1) MediaPlayer 컴포넌트를 ...
    • 류동균
      1999.06.20 08:16
      조성윤 께서 말씀하시기를... > 안녕하세요. > 텔파이를 배우는 초보자입니다. > DBcombobox 와 DBlistb...
    • 이진수
    • 1999.04.13 10:49
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 초보
      1999.06.19 08:42
      신인재님 자료실에 게시하시기로 하신 자료 빨리 게시 부탁드립니다.. 그럼.. 기다리겠습니다.
    • 신인재
      1999.04.13 19:58
      이진수 wrote: > 안녕하세요.. > 성실한 답변에 항상 감사드립니다.. > > 1) MediaPlayer 컴포넌트를 ...
    • 신인재
      1999.06.19 18:48
      에구....자료는 한델 자료실에 답변드린다음 바로 올렸습니다....(델집컴포넌트) 어디로 들어 오셨는지 모...
    • 이소라
    • 1999.06.19 06:09
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이진수
      1999.04.12 21:33
      안녕하세요..수고 많으십니다. 다름이 아니고 테이블안에서 텍스트로Search를 해서 그 해당 텍스트에 대...
    • mute
      1999.06.19 06:52
      이소라 께서 말씀하시기를... > 파일을 일고 쓰기 할때 아래와 같이 사용하면 자꾸 'canont open 'c:outfi...
    • 신인재
      1999.04.13 04:32
      이진수 wrote: > 안녕하세요..수고 많으십니다. > 다름이 아니고 테이블안에서 텍스트로Search를 해서 그...
    • 안치봉
      1999.06.19 06:51
      이소라 께서 말씀하시기를... > 파일을 일고 쓰기 할때 아래와 같이 사용하면 자꾸 'canont open 'c:outfi...
    • 왕초
      1999.06.19 03:31
      MDI방식의 실행된 프로그램 화면의 밑에 minimized된 MDIChild를 제어하려고 하는데.. 타이틀바를 더블클...
    • 이정욱
      1999.04.13 04:21
      comobj.pas 파일을 보시면 advise메소드를 이용한 connect와 disconnect가 있습니다. 내부적으로 QueryInt...
    • 이순희
      1999.04.13 03:32
      저번의 답변 너무 고마웠습니다.. 이번에는 다름이 아니라... 질의에 대한 결과를 중간에 어떤 테이블에 ...
    • 최석기
      1999.06.19 02:47
      한재영 께서 말씀하시기를... > 스트링 그리들 생성하구 거기에 내용을 넣었습니다. > > 근데 스트링 ...
    • 신인재
      1999.04.13 04:18
      이순희 wrote: > 저번의 답변 너무 고마웠습니다.. > 이번에는 다름이 아니라... > 질의에 대한 결과를 ...
    • 이순희
      1999.04.13 03:32
      저번의 답변 너무 고마웠습니다.. 이번에는 다름이 아니라... 질의에 대한 결과를 중간에 어떤 테이블에 ...
    • 최석기
      1999.06.19 02:17
      keiran 께서 말씀하시기를... > Local에서 paradox로 데이터베이스를 구성하고 > 응용 프로그램에서 나...
    • 신인재
      1999.04.13 04:18
      이순희 wrote: > 저번의 답변 너무 고마웠습니다.. > 이번에는 다름이 아니라... > 질의에 대한 결과를 ...
    • 박기철
    • 1999.06.19 01:16
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이순희
      1999.04.12 23:31
      안녕하세요.... 여기 오니깐 보고 배울 것이 참 많군요.. 다름이 아니라... 델파이에서 테이블을 만들 때...
    • 안치봉
      1999.06.19 01:53
      박기철 께서 말씀하시기를... > 프로젝트를 하면서 일정한 form의 구조를 정의하고 작성한다음 이를 > F...
    • 안치봉
      1999.04.13 02:21
      이순희 wrote: > 안녕하세요.... > 여기 오니깐 보고 배울 것이 참 많군요.. > 다름이 아니라... 델파이...
    • 공대규
    • 1999.04.12 23:46
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.04.13 01:05
      공대규 wrote: > 안녕하십니까? 질문이 있어서요... > > 1. 버퍼에 있는 로우 포맷의 이미지 데이타를 ...
    • 공대규
      1999.04.13 23:49
      안치봉 wrote: > 공대규 wrote: > > 안녕하십니까? 질문이 있어서요... > > > > 1. 버퍼에 있는 로우 ...
    • 공대규
    • 1999.04.12 23:46
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 우민석
      1999.06.18 23:46
      제가 마우스를 특정한 범위로 제한을 하고 싶습니다. 그런데 방법을 잘 모르겠어요. 그래서 생각해낸 방...
    • 안치봉
      1999.04.13 01:05
      공대규 wrote: > 안녕하십니까? 질문이 있어서요... > > 1. 버퍼에 있는 로우 포맷의 이미지 데이타를 ...
    • 안치봉
      1999.06.19 00:56
      우민석 께서 말씀하시기를... > 제가 마우스를 특정한 범위로 제한을 하고 싶습니다. > 그런데 방법을 잘...
    • 공대규
      1999.04.13 23:49
      안치봉 wrote: > 공대규 wrote: > > 안녕하십니까? 질문이 있어서요... > > > > 1. 버퍼에 있는 로우 ...
    • 이순희
    • 1999.04.12 23:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 조용덕
      1999.06.18 23:20
      여러개의 폼파일을 DLL로 생성후 실행프로그램에서 DLL하는 방법 및 폼실행하는 방법을 알고 싶습니다. ...
    • 안치봉
      1999.04.13 02:21
      이순희 wrote: > 안녕하세요.... > 여기 오니깐 보고 배울 것이 참 많군요.. > 다름이 아니라... 델파이...
    • 안치봉
      1999.06.19 01:01
      조용덕 께서 말씀하시기를... > 여러개의 폼파일을 DLL로 생성후 > 실행프로그램에서 DLL하는 방법 및 폼...
    • 김재현
    • 1999.04.12 23:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 배리스
      1999.04.18 02:04
      김재현 wrote: > 델파이로 CGI 프로그래밍을 하고 있습니다. > ISAPI 방식이 아닌 Standard-alone(EXE 방...
    • 신인재
      1999.04.13 04:32
      이진수 wrote: > 안녕하세요..수고 많으십니다. > 다름이 아니고 테이블안에서 텍스트로Search를 해서 그...
    • 김도영
    • 1999.06.18 21:26
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 안치봉
      1999.06.18 22:01
      김도영 께서 말씀하시기를... > 안녕하세요... > > ThreadID혹은...ProcessID...또는..HWND..혹은.......
    • 김도영
      1999.06.19 01:19
      안치봉 께서 말씀하시기를... > 김도영 께서 말씀하시기를... > > 안녕하세요... > > > > ThreadID혹...
    • 이정욱
      1999.04.13 04:21
      comobj.pas 파일을 보시면 advise메소드를 이용한 connect와 disconnect가 있습니다. 내부적으로 QueryInt...
    • 홍정희
    • 1999.04.11 08:21
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강양규
      1999.06.18 20:53
      누가 저좀 도와주세요!!!! query 를 사용하여 조회해온 data를 dbgrid로 표시하고 dbgrid에서 multi로 선...
    • 최석기
      1999.06.18 21:24
      강양규 께서 말씀하시기를... > 누가 저좀 도와주세요!!!! > query 를 사용하여 조회해온 data를 dbgrid...