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
[38757] Re:Re:Re:[질문]소스 한번 봐 주실래요. (포트번호는 안오는것 같거든요)
WARSHIP [warship] 1025 읽음    2005-01-14 10:17
getcomm(),setcomm() 이 어떻게 작동하는지는 소스에 없어서 잘 모르겠지만요.
제생각에

처음에 setcomm(CreateFile("COM1",~~~)) 할때 setcomm으로 들어가는 값이
포트에 대한 핸들일텐데요.

아마 getcomm() 이 리턴하는 값이 그 핸들값인거 같습니다.
CreateFile 할때 넣었던
nport값과 핸들값과의 관계를 저장하는 무언가가 있으면 될거 같네요.
딱히 딴건 생각이 안나지만 -_-

1. 배열에 대충 집어넣어놓는 방법
// 틀려도 책임 못짐니다 @_@;

int port[200] /* 약 200개 까지 저장 COM1:0 부터 시작*/
port[nport-1] = CreateFile("COM X",~~);  // X = nport

// 이런식으로 저장해 놓고 나중에 getcomm()에서

int hPort = getcomm();
for(int i=0;i<200;++i)
{
     if (port[i]==hPort)
     {
          printf("앗 포트는 COM %d 닷!",i+1);
          break;
     }
}

해도 되겠고 간단히는 STL 의 맵을 이용해도 되겠습니다.

ps. 사실 그 위의 소스만 보고는 잘 모르겠습니다.
전 딴것은 모르겠고 한다면 그냥 필요한 만큼의 쓰레드를 돌린다던가 -_-;
그런 무식한 방법바께 모르겠습니다. ㅠ.ㅠ;
대충 유추해서 쓴것이기 때문에 @_@; 책임 못져용 ㅠ.ㅠ.
select를 이용하는건 좀 복잡시려서리 ;

+ -

관련 글 리스트
38744 [질문]포트확인? 보거스 1516 2005/01/13
38746     Re:[질문]포트확인? WARSHIP 1152 2005/01/13
38748         Re:Re:[질문]소스 한번 봐 주실래요. (포트번호는 안오는것 같거든요) 보거스 1452 2005/01/13
38757             Re:Re:Re:[질문]소스 한번 봐 주실래요. (포트번호는 안오는것 같거든요) WARSHIP 1025 2005/01/14
38760                 Re:Re:Re:Re:[질문]죄송합니다. 한번만 더 봐주실래요. 보거스 1014 2005/01/14
38762                     Re:Re:Re:Re:Re:[질문]죄송합니다. 한번만 더 봐주실래요. WARSHIP 973 2005/01/14
38764                         Re:Re:Re:Re:Re:Re:[질문]죄송합니다. 한번만 더 봐주실래요. 보거스 1037 2005/01/14
38767                             Re:Re:Re:Re:Re:Re:Re:[질문]죄송합니다. 한번만 더 봐주실래요. WARSHIP 981 2005/01/14
38768                                 Re:Re:Re:Re:Re:Re:Re:Re:[감사]정말 많이 도움되었습니다. 보거스 1053 2005/01/14
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.