Q&A

  • [질문]같은 폼의 다른 스피드버튼을 눌러지게 하려면..?
안녕하심니까? 전봉수 입니다.
갈은 폼 에서 페이지 컨트롤로 구분이 되어있는 다른스피드버튼을 눌러지게
하려면 어떤 이벤트를 써야 합니까
여러번 검색해도 뚜렸한 답변들이 없어 부득히 질문을 드립니다.
도와주시면 고맙겠습니다.  
7  COMMENTS
  • Profile
    이강석 2008.12.18 02:42
    구분되어 있는 다른 스피드 버튼을 눌러지게 한다는 말이 혹시 현재 탭 말고 다른 탭에 있는 버튼을 어떤 시점에서 눌려지게 하고 싶다는 말인가요?
  • Profile
    이정욱 2008.12.18 04:11
    그냥 그 이벤트 호출 해주시면 되는데요....
    만약 Button1Click 로 되어있다면, Button1Click(Button1) 이렇게...
  • Profile
    전봉수 2008.12.18 05:32
    이강석님 이정욱님 답변감사합니다.
    이강석님 말씀 대로 입니다. "단" 어떤 시점이 아니고 수동으로 눌럿을때 발생하고 싶씁니다.
    그리고 이정욱님 말씀대로 하니까 먹히지 않씁니다.
  • Profile
    홍성락 2008.12.18 07:39
    말씀하신걸 직역하면 어떤 스피드 버튼을 클릭하는게 아니라 눌러진 상태로 만든다는 말씀이시지요.
    1. 스피드버튼들의 여러개의 GroupIndex를 같은 값을 주면 라디오버튼 처럼 한개씩만 눌러지고 나머지는 원상태되는 토글방식이 됩니다.
    2. 하나만 눌러지고 원상태 안된게 GroupIndex만 별도 혼자 값을 주면되는되요, 토글식으로 할려면 AllowAllUp를 true해야합니다
    공통적으로 GroupIndex는 0이상입니다
    아래는 다른 이벤트에서 눌렸다 원상태되도록 한것입니다, 물론 버튼 속성에 미리 넣어도 됩니다

    ...
    SpeedButton1.AllowAllUp := True;
    SpeedButton1.GroupIndex := 1; //단독이라면 사용하지 않는 번호를 사용하세요
    SpeedButton1.Down := not SpeedButton1.Down;
    ....
  • Profile
    전봉수 2008.12.18 11:25
    홍성락님 답변 감사합니다.
    저의 질문을 다른방향으로 이해시신것 같씁니다.
    제가질문 들인것은 스피드버튼을 클릭하여 이벤트가 실행되어야 합니다.
    즉 품은 같은 폼이라도 페이지 컨트롤로 탭이 구분이 되어있는 페이지에서
    다른 스피드버튼을 실행하도록 하려고 합니다.
    다시한번 부탁 드립니다.
  • Profile
    홍성락 2008.12.18 18:25
    그렇다면 위의 이정욱님 말씀대로하면 될건데요...같은 폼이라면 아무리 페이지컨트롤로 나뉜다하여도 같은 폼 클래스이거든요.
    확인해 볼것은 실행하려는 버튼과 실행 대상의 버튼 이벤트들 탭을 한번확인해보세요.


    //SpeedButton1과 SpeedButton2는 각각 페이지텝시트가 다른곳에 있고
    //SpeedButton1이 SpeedButton2를 클릭한 이벤트를 실행합니다

    procedure TForm1.SpeedButton1Click(Sender: TObject);
    begin
    SpeedButton2Click(self);
    end;

    procedure TForm1.SpeedButton2Click(Sender: TObject);
    begin
    showmessage('1234');
    end;


    또 하나는 대상버튼 SpeedButton2의 이벤트가 별도로 만든게아니라 제3의 버튼이벤트를 연결해 놓았다면
    SpeedButton2.Click; 또는 SpeedButton3Click(SpeedButton2); 이렇게 해보세요.

    그리고 소스 일부도 포함시키시면 빠른시간에 해결하지 않을까합니다
  • Profile
    전봉수 2008.12.18 20:35
    // 입력탭의 수정 스피드버튼 실행 및 에디터에 값 넣기
    IF PAGECONTROL1.ActivePage = TABSHEET1 THEN
    EXIT;
    Try
    // 입력탭 수정 스피드버튼 실행
    spUPDATE.Click; // 스피드버튼 실행 이벤트
    FINALLY
    // 입력탭 수정 에디터에 값넣기
    ED_Mdate.Text := ED_PIMDATE.TEXT;
    ED_SCODE.Text := ED_PISCODE.Text;
    ED_HCODE.Text := ED_PIHCODE.Text;
    END;
    모든분 답변 감사 합니다. 자체적으로 해결 하였습니다.
    초보님들를 위해서 소스코드 올립니다.
    • 김현철
    • 2008.12.18 19:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 난난난난
      2008.12.19 02:24
      일반적으로는 메모안에서 enter를 치면 다음칸으로 나옵니다. 님의 경우는 화면에 KeyPreview := True...
    • 김현철
      2008.12.19 18:02
      답글 감사합니다! 님의 얘기대로 했더니... 메모에서 포커스가 없어졌습니다. 포커스가 다음으로 이동...
    • 이강석
      2008.12.18 18:21
      페이지 틀린 곳의 버튼 speed1이고 누르려고 하는 버튼이 speed2라면 speed1Click이벤트 코딩하는 부분...
    • 전봉수
      2008.12.18 20:36
      // 입력탭의 수정 스피드버튼 실행 및 에디터에 값 넣기 IF PAGECONTROL1.ActivePage = TABSHEET1 THEN ...
    • 전봉수
    • 2008.12.18 01:48
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 이강석
      2008.12.18 02:42
      구분되어 있는 다른 스피드 버튼을 눌러지게 한다는 말이 혹시 현재 탭 말고 다른 탭에 있는 버튼을 어떤...
    • 이정욱
      2008.12.18 04:11
      그냥 그 이벤트 호출 해주시면 되는데요.... 만약 Button1Click 로 되어있다면, Button1Click(Button1) ...
    • 전봉수
      2008.12.18 05:32
      이강석님 이정욱님 답변감사합니다. 이강석님 말씀 대로 입니다. "단" 어떤 시점이 아니고 수동으로 눌...
    • 홍성락
      2008.12.18 07:39
      말씀하신걸 직역하면 어떤 스피드 버튼을 클릭하는게 아니라 눌러진 상태로 만든다는 말씀이시지요. 1. ...
    • 전봉수
      2008.12.18 11:25
      홍성락님 답변 감사합니다. 저의 질문을 다른방향으로 이해시신것 같씁니다. 제가질문 들인것은 스피드...
    • 홍성락
      2008.12.18 18:25
      그렇다면 위의 이정욱님 말씀대로하면 될건데요...같은 폼이라면 아무리 페이지컨트롤로 나뉜다하여도 같...
    • 전봉수
      2008.12.18 20:35
      // 입력탭의 수정 스피드버튼 실행 및 에디터에 값 넣기 IF PAGECONTROL1.ActivePage = TABSHEET1 THEN ...
    • 꼬꼬마
    • 2008.12.17 23:45
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.12.18 01:40
      Cells에 들어가는 값이 Row, Column순입니다. 이것만 잘 맞추시면 될것같은데요... idx변수가 요일을 나...
    • 꼬꼬마
      2008.12.18 21:43
      근데요// 어떤식으로 해야 되는거져? 일자에 기준으로 데이터를 뿌려주려고 하는데; 이거 생각보다 잘...
    • 최용일
      2008.12.19 02:16
      글쎄요... 그렇게 말씀하시면 더이상 할 말이 없는데요... 데이터들이 들어가야 할 셀의 위치를 다 알고...
    • 홍성락
      2008.12.17 22:42
      Message.WParam의 내용값이 문자렬 시작 주소라서 그냥 DataStr:= PChar(Message.WParam); 또는 DataSt...
    • 최용일
      2008.12.17 23:22
      WM_USER로는 문자열을 받기 힘들건데요... 양쪽 프로세스 간의 주소쳬계들이 달라서 전송을 해봤자 쓸 수...
    • 이정욱
      2008.12.18 04:13
      아니면 소켓 놓고.. 127.0.0.1 로컬로 문자 주고 받으셔도...ㅡㅡ;
    • 김현철
    • 2008.12.17 15:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.12.17 20:01
      쿼리 자체를 안한다면 모를까... 쿼리한 필드를 없앨 수는 없구요... 업데이트할 때 TUpdateSQL을 써서 ...
    • 김현철
      2008.12.17 20:44
      현재 사용하고있는 컴퍼넌트가 dbexpress에 있는 것을 사용하다보니... TUpdateSQL를 쓰기에는 좀..... ...
    • 이강석
      2008.12.17 18:37
      단순히 위에 코드만 적어주시면 어떤 부분에서 에러나 나는지 익셉션이 나는건지 알 수가 없을거 같은데....
    • 윤박사
      2008.12.17 19:09
      If Not AThread.Terminated And AThread.Connection.Connected Then Begin Try ...
    • 최용일
      2008.12.17 23:27
      서버쪽 소스같은데... AThread.Terminate;는 왜하시는지 모르겠네요... 이유가 있겠죠... 암튼... 서...
    • 이강석
      2008.12.17 23:38
      음...ReadBuffer말고 ReadLn으로 읽으셔서...구조체의 맨마지막에 종료문자코드를 주시고 읽으시면 안되...
    • 이강석
      2008.12.17 23:40
      type TCommBlock = record Msg : array[1..5000] of Byte; ...
    • 이정욱
      2008.12.18 04:15
      근데.. 왜 Record로 하셨는지..... 위 같은 식이라면 그냥.. var Msg : array[1..5000] of Byte; ...
    • 최용일
      2008.12.17 19:17
      델파이7은 Update1까지 나와 있습니다. 설치해주시면 될것같네요... 관련 파일은 코드기어 홈페이지에 ...
    • 맥스
      2008.12.18 00:04
      최 용 일 님 ^^ Update1 해주는거랑 안해주는거..차이 많이 나나여 ?
    • 최용일
      2008.12.18 05:27
      글쎄요... 차이에 대해선 생각해본적이 없어서... 그래도 여러가지 버그들도 고쳐졌고 했으니까 Update...
    • phono
      2008.12.18 18:40
      update1을 패치해 주지 않으면.. ado 와 연동되는 TAdo 쿼리의 sql.add 같은 펑션 사용하여 쿼리문...
    • 맥스
      2008.12.18 19:49
      phono님.. update1 패치 다운로드 꽁짜 맞아여? 불법 델파이를 써서요 ;;
    • lee, js
    • 2008.12.17 03:29
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 밴댕이
    • 2008.12.17 02:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.12.17 04:34
      TCanvas.TextOut보다는 API의 ExtTextOut이나 DrawText/DrawTextEx같이 글자를 클립핑해서 쓸 수 있는 함...
    • 이강석
      2008.12.17 18:40
      열때 오류가 발생하는건 대부분 컴포넌트를 사용한 소스를 컴포넌트가 없는 상태에서 열때 날거 같긴한데...
    • 구창민
      2008.12.16 01:11
      안녕하세요... BringToFront 와 SendToBack 을 이용해 보세요.. 즐거운 프로그래밍 하시구요~
    • 이강석
      2008.12.17 23:44
      패스워드나 암호를 login.cgi로 넘길때 login_id.Text나 login_pw.Text는 에디트일거 같은데 단순한 문자...
    • 귀여운대빵
      2008.12.18 02:35
      앗^^ 답변 감사합니다. 아래방식으로 해결되었습니다. procedure setcookies; var i, count:int...
    • 양용성
      2008.12.13 03:21
      오라클에 트랜잭션이 생겼는지 검사하는 방법은 연결이 끊었을 경우나 트랜잭션이 있는지 확인하려고 ...
    • 허수진
    • 2008.12.13 00:26
    • 0 COMMENTS
    • /
    • 0 LIKES
    • cell
    • 2008.12.12 18:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 바람
      2008.12.12 19:36
      Procedure Val 과 혼동되는건 아닌지요 변수명 Val을 딴 이름으로 바꿔보세요
    • 김현철
    • 2008.12.12 02:45
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2008.12.12 03:14
      에러메세지로 보면 아웃룩이 설치안되어 있는것 같네요... 방법1,2둘다 별 차이없구요. 반드시 Micros...
    • 김현철
      2008.12.12 03:33
      답글 감사합니다. 여러 글을 읽는 중에 봤음에도 불구하고 정확히 이해를 못해서 헤매고 있었네여! 자...
    • 최용일
      2008.12.12 03:55
      델파이7이면 FastNet컴포넌트(TNMSMTP) 대신에 Indy 9버전이 기본으로 들어가 있을건데요... Indy로 메...
    • 김현철
      2008.12.12 04:40
      최용일님... 혹시 http://www.delphi.co.kr/zboard/view.php?id=tips&no=1395 기억하시나여? 좋은 샘...
    • 최용일
      2008.12.12 06:06
      파일 첨부 기능만 추가하시면 되겠네요...
    • 남호성
    • 2008.12.12 00:56
    • 0 COMMENTS
    • /
    • 0 LIKES