Ich suche ein Stück Code, um aus VB6 direkt auf den Druckerport zu schreiben (drucken). Ich benötige keinen speziellen Druckertreiber - evt. sollte ich den Generic-Treiber nehmen, ich weiss es nicht.
Beim Drucker handelt es sich um einen parallel angesteuerten Etiketten-Printer, welcher eigene Steuersequenzen benötigt. Früher hatte ich aus DOS keine Probleme mit der Ansteuerung aber nun aus VB beginnt er meistens nicht mal mit Drucken.
Habe ich schon versucht, aber irgendwie schafft es der Drucker nicht, dass er startet. Habe auch schon CHR(13) und so mitgeschickt, der Drucker hat aber trotzdem nicht gestartet.
das gleiche Problem hatte ich auch mal. Leider ist das schon eine Weile her. Ich habe mir damals in VC++ eine DLL geschrieben, die dafür eine Windows-API nutzt. Diese habe ich dann von VB aus aufgerufen. Ich werde das Projekt mal rausuchen und mich dann wieder melden. (Kann ein paar Tage dauern).
Die VB-Objekte die in der anderen Antwort erwähnt wurden haben bei mir auch Ärger gemacht. Irgendwie erwarten die immer ganze Dokumente, also mindestens eine Seite. Bei mir war es damals VB5. Da gab es irgendwie kein Objekt das direkt druckt. Deswegen C. Vielleicht gibt es ja in VB6 noch was? Ich kann mich in C auch an ein Printer-Objekt erinnern.
Ich suche den Code mal raus. Dann sehen wir weiter.
CU
Markus
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Es gibt in VB6 ein Objekt für das Drucken. Leider funktioniert es aber nicht so, wie ich das gerne hätte.
Ich schicke lediglich ein paar Commands an den Drucker, welcher dieser dann interpretiert.
Leider sieht es aber so aus, als wisse der Drucker nicht, wann ich fertig mit senden bin. Wenn ich die Applikation dann schliesse, beginnt der Ausdruck.
hier kommt mein DLL-Projekt für Drucken unter Windwos auf einen Protokoll-Drucker (Nadel-Drucker), der jede Zeile sofort drucken sollte. Ich hoffe es ist die aktuellste Version, die auch funktioniert).
Wenn ich mich richtig erinnere, findest du die fertige DLL im Unterverzeichnis .\Release namens ‚drucken.dll‘. Diese solltest du in dein Prokjekt-Verzeichnis kopieren.
Dann findest du im obersten Verzeichnis eine Datei namens ‚drucken.bas‘. Diese mußt du ebenfalls in dein Projekt-Verzeichnis kopieren. Sie enthält die Deklarationen, um die DLL aus VB aufrufen zu können.
In VB druckst du mit folgender Zeile
Call CPrint(PrinterName, DocName,Text)
wobei
PrinterName der Name des Windows-Drucker ist, wie er im Drucker-Ordner in der Systemsteuerung angezeigt wird.
DocName der Name unter dem der Druckauftrag nach absenden im Drucker-Manager auftaucht
Text die Zeichen, die du an den Drucker senden willst.
Ich hoffe es klappt
CU
Markus
PS.: Ich habe diese Mail auch direkt an dich geschrieben, MIT ANHANG
PS.: Direktes Drucken
Ich habe aus einer VB-Zeitschrift ein Projekt (ActiveX-DLL), die zeigt was man so mit dem Printer-Objekt alles machen kann. Teilweise mit API-Calls. Wenn Du Interesse hast schicke ich das Projekt per mail
lg nochmals
Hallo Martin,
ich glaube man muß damit der Drucker zu drucken beginnt den
Druck mit