Problem beim Drucken - NextPage



Problem beim Drucken - NextPage

Torsten R., 21.04.2008 14:03: Hallo, nach längerer Zeit hat sich mal wieder etwas ergeben, für das ich nen kleines Programm schreiben möchte, und nu stolpere ich über das Ausdrucken einer Textdatei.
Zwei Codes, einmal als Prozedur, einmal stand-alone sozusagen.
Die Prozedur versagt ab der zweiten Seite, der stand-alone code haut die komplette Datei durch egal wie lang sie ist.
Hat irgendjemand eine Idee, was ich falsch mache?


Proc Tabelle_drucken
   DECLARE Randlinks%
   DECLARE Zeile%
   DECLARE Text$
   LET Randlinks% = 20
   LET Zeile% = 24
   Reset #1
   StartPrint "*Tabelle"
   If %Printing
      DrawText Randlinks%, Zeile%, "Tabelle"
      INPUT #1, Text$
      WhileNot @EoF(#1)
         If Zeile% >= 888
            LET Zeile% = 24
            NextPage
            DrawText Randlinks%, Zeile%, "Tabelle"
         EndIf
         LET Zeile% = Zeile% + 24
         DrawText Randlinks%, Zeile%, @SubStr$(Text$, 1, ";")
         LET Zeile% = Zeile% + 24
         DrawText Randlinks%, Zeile%, @SubStr$(Text$, 2, ";")
         LET Zeile% = Zeile% + 24
         DrawText Randlinks%, Zeile%, @SubStr$(Text$, 5, ";")
         LET Zeile% = Zeile% + 24
         DrawText Randlinks%, Zeile%, "---------------------------------------------"
         INPUT #1, Text$
      EndWhile
   EndIf
   EndPrint
EndProc


DECLARE Randlinks%
DECLARE Zeile%
DECLARE Text$
LET Randlinks% = 20
LET Zeile% = 24
Assign #1, "daten.csv"
Reset #1
StartPrint "*Tabelle"
If %Printing
   DrawText Randlinks%, Zeile%, "Tabelle"
   INPUT #1, Text$
   WhileNot @EoF(#1)
      If Zeile% >= 888
         LET Zeile% = 24
         NextPage
         DrawText Randlinks%, Zeile%, "Tabelle"
      EndIf
      LET Zeile% = Zeile% + 24
      DrawText Randlinks%, Zeile%, @SubStr$(Text$, 1, ";")
      LET Zeile% = Zeile% + 24
      DrawText Randlinks%, Zeile%, @SubStr$(Text$, 2, ";")
      LET Zeile% = Zeile% + 24
      DrawText Randlinks%, Zeile%, @SubStr$(Text$, 5, ";")
      LET Zeile% = Zeile% + 24
      DrawText Randlinks%, Zeile%, "---------------------------------------------"
      INPUT #1, Text$
   EndWhile
EndIf
EndPrint


H B., 21.04.2008 16:35: Hallo,
Könnte evtl. daran liegen :
1.) in der Proc fehlt das
Assign #1, "daten.csv"
2.) Und schliesse auch immer nach Ablauf der
Schleife die Datei.
Vielleicht sind es diese Kleinigkeiten, die diese Nebeneffekte
auslösen.


Mario P., 22.04.2008 01:37: Hallo Torsten,
hab jetzt mal mit Deinem Proc-Code ein wenig rumprobiert
(natürlich nach einfügen der von H.Brill genannten Sachen Assign und Close).
Hab dann mal 'ne Schleife gebaut, um dein Proc mehrmals hintereinander
aufzurufen (immer mit der gleiche Datei).
Irgendwann habe ich dann als letztes den Drucker-Dialog gesehen, bei klick auf OK
gab es einen kompletten System-Neustart. Das müsste dann an der Stelle gewesen
sein, wo %Printing abgefragt wird.
Aber solange alles durchlief, war der Ausdruck immer richtig.
Hab das gleiche mit deine "stand-Alone"-Version gemacht, ist 25mal ohne Probleme
durchgelaufen.
Hab's mit lokalem Drucker (natürlich ausgeschaltet, so das alles in der Warteschlange
landet) wie auch mit Adobe-pdf-drucker probiert, immer das gleiche.
Sollte's mit %Printing zusammenhängen ?? Obwohl, dann sollte der Fehler ja auch in der "Stand-Alone"-Version auftreten .
Oder ein Aufruf im Proc, der einfach zu schnell durchläuft ?? Aber durch * im Startprint
wird ja eigentlich genug gewartet...
Oder hab ich mal auf Abrechen geklickt und das System hat die Var auf 0 gesetzt, was ja die If-Schleife durcheinanderbringen könnte , wenn der Drucker immer noch aktiv ist? Muss ich mir gleich morgen noch mal ansehen und durch den Kopf gehen
lassen....
Mal abwarten, was es noch für Meinungen gibt....
Mario


Torsten R., 23.04.2008 09:52: Die Datei per Assign wird in einer eigenen Prozedur festgelegt (Datei öffnen Dialog)
Das die Datei geschlossen werden muss am Ende stimmt natürlich, das habe ich schonmal geändert.
Leider keine Verbesserung,
Ist wirklich sehr seltsam, die erste Seite wird korrekt gedruckt, ab der zweiten kommt statt dem Inhalt nur noch ein paar Striche, etwa so:
_
__
_
_
----------------------------------
und das dann für jeden Eintrag der eigentlich gedruckt werden sollte.
Ich tüftel mal selber auch noch weiter, mal sehen ob ich es noch herausbekomme.
MfG
Torsten


Peter M.M., 23.04.2008 12:18: Hallo,
Ohne es jetzt getestet zu haben:
Schau mal ob das hilft:
[...]
Gruss


Torsten R., 23.04.2008 15:17: Ja
Genau daran hat es gelegen!
Ok, ich danke vielmals, dann kann ich ja jetzt endlich den Ausdruck fertig machen.
MfG
Torsten Rümker


Dies ist die Offlinevariante vom Thread [Problem beim Drucken - NextPage].

Valid CSS!

©2006 XProfan.Com