BBS: Inland Empire Archive Date: 07-06-92 (14:59) Number: 168 From: TOM KIEHL Refer#: NONE To: JIM TANNER Recvd: NO Subj: Lprint and printers Conf: (2) Quik_Bas
Jim, RE: can't get CheckPrn% function to return TRUE... Read other messages of possible solutions for your not getting a valid 144 Looking back thru some of my QB code, I found that I needed to do this with the Regs.ax... Status% = (Regs.ax \256) AND 255 ^^^^^^^ This takes care of the negative-number return value. Secondly, the printer "busy" line could be triggered by the printer which would give you a return value of 16. Since busy is not really an error state and will clear itself in time, I make a simple delay loop of a second or so and try again. Of course if too much time passes (iterations of the loop) there could be a problem and it would be a good idea to bail out at that point. Sorry for the missing "AND 255". I had typed it from memory (where I deal with AH and AL individually in C and ASM adn don't need to divide by 256). If you want to distinguish each "error", here's a list: Bit 7 (128 decimal) Printer NOT busy if ON Bit 6 (64 dec) Printer acknowledge Bit 5 (32 dec) Out of paper if ON Bit 4 (16 dec) Printer Selected (On-Line) if ON Bit 3 (8 dec) I/O error if ON Bits 1 & 2 Not used Bit 0 (1 dec) Printer timed out if ON So if status% = 144 ... (128 ORed with 16) printer is ready to roll. IF Status% = 128 all is fine but printer buffer may be full. IF Status% AND 32 then out of paper IF Status% AND 8 then I/O error IF Status% AND 1 then Printer timed out I usually ignore Bit 6. That should get you going. Tom Kiehl ~~ * SLMR 2.1a * Old programmers never die, they just lose their byte. --- TosScan 1.00 * Origin: Carrie's Living Room - Largo, Florida USA (1:3603/150)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET