C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[61571] Re:장비 제에관한 질문 장비 일시 정지기능.
송신영 [palindrome] 963 읽음    2010-06-16 12:45
장비 프로그램을 멀티 쓰래드가 아니라 단일 쓰래드로 작성하실 경우
기본적으로 "스테이트 머신" 방식을 사용합니다.
별거 아니구요 switch case 구문으로 각각의 동작을 하나의 case 구문에서 작성되고
다음 동작을 하는 case로 step을 넘겨주는 방식입니다.
그러면 stop 상태일 경우 현재 case 구문만 종료하고 stop한 후에 다시 start하게 되면
마지막 case 구문에서 다음 case로 이동할 step을 지정했기 때문에
그 case 구문으로 이동하면 되는 방식입니다.
예전의 핸드폰 UI 에서도 이런 방식을 사용하며 보통 단일 쓰래드를 사용하는 장비 프로그램의
기본 골격입니다.

바보 님이 쓰신 글 :
: C++ 빌더 6.0 을 사용해서 장비 제어를 하고 있는데
:
: 몇가지 프로그램 구조에 관한 의문이 발생했는데 별루 물어 볼곳도 없고 해서 ㅋㅋ 죄송.
:
: 장비가 동작하다 일시 정지 하고 다시 동작하는 기능을 만들고 싶은데 ..
:
: 일시정지 버튼 ....... 이것을 만들려구 하니  프로그램 로직에서 일시 정지 하면 GOTO 명령으로 그냥 함수를
:
: 나가게 만들었습니다
:
: 다시 장비를 가동하려고 하니    로직상  빠져 나간 곳의 위치를
:
: 기역했다가 다시 그곳의 한칸 위에서 실행하면 되기는 하겠는데  한개 한개 동작마다  정지하면 빠져 나가도록
:
: 만들어서 이련경우  동작마다 어느 부분에서 실행할 것 인지 선택하는 것을 또 만들어야 하는데
:
: 이런경우 프로그램이 많이 복잡해 질거 같은데 혹시 이련 경우 간단하게 할수 있는 방법은 없는지
: 스래드를 멈추고 다시 가동하는 것도 생각해봤는데 이런경우 에도 멈추어진 스텝 위에서 다시 시작해야 하는
:
: 것이 필요한거 같은데 ......
:
: 혹시 이런 프로그램 작성시 좋은 구조에 관해서 아시는분은 ?
:
: 그럼 수고하세요.

+ -

관련 글 리스트
61567 장비 제에관한 질문 장비 일시 정지기능. 바보 887 2010/06/16
61574     Re:장비 제에관한 질문 장비 일시 정지기능. 크레브 981 2010/06/16
61575         답변에 감사,감사.. 바보 951 2010/06/16
61571     Re:장비 제에관한 질문 장비 일시 정지기능. 송신영 963 2010/06/16
61572         Re:Re:장비 제에관한 질문 장비 일시 정지기능. 감사 합니다. 바보 855 2010/06/16
61573             Re:Re:Re:장비 제에관한 질문 장비 일시 정지기능. 감사 합니다. 크레브 962 2010/06/16
61568     Re:장비 제에관한 질문 장비 일시 정지기능. 장성호 946 2010/06/16
61569         Re:Re:장비 제에관한 질문 장비 일시 정지기능. 바보 1060 2010/06/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.