Rol: Visual C++: Wie kann ich ein ASCII-Zeichen an LPT1 senden ? o.T.

Hi,

kann mir jemand sagen, wie ich in Visual C++ ein ASCII-Zeichen an die parallele Schnittstelle LPT1 senden kann (soll dort auf einen Nadeldrucker ausgegeben werden).

Gruß
Rol.

  1. Hi Rol.,

    kann mir jemand sagen, wie ich in Visual C++ ein ASCII-Zeichen an die parallele Schnittstelle LPT1 senden kann (soll dort auf einen Nadeldrucker ausgegeben werden).

    das geht mit der Windows-Funktion Escape. Du musst den Parameter PASSTHROUGH angeben.

    Gruß,
    Martin

    1. Danke.

      das geht mit der Windows-Funktion Escape. Du musst den Parameter PASSTHROUGH angeben.

      Kannst Du mir das bitte etwas genauer sagen, ich bin bei VC++ noch ziehmlich am Anfang.

      Gruß

      Rol

      1. Hi Rol.,

        Kannst Du mir das bitte etwas genauer sagen, ich bin bei VC++ noch ziehmlich am Anfang.

        Ein Blick in die Doku sollte eigentlich reichen.

        char szData[] = "Hallo oder was auch immer";
        Escape( hDC, PASSTHROUGH, sizeof( szData ), szData, NULL );

        Gruß,
        Martin

        1. Hi Martin,

          Ein Blick in die Doku sollte eigentlich reichen.

          char szData[] = "Hallo oder was auch immer";
          Escape( hDC, PASSTHROUGH, sizeof( szData ), szData, NULL );

          Irgendwie blicke ich hier noch nicht so richtig durch, die Doku hilft mir leider auch nicht viel weiter.

          Wie erzeuge ich in o.g. Bsp. "hDC"?

          Vor längerer Zeit hab' ich mal sowas mit einem Borland Compiler unter DOS gemacht. Da ging es so schön einfach mit:

          fprintf (stdprn,"Hallo Welt\n\r");

          geht's so ähnlich nicht mit VC++ / MFC ?

          Gruß,

          Rol

          1. Hi Rol,

            Wie erzeuge ich in o.g. Bsp. "hDC"?

            also ohne Verständnis was ein device context ist und warum du ihn brauchst, wrst du keine Ausgaben machen können. Das Thema ist aber für ein Forum zu komplex. Du solltest dich mal durch die MSDN ackern. Da sind nicht nur Referenzen, sondern auch weitergehende Erläuterungen drin.

            fprintf (stdprn,"Hallo Welt\n\r");

            geht's so ähnlich nicht mit VC++ / MFC ?

            Nein. Sämtliche Ausgabe brauchen einen Device Context, da führt kein Weg dran vorbei. Oder hättest du es gerne wenn die Ausgaben zweier Programme bunt gemischt auf einem Blatt Papier sind, oder Fenster überzeichnet werden? DOS ist halt ein Singletask-System, Windows ein Multitask-System. Hier müssen einfach Wege sein, damit sich die Tasks nicht in die Quere kommen.

            Gruß,
            Martin

            1. »»Du solltest dich mal durch die MSDN ackern.
              Werd ich machen, trotzdem danke.

              Gruß,

              Rol

          2. Hi!

            fprintf (stdprn,"Hallo Welt\n\r");
            geht's so ähnlich nicht mit VC++ / MFC ?

            Doch, nur dass stdprn noch nicht offen ist. Du musst selbst mit fopen() die Datei "PRN" oder "LPT1" oeffnen, dann mit fprintf() drauf ausgeben, dann mit fclose() schliessen. Nicht vergessen, ein Formfeed auszugeben ("\f").

            So long