Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
기본 프린터의 온라인 상태 체크...
[질문]기본 프린터의 온라인 상태 체크...
델파이 2.0 에서 기본 프린터가 켜져있는지, 온라인 상태인지를 체크하는
명령어가 무엇인가요? (혹, 명령어가 없다면 어떻게 해야하나요?)
2
COMMENTS
최석기
•
1999.06.23 17:28
황하강 께서 말씀하시기를...
> [질문]기본 프린터의 온라인 상태 체크...
> 델파이 2.0 에서 기본 프린터가 켜져있는지, 온라인 상태인지를 체크하는
> 명령어가 무엇인가요? (혹, 명령어가 없다면 어떻게 해야하나요?)
예전에 김영대님의 팁을 받아 두엇던게 있어서 올려 드립니다..
참고 하세요..
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
// 프린터의 상태를 리턴하는 함수
function PrinterStatus(const APort: Word): Byte; assembler;
{
AH 레지스터의 상태값(8 bit) :
0 - time out
1 - unused
2 - unused
3 - I/O error
4 - On line selected
5 - Out of paper
6 - Acknowledge
7 - Not Busy
}
begin
asm
mov ah, 2 { 서비스 2 - Printer Status }
mov dx, APort { 프린터 포트 - 0 부터 시작 }
int 17h { 프린터 서비스 인터럽트 }
mov al, ah { Set function value }
end;
end;
// 프린터의 준비 상태를 리턴하는 함수
function PrinterReady(APort: Word): Boolean;
{APort : 0=LPT1, 1=LPT2, etc }
const
pTimeOut= $01;
pIOError= $08;
pNoPaper= $20;
pNotBusy= $80;
pTestAll= pTimeOut + pIOError + pNoPaper;
begin
PrinterReady := (PrinterStatus(APort) and pTestAll) = $00;
end;
// 프린터 초기화 프로시저
procedure InitPrinter(const APort: word); assembler;
begin
asm
mov ah, 1
mov bx, APort
int 17h
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if PrinterReady(1) = True then // LPT1
ShowMessage('Printer Ready')
else
// 에러 발생시 위의 PrinterStatus 함수를 호출하여 에러 상태를
// 알 수 있습니다
ShowMessage('Printer off or unplugged');
end;
end.
0
0
삭제
수정
댓글
황하강
•
1999.06.24 00:44
최석기 께서 말씀하시기를...
> 황하강 께서 말씀하시기를...
> > [질문]기본 프린터의 온라인 상태 체크...
> > 델파이 2.0 에서 기본 프린터가 켜져있는지, 온라인 상태인지를 체크하는
> > 명령어가 무엇인가요? (혹, 명령어가 없다면 어떻게 해야하나요?)
>
> 예전에 김영대님의 팁을 받아 두엇던게 있어서 올려 드립니다..
> 참고 하세요..
>
> unit Unit1;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
> Dialogs, StdCtrls;
>
> type
> TForm1 = class(TForm)
> Button1: TButton;
> procedure Button1Click(Sender: TObject);
> private
> { Private declarations }
> public
> { Public declarations }
> end;
>
> var
> Form1: TForm1;
>
> implementation
> {$R *.DFM}
>
> // 프린터의 상태를 리턴하는 함수
> function PrinterStatus(const APort: Word): Byte; assembler;
> {
> AH 레지스터의 상태값(8 bit) :
> 0 - time out
> 1 - unused
> 2 - unused
> 3 - I/O error
> 4 - On line selected
> 5 - Out of paper
> 6 - Acknowledge
> 7 - Not Busy
> }
> begin
> asm
> mov ah, 2 { 서비스 2 - Printer Status }
> mov dx, APort { 프린터 포트 - 0 부터 시작 }
> int 17h { 프린터 서비스 인터럽트 }
> mov al, ah { Set function value }
> end;
> end;
>
> // 프린터의 준비 상태를 리턴하는 함수
> function PrinterReady(APort: Word): Boolean;
> {APort : 0=LPT1, 1=LPT2, etc }
> const
> pTimeOut= $01;
> pIOError= $08;
> pNoPaper= $20;
> pNotBusy= $80;
> pTestAll= pTimeOut + pIOError + pNoPaper;
> begin
> PrinterReady := (PrinterStatus(APort) and pTestAll) = $00;
> end;
>
> // 프린터 초기화 프로시저
> procedure InitPrinter(const APort: word); assembler;
> begin
> asm
> mov ah, 1
> mov bx, APort
> int 17h
> end;
> end;
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> if PrinterReady(1) = True then // LPT1
> ShowMessage('Printer Ready')
> else
> // 에러 발생시 위의 PrinterStatus 함수를 호출하여 에러 상태를
> // 알 수 있습니다
> ShowMessage('Printer off or unplugged');
> end;
>
> end.
>
>
[다시 질문]
프로그램 예제 잘 받아서 테스트를 해보았습니다.
그런데 PrinterStatus function 문에서 뭔가 문제가 있는것 같은데...
제가 분석을 잘못한것인지 아니면 테스트 환경이 잘못되었는지를
알려주세요.( 나 원참 줘도 못먹네여...)
감사합니다.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
안창주
•
1999.06.23 20:15
1
COMMENTS
/
0
LIKES
Alias의 개념 및 용도를 알고 싶어요
신인재
•
1999.06.23 21:02
안창주 께서 말씀하시기를... > 저는 델파이 책을 처음보는 초보자입니다. > 1데이타베이스에서Alias라는...
이종진
•
1999.06.23 18:46
1
COMMENTS
/
0
LIKES
DBGrid에서 text값을 변경해주는 방법을 알고싶습니다
최석기
•
1999.06.23 20:25
이종진 께서 말씀하시기를... > DBGrid에서 text값을 다른값으로 바꿔주는 방법을 알고 싶습니다. > ...
VMNT
1999.06.23 15:12
0
COMMENTS
/
0
LIKES
UNION문을 사용하면서 UpdateSQL을....
이용민
•
1999.06.23 12:51
1
COMMENTS
/
0
LIKES
프로시저나 함수에서의 sender 의 의미 ?
하남수
•
1999.06.23 19:46
이용민 께서 말씀하시기를... > 안녕하십니까 ? (주) 천의무봉의 이용민입니다. > 작업하다 간간히 의문...
francis
1999.06.23 12:22
0
COMMENTS
/
0
LIKES
도스용 프로그램에서..
이용민
•
1999.06.23 09:27
2
COMMENTS
/
0
LIKES
감사합니다. 추가적인 중요한 질문입니다.
아무게
•
1999.06.23 19:58
이용민 께서 말씀하시기를... > 다음과 같은 의문을 정리해 보겠습니다. > > 1. 그렇다면 참조가 ...
이용민
•
1999.06.24 11:23
(주) 천의무봉의 이용민입니다. 선생의 말씀 고맙습니다. 그런데 깨끗한 정리는 안되는 군요. 자질을 말...
강민주
•
1999.06.23 09:18
1
COMMENTS
/
0
LIKES
qr에서 테이블 2개 출력하려면?
박흥태
•
1999.06.25 03:38
강민주 께서 말씀하시기를... > 안녕하세요.^^; > 외상장부처리를 위해 외상테이블과 수금 테이블로 > 2...
홍희석
1999.06.23 05:52
0
COMMENTS
/
0
LIKES
정말 감사합니다
박성훈
•
1999.06.23 05:39
1
COMMENTS
/
0
LIKES
[긴급]데이터가 저장되지 않는 이유...
이용민
•
1999.06.23 12:56
질문에 대한 답은 아니지만 얼핏보이기에... 선생이 쓰시는 이코드는 다음과 같이 간단히 할 수 있거든...
이현옥
•
1999.06.23 05:26
1
COMMENTS
/
0
LIKES
EolesysError in module ....
김영해
•
1999.06.23 08:22
이현옥 께서 말씀하시기를... > 급하게 도사님들의 처방을 기다립니다. > > 프로그램을 실행시키면 > ...
변상준
•
1999.06.23 04:02
1
COMMENTS
/
0
LIKES
델파이4pro 와 오라클 연결 어떻게 하나요
류성호
•
1999.06.23 05:13
변상준 께서 말씀하시기를... > 델파이4 프로페셔널 버전에서 오라클 7.3.2 연결을 하는데 준비 사항 및 ...
황하강
•
1999.06.23 04:00
2
COMMENTS
/
0
LIKES
기본 프린터의 온라인 상태 체크...
[질문]기본 프린터의 온라인 상태 체크... 델파이 2.0 에서 기본 프린터가 켜져있는지, 온라인 상태인지를 체크하는 명령어가 무엇인가요? (혹, 명령어가 없다면 어떻게 해야하나요?)
최석기
•
1999.06.23 17:28
황하강 께서 말씀하시기를... > [질문]기본 프린터의 온라인 상태 체크... > 델파이 2.0 에서 기본 프...
황하강
•
1999.06.24 00:44
최석기 께서 말씀하시기를... > 황하강 께서 말씀하시기를... > > [질문]기본 프린터의 온라인 상태 체크...
임선주
1999.06.23 03:11
0
COMMENTS
/
0
LIKES
OLE자동화서버 구현시 TTable 또는 TQuery를 넘길려면
김민오
1999.06.23 02:49
0
COMMENTS
/
0
LIKES
파라독스사용시 에러
김민오
1999.06.23 02:45
0
COMMENTS
/
0
LIKES
파라독스사용시 에러
최선기
•
1999.06.23 02:18
1
COMMENTS
/
0
LIKES
탐색기같이 생긴 검색화면 만들기?
모승열
•
1999.06.29 11:26
최선기 께서 말씀하시기를... > 아래 질문을 했는데.. 혹시나 이해 못 하실까봐 다시 합니다. > 제 질문...
박형진
1999.06.23 01:55
0
COMMENTS
/
0
LIKES
퀵레포트 미리보기 루프 빠져나오기
최선기
1999.06.23 01:54
0
COMMENTS
/
0
LIKES
TreeView로 검색화면 만들기가 가능한지?
신현숙
•
1999.06.23 00:46
1
COMMENTS
/
0
LIKES
Mdi Child 폼에 또다른 Mdi Child폼을 넣을수....
모승열
•
1999.06.29 11:24
신현숙 께서 말씀하시기를... > 안녕하세요.. > 질문이 있어서리~~ > ^^;; > > Mdi 폼에 mdi child ...
nuki
•
1999.06.23 00:01
1
COMMENTS
/
0
LIKES
스트링그리드에 입력을 하고 싶은데...
유수
•
1999.06.23 00:41
OnDrawCell 이벤트에서 직접 코딩을 해 주시면 됩니다. 이경우 현재 그려질 셀의 Canvas를 얻을...
황하강
1999/06/23 04:00
Views
289
Likes
0
Comments
2
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> [질문]기본 프린터의 온라인 상태 체크...
> 델파이 2.0 에서 기본 프린터가 켜져있는지, 온라인 상태인지를 체크하는
> 명령어가 무엇인가요? (혹, 명령어가 없다면 어떻게 해야하나요?)
예전에 김영대님의 팁을 받아 두엇던게 있어서 올려 드립니다..
참고 하세요..
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
// 프린터의 상태를 리턴하는 함수
function PrinterStatus(const APort: Word): Byte; assembler;
{
AH 레지스터의 상태값(8 bit) :
0 - time out
1 - unused
2 - unused
3 - I/O error
4 - On line selected
5 - Out of paper
6 - Acknowledge
7 - Not Busy
}
begin
asm
mov ah, 2 { 서비스 2 - Printer Status }
mov dx, APort { 프린터 포트 - 0 부터 시작 }
int 17h { 프린터 서비스 인터럽트 }
mov al, ah { Set function value }
end;
end;
// 프린터의 준비 상태를 리턴하는 함수
function PrinterReady(APort: Word): Boolean;
{APort : 0=LPT1, 1=LPT2, etc }
const
pTimeOut= $01;
pIOError= $08;
pNoPaper= $20;
pNotBusy= $80;
pTestAll= pTimeOut + pIOError + pNoPaper;
begin
PrinterReady := (PrinterStatus(APort) and pTestAll) = $00;
end;
// 프린터 초기화 프로시저
procedure InitPrinter(const APort: word); assembler;
begin
asm
mov ah, 1
mov bx, APort
int 17h
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if PrinterReady(1) = True then // LPT1
ShowMessage('Printer Ready')
else
// 에러 발생시 위의 PrinterStatus 함수를 호출하여 에러 상태를
// 알 수 있습니다
ShowMessage('Printer off or unplugged');
end;
end.