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

델파이 Q&A
Delphi Programming Q&A
[8547] [질문] 상태값들이 조합되어 올 때 각각의 값을 알 수 있는 방법은?
이상탁 [nofade] 1122 읽음    2002-12-17 17:30
안녕하세요.
아래의 함수를 실행하면

var
   PrinterHandle : THandle;
   Jobinfo2 : JOB_INFO_2;
   PcbNeeded : DWord;
   PcReturned : DWord;
begin
   OpenPrinter(PChar(PrinterName), PrinterHandle, 0);
   EnumJobs(PrinterHandle, 0, 10, 2, Jobinfo2 , SizeOf(Jobinfo2), PcbNeeded, PcReturned);
end;

jobinfo2.status 의 값들은 다음값들의 조합으로 리턴되더군요

  JOB_STATUS_PAUSED                   = $00000001;
  {$EXTERNALSYM JOB_STATUS_ERROR}
  JOB_STATUS_ERROR                    = $00000002;
  {$EXTERNALSYM JOB_STATUS_DELETING}
  JOB_STATUS_DELETING                 = $00000004;
  {$EXTERNALSYM JOB_STATUS_SPOOLING}
  JOB_STATUS_SPOOLING                 = $00000008;
  {$EXTERNALSYM JOB_STATUS_PRINTING}
  JOB_STATUS_PRINTING                 = $00000010;
  {$EXTERNALSYM JOB_STATUS_OFFLINE}
  JOB_STATUS_OFFLINE                  = $00000020;
  {$EXTERNALSYM JOB_STATUS_PAPEROUT}
  JOB_STATUS_PAPEROUT                 = $00000040;
  {$EXTERNALSYM JOB_STATUS_PRINTED}
  JOB_STATUS_PRINTED                  = $00000080;
  {$EXTERNALSYM JOB_STATUS_DELETED}
  JOB_STATUS_DELETED                  = $00000100;
  {$EXTERNALSYM JOB_STATUS_BLOCKED_DEVQ}
  JOB_STATUS_BLOCKED_DEVQ             = $00000200;
  {$EXTERNALSYM JOB_STATUS_USER_INTERVENTION}
  JOB_STATUS_USER_INTERVENTION        = $00000400;
  {$EXTERNALSYM JOB_STATUS_RESTART}
  JOB_STATUS_RESTART                  = $00000800;

즉, jobinfo2.status 값이 $12 값이 리턴되면 JOB_STATUS_ERROR 와 JOB_STATUS_PRINTING 의 조합인데, $12 값으로 위의 두 값을 분리하는 방법을 잘 모르겠습니다.

물론 위의 경우 이 외에 여러가지 형태로 조합해서 값이 들어오던데요...
각각의 어떤 값들이 조합되었는지 다시 분리하는 법을 알고 싶습니다.

아시는 분은 부탁드립니다.

감사합니다.

+ -

관련 글 리스트
8547 [질문] 상태값들이 조합되어 올 때 각각의 값을 알 수 있는 방법은? 이상탁 1122 2002/12/17
8548     Re:[질문] 비트연산하세요... 정찬희 1318 2002/12/17
8551         감사합니다. 이상탁 657 2002/12/18
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.