Programmieren - alles kontrollieren 4.937 Themen, 20.654 Beiträge

Drucken unter DOS

W.Stecher / 3 Antworten / Flachansicht Nickles

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.

bei Antwort benachrichtigen
Kolti W.Stecher „Drucken unter DOS“
Optionen

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.

bei Antwort benachrichtigen