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 „Genau sowas möchte ich vermeiden, da das Programm am Ende auf unterschiedlichen...“
Optionen

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

bei Antwort benachrichtigen