다이얼로그 버튼 일정시간 간격마다 반복하는 방법이 있나요?
글쓴이: 201413694 / 작성시간: 수, 2018/10/10 - 11:57오전
사진에서 '보내기'버튼을 클릭하면 데이터가 전송됩니다.
데이터를 일정 시간 간격마다 보내고 싶습니다.
'보내기'버튼을 일정 시간 간격마다 직접 누르는것은 제외하고
데이터를 일정 시간 간격마다 보낼 수 있는 방법이 있나요?
*IDC_EDIT1이 공백일때 보내기 버튼을 눌러도 데이터는 이상없이 잘 전송됩니다.
코드를 짤때 입력이 없어서 특정 패킷을 보내도록 작성했습니다.
굳이 IDC_EDIT1이랑 보내기 버튼을 만들어놓은건 책의 채팅프로그램을 변형시켜만들다보니 유지된것입니다.
File attachments:
첨부 | 파일 크기 |
---|---|
제목 없음.png | 151.61 KB |
제목 없음2.png | 58.08 KB |
제목 없음3.png | 57.13 KB |
Forums:
Timer 를 쓰면 될 것 같습니다.
Timer 를 쓰면 될 것 같습니다.
보내기 버튼 눌렀을 때 무엇을 할 건지 코드는 이미 만드신 것 같고...
Timer 에서 일정시간이 지난 후 보내기 하도록 하시면 될 것 같네요.
질문하신 분이 쓰려는 프로그램 언어가 뭔지 모르겠는데, 해당 언어에서 Timer 관련 검색해보면 힌트가 나올 거 같네요.
첨부파일 이름이 제목없음인가요? 제목만 보고 내용을 예측하도록 파일이름도 잘 만들어 주시면 더 좋겠고요.
https://wiki.kldp.org/wiki.php/DocbookSgml/Beginner_QA-KLDP#AEN70
참고하셔요.
세벌 https://sebuls.blogspot.kr/
답변감사합니다.
c언어로 작성하였습니다. TCP/IP 윈도우 소켓프로그래밍을 바탕으로 코딩하였고
콘솔이 아닌 다이얼로그 형식으로 나타나도록 코딩했습니다.
콘솔에서는 while(time>0){ send() recv() Sleep(10000); }을 통해서 1초 마다 send를 작동시킬 수 있었습니다.
다이얼로그에서는 [앞부분] while(1){ send() recv() Sleep(1000); } 을 통해서 같은 방식을 사용하려고 합니다.
이런 코드를 사용했습니다.
채팅프로그램을 임의로 수정하여서 만들다보니 IDC_EDIT1을 입력하지않고 '보내기'버튼을
사용해도 데이터전송이 가능합니다.
while(1)을 사용했기에 보내기버튼을 누를때마다 작동이 됩니다.
보내기버튼을 일정시간마다 눌려지면 해결될 문제인데 해결법을 모르겠습니다.
보내기 버튼을 누르면 발생되는 event
보내기 버튼을 누르면 발생되는 event signal에 따라 처리하도록 하는 callback 함수가 있을 것입니다. 그걸 알아내서 다른 쓰레드를 만들고 거기서 특정 시간마다 해당 callback을 호출하시면 될 것 같습니다. gui를 담당하는 main context에서 delay를 이용해 처리하도록 하지마세요. gui는 사용자와 매 순간 인터페이싱해야 합니다.
해결하셨다는 글을 이제야 봤네요.. 이런.. ㅠ
---------------
Happy Hacking!
참고해보세요.
파일 첨부.
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
답변감사합니다.
감사합니다. 문제 해결되었습니다.
댓글 달기