Druckerstatus



  • Weiß jemand, wie ich nach fopen("LPT1:","wt"); den Druckerstatus befragen kann, ob dieser also online und bereit ist? Denn nach jeder ungebufferten Ausgabe hängt sich das Programm nun fest, kommt aus fprintf also nicht mehr zurück - und das darf es nicht.

    2.Frage - wie überspringe ich die Netzwerkanmeldebox am Anfang? Wir müssen das Programm in Windows 98 SE direkt laufen lassen, da keine Tastatur zur Verfügung steht.



  • ob du damit was anfangen kannst....

    aber mit dem djgpp müsste das funzen, weiß nicht, welcher compiler da gerade ist. Vielleicht hilfts.. kann aber nix probieren, weil ich hier nur das studio habe und keinen drucker..

    aus: http://www.pronix.de/C/standard_C/c_programmierung_18_2.shtml

    #include <stdio.h>
    #include <stdlib.h>
    #include <dos.h>
    /*0x378 ist die Adresse der Schnittstelle von LPT1*/
    #define LPT1_PORT 0x378
    
    struct status {
               unsigned :3; /*Bit 0-2 nicht verwendet*/
               unsigned fehler :1; /*0=Druckerfehler*/
               unsigned online :1; /*1=Drucker online*/
               unsigned papier :1; /*1=kein Papier*/
               unsigned empfang:1; /*Emfangsbestätigung*/
               unsigned busy :1; /*Drucker bereit*/
             }LPT1_status;
    
    /*Status am LPT1-Port auslesen*/
    void druckerstatus(char *statuszeiger)
    {
     *statuszeiger = inp( LPT1_PORT+1 ) & 0xF8;
    }
    
    int main()
    {
     druckerstatus( (char *) &LPT1_status);
    
     if(LPT1_status.busy && LPT1_status.online)
      {
       printf("Drucker Betriebsbereit!\n");
       exit (0);
      }
     else if(!LPT1_status.online)
        printf("Drucker nicht online!\n");
     else if(LPT1_status.papier)
        printf("Kein Papier vorhanden!\n");
     else
        printf("Drucker nicht Betriebsbereit!\n");
     return 0;
    }
    


  • Schämst du dich nicht am Arbeitsplatz zu surfen?

    1. Der Beistrich nach "nicht" war falsch.
    2. Ein Fragezeichen hätte auch gereicht.
    3. Permanente Großschreibung ist auch nie gut.
    4. Dein Smily für das Posting passte überhaupt nicht zum Inhalt deiner Aussage!

    MfG SideWinder

    [ Dieser Beitrag wurde am 20.05.2003 um 16:36 Uhr von SideWinder editiert. ]



  • Original erstellt von <G>:
    **Schämst du dich nicht am Arbeitsplatz zu surfen?

    1. Der Beistrich nach "nicht" war falsch.
    2. Ein Fragezeichen hätte auch gereicht.
    3. Permanente Großschreibung ist auch nie gut.
    4. Dein Smily für das Posting passte überhaupt nicht zum Inhalt deiner Aussage!

    MfG SideWinder

    [ Dieser Beitrag wurde am 20.05.2003 um 16:36 Uhr von [qb]SideWinder** editiert. ][/QB]

    hä???? 😕 😮 😕



  • Musst noch fünf Wochen warten, bis ich Dich knuddeln kann elise!!!
    Geht auch ganz leicht abgewandelt (conio.h _inp unter MSVC), VIELEN DANK!


Anmelden zum Antworten