Drucken



  • Hallo, ich hab ma ein paar Fragen zum Drucken. In meinem schlauem Buch steht. das:

    ofstream drucker("LPT1", ios::out | ios::app);
    cout=drucker; // hier meckert er rum
    cout<<"hallo";
    

    funktionieren sollte. Tut es aber nicht. Also hab ich es mit:

    ofstream drucker("LPT1", ios::out | ios::app);
    drucker<<"hallo";
    

    versucht. Das Programm startete zwar, aber es wurde nichts gedruckt (und ich HATTE den Drucker an!)

    Kann mir wer helfen?



  • Hi,

    zwar ist das nicht ganz ANSI/ISO aber es liegt sicherlich daran das du nicht geflusht hast.

    -> drucker.flush();

    Desweiteren kann ich dir nur empfehlen dich mal mit der WinAPI und dem Drucken zu beschäftigen( ich hab davon keine Ahnung, also frag net mich 🤡 )
    Denn das Resultat wenn man so druckt ist sehr bescheiden.

    MfG eViLiSSiMo



  • nope, daran scheint es nicht gelegen zu habe:

    ofstream drucker("LPT1", ios::out | ios::app);
      //cout=drucker;
      //flush(drucker);
      drucker<<"hallo";
      drucker.flush();
    


  • Hi!

    Ich habe das auch in einem Buch (von rororo) und das funktioniert wirklich. Bei mir wurde es gedruckt nachdem der PC runtergefahren war. Den Strom von PC und Drucker schalte ich extra ab. Ich habe das mehrmals getestet und jetzt ein Blatt wo des öfteren "hallo" drauf steht.

    Was mich interessieren würde ist ob man auch drucken kann, während Windows noch oben ist. flushen hat ja nichts gebracht und close() beschleunigt das auch nicht.

    Code-Hacker



  • Hi!

    Habe nochmal nachgesehen. Der Drucker bekommt den Druckauftrag, jedoch glaubt er kein Papier zu haben. Wenn Win runtergefahren ist, dann versucht er zu drucken, was sofern Papier vorhanden ist auch funktioniert. Man kann natürlich auch ein Papier einziehen lassen um den Druckauftrag zu starten.

    Würde mich mal interessieren ob man da nicht irgendwas machen kann damit der Drucker nicht nach Papier fragt.

    EDIT:
    Manchmal hilft googlen. Und jetzt wo ich es sehe, es muss noch \f hinterhergeschicht werden, vielleicht klappt es ja so auch auf anhieb:
    http://www.c-plusplus.net/forum/viewtopic.php?p=284401

    Code-Hacker



  • Dieser Thread wurde von Moderator/in Gerard aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hi!

    Ich habe es eben getestet, das mit dem '\f' sorgt dafür das sofort gedruckt wird. Aber wieso wurde der Thread von C++ nach Konsole verschoben? Das kann man mit einem leicht abgeänderten String doch auch unter Linux machen.

    Code-Hacker



  • Code-Hacker schrieb:

    Hi!

    Ich habe es eben getestet, das mit dem '\f' sorgt dafür das sofort gedruckt wird. Aber wieso wurde der Thread von C++ nach Konsole verschoben? Das kann man mit einem leicht abgeänderten String doch auch unter Linux machen.

    Code-Hacker

    Ja das frag ich mich auch. Rund um die Programmierung wäre passender gewesen.

    Aber jetzt haben wir ihn ja schon da.

    @nero-ex
    Ne andere "dumme" Frage (die, ob der Drucker überhaupt läuft, hast du ja schon beantwortet ;)):
    Ist dein Drucker überhaupt an LPT1 angeschlossen? Oder ist es ein USB-Drucker (also an USB angeschlossen)?


Anmelden zum Antworten