Hallo,
ich kämpfe da mit einem Problem.
Ich habe eine Funktion, die drucken soll.
Das tut sie auch, nur nicht dann, wenn sie soll.
Es wird alles an den Drucker geschickt, und der rührt sich nicht.
Erst wenn ich mein Programm beende, wird der Spreciher im Drucker geleert und der druckt alles aus.
Außer in dieser Funktion ist aber NIRGENDWO anders eine Anweisung den Drucker anzusteuern.
Die Funktion ist folgende:
void telefonliste (void)
{
int i = 0,
laenge = 0;
layout();
gotoxy(55,3);
textattr(2); cprintf("Telefonliste drucken");
textattr(7); printf("");
fputc(0,stdprn);
fputc(14,stdprn);
fprintf(stdprn," Telefonliste \\\\n\\\\n\\\\n");
fputc(13,stdprn);
for(i=0; i {
if(strcmp(worker[i].anstellung,"N")!=0)
{
fprintf(stdprn,"%4d - %s, %s \\\\n",
worker[i].nummer,worker[i].name,
worker[i].vorname);
fprintf(stdprn,"\\\\n");
}
}
gotoxy(74,25);
printf(" Ende");
getch();
fputc(12,stdprn);
}
Gibt es einen Befehl zur Statusabfrage des Druckers, bzw. zur
Online-Schaltung des Druckers ich vermute nämlich, das der Drucker einfach nicht bereit ist, warum auch immer.
Danke für die Hilfe.
Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge
Das Problem liegt daran, daß das Programm alles nur in den Druckerspeicher schiebt.
Es fehlt noch der Abschluß.
Beispiel: Unter Dos drückst Du auf die Taste DRUCK. Danach mußt Du am Drucker zum Ausführen auch noch eine Taste drücken, damit es ausdruckt.
Was Du machen mußt, steht im Druckerhandbuch.
Genau sowas möchte ich vermeiden, da das Programm am Ende auf unterschiedlichen Rechnern mit unterschiedlichen Druckern eingesetzt wird.
Es muß doch einen generellen Steuerbefehl geben, womit ich das Drucken starten kann, oder ?
Ich meine für Befehle wie "Seite auswerfen" gibt es den ja auch !
Außerdem druckt er ja ab und zu.
Machmal druckt er sofort, manchmal erst bei Beenden des Programms und manchmal auch gar nicht.
Hast Du (oder sonst jemand) vielleicht noch eine Idee ?
Danke.
Eine Idee habe ich schon, nur weiß ich nicht, ob Dir damit geholfen ist.
Ich habe mal mit einem DOS-Prg gearbeitet und mit einem Laserjet 5P.
Um diesen zu bewegen, den Müll dann auch auszudrucken, mußte ich Steuercodes eingeben.
In meinem Fall war es 27 und 69.
27 steht für Escape und 69 war denn der Befehl.
CU
Kolti