Q&A

  • 프리터할때 LPT가 아니 시리얼(COM1)포트 로 할려면?
프리터할때 LPT가 아니 시리얼(COM1)포트 로 할려면
어떻케 해야 하죠?
1  COMMENTS
  • Profile
    구창민 2002.12.18 22:41
    안녕하세요~ 구창민입니다.

    찾아보니 쉽게 찾아지진 않네여..^_^

    직접 테스트 해보진 못했구여.

    볼랜드 뉴스그룹에서 찾아낸 내용입니다.

    다른 부분은 일반 프린트와 다른게 없고,

    아래 문장들이 핵심인거 같네요.

      SetCommState(PrinterCom, PrnComDCB);
      CloseHandle(PrinterCom);

    요렇게 재 오픈을 -->  AssignFile(tPrn, 'COM1');

    제 자리에서 직접 테스트 해보진 못했습니다.

    한번 테스트 해보세요.

    그럼~ 즐거운 프로그래밍 하시길~


    procedure TForm1.Button1Click(Sender: TObject);
    var
      PrinterCom: THandle;
      PrnComDCB: TDCB;
      tPrn: textFile;
    begin
      PrinterCom := CreateFile('COM1', GENERIC_READ, 0, nil, OPEN_EXISTING,
                                FILE_FLAG_OVERLAPPED, 0);
      GetCommState(PrinterCom, PrnComDCB);
      with PrnComDCB do
      begin
        BaudRate := 9600;
        ByteSize := 8;
        Parity := NoParity;
        StopBits := OneStopBit;
        Flags := dtr_control_disable or rts_control_disable;
      end;
      SetCommState(PrinterCom, PrnComDCB);
      CloseHandle(PrinterCom);
      AssignFile(tPrn, 'COM1');
        rewrite(tPrn);
      writeln(tPrn, '불멸의화상 구창민 COM1으로 프린트하다');
      writeln(tPrn, #12);
      closeFile(tPrn);
    end;