Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Drucken (zum x-ten Mal)

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
SL



Anmeldungsdatum: 06.12.2009
Beiträge: 43

BeitragVerfasst am: 24.01.2010, 17:49    Titel: Drucken (zum x-ten Mal) Antworten mit Zitat

Drucken (auf Papier oder als PDF) in Windows? Wer weiß, wie das geht und kann konkret einen Weg aufzeigen? Mir geht es darum, reinen Text - also keine Graphik - in relativ primitiver Form (und möglichst unkompliziert) auf das Papier zu bringen. Von Windows API / GUI etc. habe ich weder eine Ahnung, noch habe ich vor, davon eine Ahnung zu haben.

Mein jetziger Kenntnisstand ist folgender:

Code:
Open Lpt "LPT:EMU=TTY" As #1
    Print #1, "Seite 1:Zeile 1";  'der ; verhindert Zeilenumbruch
    Print #1, chr$(10); chr(13); 'Zeilenvorschub (LF) und Wagenrücklauf (CR)
    Print #1, "Seite 1:Zeile 2";
    Print #1, chr$(12);CHR$(13); 'Seitenvorschub (FF) und Wagenrücklauf (CR)
    Print #1, "Seite 2";
Close #1

Damit wurden (fast) alle Möglichkeiten des Druckens in Freebasic aufgezeigt, die ich kenne.
Was mir jetzt fehlt sind weitere „wesentliche“ Grundfunktionen für den Text-Druck, die ich direkt im Programm-Code steuern kann (also ohne das Windows-Fenster „Drucken“, welches auch nicht erscheinen soll)

- Text-Effekte wie Fettdruck / Kursivdruck / Unterstreichen
- Papierformat und Druckränder
- Schriftart und Schriftgröße
- Zeilenabstand (normal, 1,5 fach, usw.)
- Tab-Abstand (in mm)
- und noch ein paar wenige Grundfunktionen, die mir gerade nicht einfallen.

Gibt es jemand, der hierzu die (wahrscheinlich) nötigen Bibliotheken schreiben kann, so dass auch ein DAU wie ich damit zurechtkommt?
Beispielsweise eine Routine mit den Namen: Printer_Papersize (Papierformat, Rand rechts, Rand links, Rand oben, Rand unten)
oder Printer_Font (Schriftart, Schriftgröße)
oder Printer_Font_Effects (Effekt wie z.B. Fettdruck)
usw.


Zuletzt bearbeitet von SL am 24.01.2010, 17:54, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 24.01.2010, 17:51    Titel: Antworten mit Zitat

Wenn du die Win32 API nicht kennenlernen willst, hast du da eben keine Chance. Unter Windows geht das nur mit eben dieser EINEN API (unter FreeBasic) oder einem Framework - wie GTK+ (Kann das Drucken?) oder wxWidgets. Qt kann das auch...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 24.01.2010, 18:43    Titel: Antworten mit Zitat

Warum "keine Chance", csde? Man kann genau so gut sich in PostScript o.ä. einarbeiten. Damit kann man auch druckfähiges Material erzeugen, jaja...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 25.01.2010, 08:41    Titel: Antworten mit Zitat

Ok, ich bin davon ausgegangen, dass er keine temporären Dateien erzeugen möchte...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 02.02.2010, 14:12    Titel: Antworten mit Zitat

schau mal hier:
http://www.freebasic.net/forum/viewtopic.php?p=130041#130041
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 02.02.2010, 19:55    Titel: Antworten mit Zitat

Warum versucht nich einer mal eine html-datei mit freebasic zu erstellen und die übern firefox oder internet-explorer auszudrucken??
Ist doch bestimmt das einfachste lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4702
Wohnort: ~/

BeitragVerfasst am: 02.02.2010, 21:03    Titel: Antworten mit Zitat

Ich glaube nicht, dass es über Postscript komplizierter ist.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
SL



Anmeldungsdatum: 06.12.2009
Beiträge: 43

BeitragVerfasst am: 02.02.2010, 21:42    Titel: Antworten mit Zitat

volta hat Folgendes geschrieben:
schau mal hier:
http://www.freebasic.net/forum/viewtopic.php?p=130041#130041


Danke Volta! Doch das habe ich bereits gesehen. Du wirst darin auch einen Beitrag von mir finden (auf Seite 2, ebenfalls unter „SL“). Ich blicke allerdings mit FBWinPrint nicht durch. Wie stelle ich da beispielsweise den Zeilenabstand auf 1,5-fach ein?

Außerdem habe ich dort: http://www.freebasic.net/forum/viewtopic.php?t=15064 ebenfalls versucht Hilfe zu bekommen. So richtig weiter gekommen bin ich allerdings nicht. Das lag auch daran, dass mein Englisch noch bescheidner als meine Kenntnis über Basic ist.

Im englischen Forum wurde mir auch erklärt, dass das "einfache" Steuern eines Windows-Druckers nicht so einfach sei! Ob das so ist, kann ich nicht beurteilen. Es gibt jedoch Software, die beweist dass das immerhin möglich ist. Ich benütze zum Drucken aus VBDOS die Shareware DOSprn. ( http://www.dosprn.com/ ) Damit "versteht“ ein Windows-Drucker (oder auch ein PDF-Drucker) sämtliche ESC/P-Sequenzen. ( http://en.wikipedia.org/wiki/ESC/P )

Nur für FB ist das keine Lösung. DOS und ESC/P ist Vergangenheit und funktioniert in FB auch nur mit der veralteten Anweisungen LPRINT. Es wäre garantiert kein Schaden, wenn so fundamentalen Druckbefehle wie Randabstände, Zeilenabstände oder Schriftarten so unkompliziert wie die wenigen ASCII-Druckerbefehle in FB möglich wären.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 03.02.2010, 08:18    Titel: Antworten mit Zitat

Das gehört nicht in eine Programmiersprache, sondern eine Druck-API. Oder sollen in FB vielleicht auch noch Befehle zum direkten Ansteuern der Soundkarte, eines Browserfensters oder vielleicht einer Kaffeemaschine implementiert werden? Das ist alles Sache von APIs!
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 03.02.2010, 09:58    Titel: Antworten mit Zitat

@Jojo: Html zu interpretieren und die Seite Druckfertig aufzubereiten ist Chefsache eines Browsers. Da muss man das Rad nicht neu erfinden!

Ich glaub, ich werd da auch mal eine kleine bibliothek schreiben, die es zumindest unter windows erleichtert, formatierte Texte und Grafiken über diesen weg auszudrucken.
Evtl muss man nichtmal über eine temporäre html-datei gehen sondern direkt im dokument des browsers schreiben... hm.. muss ich mal ausprobieren lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 03.02.2010, 14:08    Titel: Antworten mit Zitat

Jojo, ich muss dir absolut recht geben! Wer für wirklich alles eingebauten Support haben will, sollte seine Zeit nicht mit C++ oder FB vergeuden ("This is the reason, why I waste my time with BASIC and not with C++"), sondern mit .Net oder Java arbeiten.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 03.02.2010, 14:13    Titel: Antworten mit Zitat

OneCypher hat Folgendes geschrieben:
@Jojo: Html zu interpretieren und die Seite Druckfertig aufzubereiten ist Chefsache eines Browsers. Da muss man das Rad nicht neu erfinden!

Hab ich doch gesagt, dass das nicht in eine Programmiersprache gehört! Natürlich soll FB nicht HTML parsen Zunge rausstrecken Dafür gibt's ja diverse Bibliotheken.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The_Muh
aka Mark Aroni


Anmeldungsdatum: 11.09.2006
Beiträge: 718

BeitragVerfasst am: 06.02.2010, 01:29    Titel: Antworten mit Zitat

oder man bastelt sich mal eben ne quick'n'dirty-lösung, wenn man keine zeit / lust / motivation hat sich in ne lib / api zu fummeln... bei html geht das teilweise super =P

allerdings... wenn jemand ne einheitliche druck-lib für FB (linux + windows) schreiben könnte wäre das bestimmt ne erleichterung für viele... Postscript-support wär nart. pflicht *g*

hf
und lasst euch nicht ärgern
muh
_________________
// nicht mehr aktiv //
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
SL



Anmeldungsdatum: 06.12.2009
Beiträge: 43

BeitragVerfasst am: 06.02.2010, 20:18    Titel: Antworten mit Zitat

Falls ich nicht der Einzige bin, der nach so was lechzt, meine ich schon dass hier eine grundlegende Lösung für „FB-Print“ sehr sinnvoll wäre. Kein "quick and dirty“.

Nach dem Bildschirm ist der Drucker die wichtigste Ausgabemöglichkeit von Information. Noch vor Soundkarte und Kaffeemaschine. Kaum zu glauben dass über das Drucken in FB noch nicht viel auf dem Markt ist. Insbesondere hierzulande, wo der alte Gutenberg bereits Anno Domini 1452 mehrfarbig drucken konnte. Und wie geht das bitte in FB, gut 550 Jahre später? (Na gut, das war jetzt etwas grob von mir, da weder ich noch mein Drucker hier was zustande bringen.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 06.02.2010, 20:26    Titel: Antworten mit Zitat

Hock dich hin, les dich in die WinAPI ein und nach vielen Stunden/Tagen/Wochen/Monaten/Jahren kannst du ja vielleicht was zur Community beitragen.

Ausgabe von Musik ist viel wichtiger (für Spiele, als Ereignismeldung usw.) als irgendwas zu drucken, was ich persönlich noch nie gebraucht habe.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
croco97



Anmeldungsdatum: 04.11.2005
Beiträge: 260

BeitragVerfasst am: 06.02.2010, 22:00    Titel: Antworten mit Zitat

Ich will nochmal das Thema "Postscript" aufgreifen. M.E. die einfachste Möglichkeit, direkt zu einem formatierten Output kommen, den nicht alle, so doch viele Drucker direkt verstehen können.

In
http://askos.de/tutorial/ps1.htm

findet SL eine Methode, wie man relativ schnell Liniengrafiken via Postscript druckt, ohne vorher viel von Postscript verstanden zu haben. Nach der gleichen Experimentier-Methode lässt sich auch sicher schnell ermitteln, wie man Zeilenabstand, Fettdruck u.ä. realisiert.

VG!

Croco
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz