Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
s-m-n

Anmeldungsdatum: 03.10.2005 Beiträge: 106 Wohnort: Pietling in Oberbayern / Deutschland
|
Verfasst am: 10.03.2010, 21:08 Titel: [gelöst] Problem mit lprint |
|
|
Hi,
ich nutze den lprint-Befehl unter WinXP und einem Canon Pixma iP4600. Funktioniert soweit ganz gut, nur hab ich folgendes Problem:
Code: | OPEN "tf2.txt" FOR INPUT AS #1
WHILE NOT EOF(1)
LINE INPUT #1, Zeile(Zeilen)
Zeilen+=1
WEND
Close #1
for i = 0 to zeilen
lprint zeile(i)
next |
druckt mir die Datei zwar wunderbar aus, lässt aber nach jeder Textzeile eine Leerzeile frei. Mit diesem Code
Code: |
for i = 0 to 255
lprint i; " "; chr(i)
next i |
ist das aber nicht der Fall. Kann mir evtl. wer verraten, wie man das Einfügen der Leerzeilen (als Steuerzeichen wohl chr(10) ausgedrückt) verhindern kann? Wäre echt dankbar dafür.
MfG s-m-n
Zuletzt bearbeitet von s-m-n am 10.03.2010, 22:08, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
Verfasst am: 10.03.2010, 21:54 Titel: |
|
|
Semikolon. |
|
Nach oben |
|
 |
HorstD
Anmeldungsdatum: 01.11.2007 Beiträge: 110
|
Verfasst am: 10.03.2010, 21:54 Titel: |
|
|
Kann Zitat: | mir evtl. wer verraten, wie man das Einfügen der Leerzeilen (als Steuerzeichen wohl chr(10) ausgedrückt) verhindern kann? |
Indem du die Leerzeilen in der "tf2.txt" entfernst.
Oder versuch mal folgendes:
Code: |
OPEN "tf2.txt" FOR INPUT AS #1
WHILE NOT EOF( 1 )
LINE INPUT #1, Zeile
IF LEN( Zeile ) THEN
LPRINT Zeile
END IF
WEND
|
|
|
Nach oben |
|
 |
s-m-n

Anmeldungsdatum: 03.10.2005 Beiträge: 106 Wohnort: Pietling in Oberbayern / Deutschland
|
Verfasst am: 10.03.2010, 22:07 Titel: |
|
|
28398 hat Folgendes geschrieben: | Semikolon. |
Vielen Dank, genau das wonach ich gesucht hab hab wohl die Referenz nicht genau genug gelesen, es steht nämlich drin *nochmal nachgesehen hab*  |
|
Nach oben |
|
 |
Muttonhead

Anmeldungsdatum: 26.08.2008 Beiträge: 566 Wohnort: Jüterbog
|
Verfasst am: 10.03.2010, 23:59 Titel: |
|
|
@28398: öhhm... entweder steh ich jetzt auf'm Schlauch.....
ein LINE INPUT "filtert" doch LF und CR am Ende aus der Zeile des Textfiles heraus, oder?
Also ein durch LINE INPUT "befüllter" String enthält keine Steuerzeichen am Ende.
wenn sich LPRINT analog zu PRINT verhält, wieso dann eine Semikolon?
...da ich meinen Drucker noch nie via LPRINT gefüttert habe, entschuldige ich mich mal schon im voraus
für die blöde Frage...
Mutton |
|
Nach oben |
|
 |
HorstD
Anmeldungsdatum: 01.11.2007 Beiträge: 110
|
Verfasst am: 11.03.2010, 00:38 Titel: |
|
|
Code: | hab wohl die Referenz nicht genau genug gelesen, es steht nämlich drin |
In der Referenz steht, dass der (L)PRINT Befehl ohne Zeilenumbruch ausgeführt wird, wenn ein Semikolon am Ende steht.
Das bedeutet, alle Ausgaben werden in einer Zeile gedruckt. Zumindest solange bis der Drucker oder Bildschirm einen automatischen Umbruch erzeugt.
Dein Testcode funktioniert ja auch ohne Semikolon!
Code: |
for i = 0 to 255
lprint i; " "; chr(i)
next i
|
Wenn du hinter chr(i) ein Semikolon setzt, siehst du den Unterschied.
Code: |
for i = 0 to 255
lprint i; " "; chr(i);
next i
|
Aber ohne deine Textdatei (ein paar Zeilen reichen) gesehen zu haben, kann man nur rätseln. |
|
Nach oben |
|
 |
s-m-n

Anmeldungsdatum: 03.10.2005 Beiträge: 106 Wohnort: Pietling in Oberbayern / Deutschland
|
Verfasst am: 11.03.2010, 16:52 Titel: |
|
|
HorstD hat Folgendes geschrieben: | In der Referenz steht, dass der (L)PRINT Befehl ohne Zeilenumbruch ausgeführt wird, wenn ein Semikolon am Ende steht. |
In der Referenz vom 31.08.2009 (die ja die aktuelle sein sollte) steht unter PRINT folgendes:
Referenz hat Folgendes geschrieben: | Nach der Ausgabe des Ausdrucks wird der Textcursor um eine Zeile nach unten und in die erste Spalte dieser Zeile versetzt. Ein Semikolon hinter dem Ausdruck unterdrückt diesen Zeilenumbruch. |
Wie gesagt, mit dem Semikolon am Ende der Anweisung funktioniert das ganze bestens. Probieren geht über studieren
MfG
Edit: Die aktuelle Referenz ist von heute, hab ich mir gerade geholt. Steht aber selbiges drin  |
|
Nach oben |
|
 |
|