Hallo.
Ich habe einen USB-Drucker gekauft und kann jetzt keine Daten aus
dem GW-Basic Programm ausdrucken. Der bisher verwendete LPRINT
Befehl sendet nur an LPT1 und nicht an USB.
Kann mir einer helfen und mir die Druck- bzw. Open-Befehle für
GW-Basic für USB Drucker mitteilen.
Mit Gruß
PB
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
Hi!
IMHO versuchst du den falschen Ansatz. GW-basic kann gar nicht auf die benötigten Funktionen von Windows zugreifen, um den Drucker direkt über die USB-Schnittstelle anzusteuern. Der Weg das Problem zu lösen, kann da nur am Drucker bzw. dessen Drucktreiber unter Windows ansetzen.
Dein Programm bzw. GWBasic will den Drucker LPT1 ansteuern. Daher muss dein Drucker im Drucktreiber so eingerichtet werden, dass Windows ihn als LPT1 für alte 16Bit-Programme ansteuern kann. Ich kann dir nicht versprechen das das klappt, aber probieren schadet ja nichts.
Sollte man den Drucktreiber so einrichten können, das der Drucker unter den alten DOS-Routinen die Windows per vereinfachter Emulation bereitstellt), dann bliebe noch das Problem, ob der Drucker die übertragenen Druckcodes zur Druckausgabe versteht udn richtig ausführt. Bei diesem Punkt sehe ich die grössten Probleme. Unter DOS (GWBasis ist noch ein DOS-Program), gab es noch keine Druckertreiber wie unter Windows, die dafür sorgen, dass jedes Windows-Programm den Drucker nutzen kann. Unter DOS müsste jedes Programm das drucken wollte, die Steuerung des verwendeten Druckers selbst übernehmen. Da konnte dann schon der Wechsel von HP zu Epson bedeuten, dass die Druckausgabe nicht mehr passte.
Der Trick für die Verbindung des USB-Druckers mit LPT1 besteht darin, den Drucker als Netzwerkdrucker einzurichten udn freizugeben, dann kann er mit einem DOS/Shell-befehl mit der Schnittstelle LPT1 verbunden werden.
Dazu wird der Shell Befehl "net use" verwendet.
hier mal ein solcher Fall aus dem Netz: http://www.win-tipps-tweaks.de/forum/online-netzwerk/6535-verbinden-lpt1-per-net-use.html
Das stellt wie gesagt die Verbing her, so dass die interne Druckerschnittsrtelle LPT1 mit dem USB-Drucker verbunden wird. Das stellt aber in keinster Weise sicher, dass der Drucker auch versteht, was da als Druckausgabe an ihn gesendet wird!
Bis dann
Andreas