Avatar billede jisch Mester
13. juni 2004 - 23:30 Der er 7 kommentarer og
1 løsning

Standardprinter i Delphi 5?

Hej,
Er der nogen der ved hvordan jeg kan detektere om der er installeret en standardprinter og om den er tilsluttet - i Delphi 5?
Avatar billede stone Forsker
14. juni 2004 - 00:24 #1
Avatar billede jisch Mester
14. juni 2004 - 21:52 #2
>Stone
Tak for svaret. Jeg har læst på lektien. Jeg må vel også kunne bruge TPrinter Object direkte. Jeg kan dor ikke finde noget om at checke om standardprinteren er Online eller Offline. Ved du hvordan det evt. gøres?
Avatar billede stone Forsker
14. juni 2004 - 22:56 #3
jo men den virker ikke i NT

ved tryk på button1 kommer der en fejlmelding ved .....int $17 // status in ah


function PrinterStatus : integer;
asm
mov ah, 2 // function 2 - returns status of port
mov dx, 0 // lpt1 = 0, lpt2 = 1 etc
int $17 // status in ah
mov al, ah
and eax, $FF // status now in eax with top 24 bits cleared
end;

const
PrinterCodes : array [0..7] of string =
('printer timed-out',
'unused',
'unused',
'I/O error',
'printer selected',
'out of paper',
'printer acknowedgment',
'printer not busy');

procedure TForm1.Button1Click(Sender: TObject);
var
L, P : integer;
begin
P := PrinterStatus;
ListBox1.Clear;
for L := 0 to 7 do
if P and (1 shl L) <> 0 then
ListBox1.Items.Add (PrinterCodes [L]);
end;
Avatar billede stone Forsker
14. juni 2004 - 22:57 #4
har siddet og arb lidt på det og kan ikke få den til at virke i NT kan ikke se hvorfor.
Avatar billede jisch Mester
15. juni 2004 - 12:23 #5
>Stone: Jeg har prøvet ovenstående i Windows XP, men får EAccessViolation i asm-linien int $17.
Avatar billede jisch Mester
15. juni 2004 - 13:17 #6
>Stone: Udover det - virker det kun på lpt-porte? Hvad hvis det er en TCP/IP port på et internt netværk?
Avatar billede stone Forsker
15. juni 2004 - 13:34 #7
når det ikke virker i NT vil det heller ikke virke i xp.

ja mit eksempel dur ikke, det er for gammelt.

prøver lige at kigge på en anden løsning
Avatar billede jisch Mester
31. august 2008 - 10:50 #8
Nedlagt spørgsmål.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester