| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen | 
	
	
		| Autor | Nachricht | 
	
		| bilta 
 
 
 Anmeldungsdatum: 23.01.2006
 Beiträge: 7
 
 
 | 
			
				|  Verfasst am: 25.01.2006, 18:25    Titel: Drucker Befehl 'LPRINT' bei FreeBasic |   |  
				| 
 |  
				| Programm gibt eine Fehlermeldung aus beim Befehl LPRINT "Text". Wo liegt der Fehler?
 Gruss
 Bilta
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Stormy 
 
  
 Anmeldungsdatum: 10.09.2004
 Beiträge: 567
 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Michael Frey 
 
  
 Anmeldungsdatum: 18.12.2004
 Beiträge: 2577
 Wohnort: Schweiz
 
 | 
			
				|  Verfasst am: 25.01.2006, 19:09    Titel: |   |  
				| 
 |  
				| Ich hab schnell diesen Code Gebastelt: 
  	  | Code: |  	  | LPRINT "Hallo Welt!" LPRINT "Hallo Welt! 2"
 LPRINT "Hallo Welt! 3"
 | 
 Bei mir Funktionierts (ich hab einen rund 10 Jahre alten Drucker, der noch an LPT 1 hängt, Freebasic 0.15)
 Und ich bin nicht der einzige, siehe http://forum.qbasic.at/viewtopic.php?t=1877.
 
 Hast du Freebasic 0.15?
 
  	  | changelog.txt hat Folgendes geschrieben: |  	  | Version 0.15 Beta: ...
 [added]
 ...
 - LPRINT support (mjs)
 ...
 | 
 Mit einer älteren Version geht es also gar nicht.
 
 
 Sollte es immer nocht nicht gehen, kann das Interresant sein:
 http://forum.qbasic.at/viewtopic.php?t=1473
 _________________
 http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
 http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
 Neu mit Syntax Highlight
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Sebastian Administrator
 
  
 Anmeldungsdatum: 10.09.2004
 Beiträge: 5969
 Wohnort: Deutschland
 
 | 
			
				|  Verfasst am: 25.01.2006, 19:45    Titel: |   |  
				| 
 |  
				| Also bei mir funktioniert's auch nicht.   
 Konfiguration:
 - FB Version 0.15 stable
 - Drucker: Brother HL-1430
 - Anschluss über D-Link DP-300U Printserver
 - Netzwerkdrucker als LPT1 verbunden
 - OS: W2K
 
 Scheinbar klappt das nur mit echten Druckern am LPT1. Von daher sollte man wohl besser die WinAPI verwenden, wenn auch USB- oder Netzwerkdrucker unterstützt werden sollen.
  _________________
 
   Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| bilta 
 
 
 Anmeldungsdatum: 23.01.2006
 Beiträge: 7
 
 
 | 
			
				|  Verfasst am: 26.01.2006, 10:05    Titel: LPRINT |   |  
				| 
 |  
				| Besten Dank für die verschiedenen Antworten. 
 Mein Drucker ist an LPT1 angeschlossen, aber ich verwende
 FreeBasic 0.14!
 
 Gibt es FreeBasic 0.15 schon in der deutschen Fassung?
 
 Gruss
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| ytwinky 
 
  
 Anmeldungsdatum: 28.05.2005
 Beiträge: 2624
 Wohnort: Machteburch
 
 | 
			
				|  Verfasst am: 26.01.2006, 10:25    Titel: Re: LPRINT |   |  
				| 
 |  
				|  	  | bilta hat Folgendes geschrieben: |  	  | ..aber ich verwende FreeBasic 0.14!
 
 Gibt es FreeBasic 0.15 schon in der deutschen Fassung?
 | 
 Wenn du FreeBasic 0.14 schon 'fertig hast', kannst du gerne mit der
 Übersetzung von FreeBasic 0.15 beginnen
   (Da FreeBasic 0.16 schon in den Startlöchern steht, solltest du dich aber beeilen..)
 Es kann natürlich auch sein, daß ich dich mißverstanden habe
   Im Klartext: Wie meinstn das ???
 Gruß
 ytwinky
 _________________
 
 ..also ungefähr so, wie ich GOTO.. 	  | v1ctor hat Folgendes geschrieben: |  	  | Yeah, i like INPUT$(n) as much as PRINT USING.. | 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Sebastian Administrator
 
  
 Anmeldungsdatum: 10.09.2004
 Beiträge: 5969
 Wohnort: Deutschland
 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| bilta 
 
 
 Anmeldungsdatum: 23.01.2006
 Beiträge: 7
 
 
 | 
			
				|  Verfasst am: 26.01.2006, 13:22    Titel: LPRINT |   |  
				| 
 |  
				| Michael Frey fragte mich, ob ich FreeBasic 0.15 habe - und weiter teilte er mir mit, 'mit einer älteren Version geht es also gar nicht'
 
 Deshalb meine Antwort, dass ich FreeBasic 0.14 habe.
 Du hast mich also wirklich missverstanden!
 
 Gruss
 Bilta
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Michael Frey 
 
  
 Anmeldungsdatum: 18.12.2004
 Beiträge: 2577
 Wohnort: Schweiz
 
 | 
			
				|  Verfasst am: 26.01.2006, 17:43    Titel: |   |  
				| 
 |  
				| @bilta Das war nur ein Witz von ytwinky.
 (Meiner Meinung nach nicht alzu gelungen)
 
 Nun im ernst:
 Freebasic gibt es nur in Englisch, auch du hast im moment eine Normale, Englische Version vor dir.
 Wahrscheinlich hast du Freebasic (so heisst nur der Compiler) mit der FBIde (das ist eine Entwicklungsumgebung, dort gibt man den Code ein) verwechselt.
 Du kannst die Freebasic also ohne Probleme wechseln und die Oberfläche mit der du Programmierst (wahrscheinlich FBIde) bleibt auf Deutsch.
 Hier der Links zur aktuellen Freebasic Version:
 http://prdownloads.sourceforge.net/fbc/FreeBASIC-v0.15b-win32.exe?download
 _________________
 http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
 http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
 Neu mit Syntax Highlight
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| oldirty 
 
  
 Anmeldungsdatum: 04.08.2005
 Beiträge: 65
 
 
 | 
			
				|  Verfasst am: 26.01.2006, 18:39    Titel: |   |  
				| 
 |  
				| Zwar nicht mit LPRINT aber fast genau so gut: 
 Hier mal ein Demo zum Drucken:
 Es wird der Standard-Drucker ermittelt mir vorheriger Druckerauswahl
 Über "open lpt "LPT:" + printer_name + ",EMU=TTY" as fo'+ doc_title2 as fo" wird er dann (Auch wenn an USB angeschlossen) identifiziert. Alle print #-Ausgaben werden dann an den Drucker geschickt.
 
 Vielleicht hilfts ja weiter.
 
 CU
 OlDirty
 
 
  	  | Code: |  	  | ''
 '' lineprt -- shows how to use GDI printers from FB using BASIC-only commands
 ''
 #include "windows.bi"
 screen 19
 windowtitle "Druckdialog"
 Dim As Any Ptr hwnd
 hwnd =  FindWindow( 0, "Druckdialog" ) 'Zeiger Finden über Fenstertitel
 option explicit
 option private
 Declare Function apiGetProfileString Lib "kernel32" Alias "GetProfileStringA" _
 (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, _
 ByVal lpReturnedString As String, ByVal nSize As Long) As Long
 Declare Function fDefaultPrinter() As String
 Dim as string printer_name, doc_title, doc_title2
 Dim as integer fi, fo, erg
 Dim as string zeile
 Exec Environ$("windir") &"\\System32\\rundll32.exe",_
 "shell32.dll,SHHelpShortcuts_RunDLL PrintersFolder"
 Erg = MessageBox (hwnd,"Standarddrucker gewählt?","Fertig?",_
 MB_ICONQUESTION Or _
 MB_OK Or _
 MB_DEFBUTTON1 Or _
 MB_TOPMOST)
 printer_name=fDefaultPrinter() 'Druckername ermitteln
 if len(printer_name)=0 then end 1
 
 Erg = MessageBox (hwnd,"Druck starten?","Starten?",_
 MB_ICONQUESTION Or _
 MB_YESNO Or _
 MB_DEFBUTTON1 Or _
 MB_TOPMOST)
 if erg=IDNO then
 print "Druck abgebrochen"
 print "Gewaehlter Drucker war: ";printer_name
 sleep
 end
 end if
 'line input "What's the documents title"; doc_title
 'Demo-Text-Datei fuer den Ausdruck
 doc_title="C:\temp\dat.txt"
 
 if len(doc_title)>0 then
 if instr(doc_title,",")>0 then
 print "The document title must not contain a comma"
 end 1
 end if
 doc_title2 = ",TITLE=" + doc_title
 end if
 
 print printer_name
 print doc_title
 print
 fi=freefile
 open doc_title for input as fi
 fo=freefile
 open lpt "LPT:" + printer_name + ",EMU=TTY" as fo'+ doc_title2 as fo
 while eof(fi)<>-1
 line input #fi,zeile
 print zeile
 print #fo,zeile
 wend
 
 'print #fo, "Hello World !"
 'print #fo, chr$(12); ' start a new page
 'print #fo, "I say ""Hello World !"" on page 2"
 close fo
 close fi
 sleep
 end
 
 '******************************************************
 Function fDefaultPrinter() As String
 Dim strBuffer As String * 254
 Dim lngReturn As Long
 Dim strDefaultPrinter As String
 lngReturn = apiGetProfileString("WINDOWS", "DEVICE", ",,,", _
 strBuffer, _
 Len(strBuffer))
 fDefaultPrinter =Left$(strBuffer, InStr(strBuffer, ",") - 1)
 End Function
 
 | 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| bilta 
 
 
 Anmeldungsdatum: 23.01.2006
 Beiträge: 7
 
 
 | 
			
				|  Verfasst am: 26.01.2006, 19:03    Titel: LPRINT |   |  
				| 
 |  
				| Herzlichsten Dank für die Aufklärung! 
 Ich werde mich offensichtlich intensiver mit der Materie auseinandersetzen
 müssen.
 
 Einen schönen Abend wünscht
 
 Bilta
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Sebastian Administrator
 
  
 Anmeldungsdatum: 10.09.2004
 Beiträge: 5969
 Wohnort: Deutschland
 
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| bilta 
 
 
 Anmeldungsdatum: 23.01.2006
 Beiträge: 7
 
 
 | 
			
				|  Verfasst am: 27.01.2006, 10:08    Titel: LPRINT |   |  
				| 
 |  
				| @Michael Frey Habe, wie von Dir vorgeschlagen, den Wechsel vorgenommen.
 Jetzt funktionierts einwandfrei!
 Nochmals besten Dank für alle Antworten.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		| Dusky_Joe 
 
  
 Anmeldungsdatum: 07.01.2005
 Beiträge: 1007
 Wohnort: Regensburg/Oberpfalz
 
 | 
			
				|  Verfasst am: 27.01.2006, 19:48    Titel: |   |  
				| 
 |  
				| Die API ist natürlich wesentlich bequemer, zumindest bietet sie mehr Features. Aber, der Vollständigkeit halber: Habt ihr denn auch alle brav die Ref gelesen? 
 
  	  | Befehlsreferenz; LPRINT hat Folgendes geschrieben: |  	  | Einige Drucker beginnen mit dem Druckauftrag erst, wenn ein CHR(12) (End of Page) gedruckt wird.
 | 
 
 Klartext:
 Michael Frey's code sollte in dieser Form funktionieren:
 
  	  | Code: |  	  | LPRINT "Hallo Welt!" LPRINT "Hallo Welt! 2"
 LPRINT "Hallo Welt! 3"
 LPRINT CHR(12)
 | 
 
 
 Have a nice day
 Ciao
 _________________
 fully biological degradable
 
 Once, the big wave arrives, you've got two ways, you can go:
 Either, you ride it, or you don't do.
 But, if you don't ride, you'll never know wether you'd have gone wet.
 |  | 
	
		| Nach oben |  | 
	
		|  | 
	
		|  |