Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

Ich schon wieder!!! If(usw...)

BDelphi / 5 Antworten / Baumansicht Nickles

Hallo Zusammen,

Ich habe da mal wieder ein Problem, das Drucken unter DOS:

Ich habe hier ein kleines proggi, ein Teil eines Proggis

Schaut mal:

setbuf(stdout,NULL);
if((ei_kan = fopen(DATEI,"r")) == NULL)
{
fputs("Fehler beim Lesen der Datei!\\n", stderr);
}
else
{
fputs("Inhalt der Datei ",stdprn); /* Textausgabe als Ueberschrift */
fputs(DATEI,stdprn);
fprintf(stdprn,":\\n\\n");

while( ( ascii = fgetc ( ei_kan ) ) != EOF )
{
fputc ( ascii, stdprn );
if ( ascii == 1 ) fputc ( 33, stdprn );
}
putc ( ascii, stdprn );
fputc ( 12, stdprn );
}
return(0);
}

Das Problem ist jetzt, er Druckt nur die erste Zeile aus, danach ist schluss, wie kommt das?
Hat da jemand einen Rat!?

Danke schon mal im Vorraus
Thorsten

bei Antwort benachrichtigen
thomas woelfer BDelphi „Ich schon wieder!!! If(usw...)“
Optionen

ich denke der richtige weg auf end of file bei einem stream zu testen ist feof( stream)

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen
BDelphi thomas woelfer „ich denke der richtige weg auf end of file bei einem stream zu testen ist feof...“
Optionen

Hallo,

die Antwort war sehr kurz und knapp....
Aber leider kann ich nicht soviel damit anfangen, den ich bin noch blutiger Anfänger, und ich bin noch am C-üben.
Es ist so, das ich den Zeichensatz vom PC mit zeilenzahlen und Ordnungszahlen in eine Datei Speichern soll, Sie auf dem Bildschirm darstellen soll und zu guter letzt auf den Drucker aus geben soll.
Das klappt aber komischerweise nicht. Meine frage wäre, ob diese If-Anweisung ( if ( ascii == 1 ) fputc ( 33, stdprn ) ) irgend etwas zu tun hat. Diese anweisung "feof" kenne ich leider noch nicht.?
Hast Du vieleicht eine andere, einfachere Lösung für mich?
Danke schon mal im vorraus.
Gruß Thorsten

bei Antwort benachrichtigen
thomas woelfer BDelphi „Hallo, die Antwort war sehr kurz und knapp.... Aber leider kann ich nicht soviel...“
Optionen

deine abbrruchbedingung ist nicht richtig.

beispiel zum zeichenweisen lesen / anzeigen einer datei (in c):

FILE* pFile;
char c;
pFile = fopen( NAME_DER_DATEI_HIER, "r");
while( ! feof( pFile))
{
c = fgetc( pFile);
fputc( c, stdout);
}

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen
BDelphi thomas woelfer „deine abbrruchbedingung ist nicht richtig. beispiel zum zeichenweisen lesen /...“
Optionen

Hallo,

noch ne Frage, das mit dem anzeigen ist ja ok, geht ja auch bei mir, aber wie ist es mit dem Drucken, genauso?
(ich weiß ich kann Nerven)

bei Antwort benachrichtigen
thomas woelfer BDelphi „Hallo, noch ne Frage, das mit dem anzeigen ist ja ok, geht ja auch bei mir, aber...“
Optionen

auf welche stream du ausgibts (stdout, stderr, stdprn) spielt keine rolle. das einzige auf das man aufpassen muss ist das die zeichen, die vom drucker als 'control' zeichen interpretiert werden (koennen) eben nicht ausgegeben werden...

WM_HOPETHISHELPS
thomas woelfer

this posting contains no tpyos.
bei Antwort benachrichtigen