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
[13441] Re:안녕하세요, 고수님들.. 통장프린터(PR2)기 출력 급 질문드립니다..ㅠㅠ
COGNEX [tobject] 2242 읽음    2010-10-15 00:19
vortex 님이 쓰신 글 :
:
통장 프린터기에 고객 서비스 차원에서 통장크기의 프린트 용지를 출력하려고 합니다.

: 은행 프로그램은 아니구요..
:
: 아래 소스는 C로 짜여진듯 합니다.
: 통장프린터 출력 프린터 소스중 일부인데요.
: C에서는
:  BYTE bNumOneLine[100] = {"01234567890123456789\n\r"}; 바이트 배열 선언하고
:  nRet = UsbPrintPbprData( bNumOneLine ); 이렇게 배열을 통째로 넘깁니다.
: 근데 문제는
: UsbPrintPbprData 요넘에 대한 정보를 보아하니
: Function int UsbPrintPbprData (BYTE *szPrintingData) <--- 이렇게 되어있더군요..
:
: 그렇다면 델파이에서는 어떻게 파라미터를 넘겨야 하는건가요??
: byte형 배열을 선언해서
: .... := UsbPrintPbprData(Mb_Value[1]); 이렇게 해서는 절대 안넘어가구요,
: Mb_Value : Byte;
: Mb_Value := 12;
: .... := UsbPrintPbprData(Mb_Value); 이건 더더욱 안되구요...ㅠㅠ
:
: 고수님들의 가르침을 얻고자 이렇게 무식한 델초보가 글을 올립니다.
: 사정이 급해서...ㅠㅠ
: 답변좀 부탁드리겠습니다.
:
: 요넘땜에 일주일 째 식겁하고 있습니다..ㅠㅠ
:
: int NEAR PrintingTest( HWND hWnd )
: {                               
:  int i;
:  int nRet;                                                                         
:  BYTE szMsg[100] = {""};
:  BYTE bNumOneLine[100] = {"01234567890123456789\n\r"};

:  nRet = UsbOpenPbpr( 12, 5, 1, 190 );

:  for( i = gnPrintLineNum; i < 15; i++ ){
:   switch( nRet ){
:    case SUCCESS:      //100303 hj_ 테스트 함수 추가           
:     // -------------------------------------
:     // 절대라인 5라인 위치
:     // 12 CPI
:     // 5 LPI
:     // -------------------------------------
:     if( i == 0 ) {
:      UsbAbsoluteVertical( 5 );
:      UsbDefineLpi( 3 );
:      UsbDefineCpi( 10 );
:      nRet = UsbPrintPbprData( bNumOneLine );
:      gnPrintLineNum = i;
:     }
:     // -------------------------------------
:    
:     // -------------------------------------
:     // 절대라인 15라인 위치
:     // 10 CPI
:     // 3 LPI
:     // -------------------------------------
:     else if( i == 5 ) {
:      UsbAbsoluteVertical( 15 );
:      UsbDefineLpi( 5 );
:      UsbDefineCpi( 12 );
:      nRet = UsbPrintPbprData( bNumOneLine );
:      gnPrintLineNum = i;
:     }
:     // -------------------------------------
:    
:     // -------------------------------------
:     // 가로 확대
:     // 가로 확대 해제
:     // -------------------------------------
:     else if( i == 10 ) {
:      UsbDoubleWidth( );
:      nRet = UsbPrintPbprData( bNumOneLine );
:      UsbClearsDoubleWidth( );
:      gnPrintLineNum = i;
:     }
:     // -------------------------------------
:    
:     // -------------------------------------
:     // 위에 설정된 기본값 설정됨
:     // -------------------------------------
:     else {
:      nRet = UsbPrintPbprData( bNumOneLine );
:      gnPrintLineNum = i;
:     }
:     // -------------------------------------
:     break;
:    
:    case NO_PAPER:
:     MessageBox( hWnd, "종이를 삽입하고 Enter를 치세요", "종이 없음", MB_OK );
:     PrintingTest( hWnd );
:     return( 0 ); 
:    
:    case DOCUMENT_TOTALLY_INSERTED:
:     MessageBox( hWnd, "정리할 내용이 남아있습니다.\n\n다음장을 삽입하세요", "계속", MB_OK );
:     PrintingTest( hWnd );
:     return( 0 );
:        
:    default:
:     wsprintf( szMsg, "Error Code : %d\n# %s", nRet, szFormatMsg[nRet-1] );
:     MessageBox( hWnd, szMsg, "Error", MB_OK );
:     return( 0 );
:   } // switch() endA
:  } // for() end
:                                
:  // To Expel Paper                               
:  UsbExpelPaper();
:  gnPrintLineNum = 0;
:  return( SUCCESS );
: }

이거 혹시 약도매상에서 쓰는 프린터 아닌가요?
전에 맹글어둔 뭔가 있었던거 같은데 혹 필요하시면 쪽지 주세요.

+ -

관련 글 리스트
13428 안녕하세요, 고수님들.. 통장프린터(PR2)기 출력 급 질문드립니다..ㅠㅠ vortex 2285 2010/09/29
13441     Re:안녕하세요, 고수님들.. 통장프린터(PR2)기 출력 급 질문드립니다..ㅠㅠ COGNEX 2242 2010/10/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.