Direktes Drucken

Hallo zusammen

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.

Danke für Eure Hilfe
Martin

Hallo!

Hab ich schon lang nicht mehr gemacht

versuch mal folgendes:
printer.print

(damit das funktioniert, muss der Drucker aber unter Windows eingerichtet sein)

Ich hab da son paar Funktionen, wie man ein selbstgeneriertes Layout drucken kann. (ist erheblich leichter)

Grüsse
Thomas

Hallo

versuch mal folgendes:
printer.print

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.

Gruss
Martin

Hi!

Ich hab da son paar Funktionen, wie man ein selbstgeneriertes
Layout drucken kann. (ist erheblich leichter)

Würde mich mal interessieren!

Grüüße
Florian

Hallöchen,

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]

Hallo Markus

Danke für Deine Antwort.

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.

Gruss
Martin

Hallo Martin,

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

Hallo Martin,
ich glaube man muß damit der Drucker zu drucken beginnt den Druck mit

 Printer.EndDoc 

abschliessen.
lg

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

Printer.EndDoc

abschliessen.
lg