Autor | Thema: Drucken mit Profan | | Datum:06.06.01 20:10 
(NSp_ware@t-online.de) | |
Hallo Roland,
Bernhard hat im Forumteil "Allgemeine Fragen ..." in Zusammenhang mit dem PrintDlg-Dialog der API u.a. folgendes geschrieben:
>>Ist schade, dass diese Funktion nicht standardmässig in Profan integriert ist.
Vielleicht klappts ja mit der Profan 7.5 Ver-
sion, die schon des öfteren angesprochen wurde.
Vielleicht gibts ja auch eine andere Möglich-
keit? Wäre schön, wenn sich Roland dazu äussern
könnte.<<
Ich möchte mich dem anschließen, wobei der Dialog nun nicht unbedingt in Profan integriert sein muß. Es wäre meines Erachtens bereits eine große Erleichterung, wenn der Druckerkontex, der von dem Dialog geliefert wird, benutzt werden kann, um Grafikfunktionen (Text, Malen, Bitmaps) darauf abzubilden. Also z.B.
STARTPRINT (Druckerkontex)
DRAWTEXT ....
RECTANGLE ...
LOADSIZEBMP ...
ENDPRINT
Damit sollen dann auch Netzwerkdrucker und z.B. Querformat möglich werden.
In der Profan-Referenz steht, daß die Druckseite horizontal eine Weite von 640 Punkten und senkrecht eine Höhe von 960 Punkten hat. Dieses grobe Raster ist evtl. auch nicht mehr ganz zeitgemäß.
MfG
Norbert
|
| | Datum:08.06.01 10:14 
(andreas@andreas-miethe.de) | |
Hallo Norbert,
'-------------------
Ich möchte mich dem anschließen, wobei der Dialog nun nicht unbedingt in Profan integriert sein muß. Es wäre meines Erachtens bereits eine große Erleichterung, wenn der Druckerkontex, der von dem Dialog geliefert wird, benutzt werden kann, um Grafikfunktionen (Text, Malen, Bitmaps) darauf abzubilden. Also z.B.
STARTPRINT (Druckerkontex)
DRAWTEXT ....
RECTANGLE ...
LOADSIZEBMP ...
ENDPRINT
'--------------------
Genau das geht schon !
|
| | | Datum:17.06.01 18:29 
(andreas@andreas-miethe.de) | |
Hallo zusammen,
ich habe einen kleinen Quellcode auf meine Seite hochgeladen, der zeigt wie der Drucken-Dialog in Profan² genutzt werden kann ( einschliesslich Drucken ueber API ).
Vielleicht hilft das ja erstmal weiter !
Zu finden unter :
http://www.andreas-miethe.de
bei den Profan² Quellcodes (apiprinter.zip)
Gruss
Andreas
|
| | Datum:18.06.01 09:01 
(bernhard.ammon@mobi.ch) | |
Hallo Andreas
Der Druckerwechsel (mit allen Einstellungen die
das Herz begehrt), sieht sehr vielversprechend
aus. Habe den Code nur einmal gestartet. Ist es
mit diesem Code möglich eine Erweiterung um
Startprint, Drawtext, Endprint (ohne grössere
Arbeit) vorzunehmen, der einen Ausdruck auf
A4-Quer ermöglicht? Wenn ja, wäre das ja der
totale Durchbruch, was das Drucken in Profan
anbelangt. Vom Ausdruck über API habe ich auf
den ersten Blick im Code nichts gefunden.
Herzlichen Dank und Gruss
Bernhard
man
|
| | Datum:18.06.01 18:40 
(andreas@andreas-miethe.de) | |
Hallo Bernhard,
eigentlich waren das alles Api-Funktionen im Quelltext.
Startprint - Endprint funktioniert mit diesem Quellcode nicht.
Geht aber. Du musst nur den Standard-Drucker wechseln,da Profan immer mit dem druckt.
Und mit DocumentProperties(..) die aktuelle Einstellung des Druckers sichern bzw. die
Einstellungen die Du im Einrichtungs-Dialog vorgenommen hast schreiben.
Jetzt kannst Du mit Profan² wie gewohnt drucken.
Ein Beispiel auf meiner Seite.
http://andreas-miethe.de
unter Quellcodes
pprinter.zip
Gruss
Andreas
|
| | Datum:19.06.01 08:25 
(bernhard.ammon@mobi.ch) | |
Hallo Andreas
Vielen Dank für Deine prompten Code-Lieferungen.
Habe den Code erst einmal auf einer NT 4.0-Ma-
schine (ohne das Laden des BMP-Bildes) ge-
startet. Ergebnis ist ein blauer Bildschirm mit
HEX-Dump. Werde es jetzt einmal auf einer norma-
len Win 95-Maschine testen.
Gruss Bernhard
|
| | Datum:19.06.01 16:45 
(b.kuenzel@chello.at) | |
Hallo Bernhard,
du mußt nach der Zeile
PN$ = String$(Devmode#,0)
die Zeile <<MP&=PrintDlg#.hDc&>> einfügen, denn die wurde vergessen, dann funktioniert es auf win95.
Mich würde interessieren ob es auch mit NT4 funktioniert.
MFG
Bernhard
|
| | Datum:19.06.01 17:13 
(bernhard.ammon@mobi.ch) | |
Hallo Bernhard
Geht leider unter NT 4.0 (SP 6) immer noch
nicht. Zudem bin ich immer noch der Meinung,
dass eine integrierte Lösung ins Profan, wesent-
lich besser und auch vernünftiger wäre.
Hast Du meinen geposteten Code gesehen? Dieser
muss zwar in 2 Schritten angewendet werden, da-
für funktioniert er auch mit Start- und Endprint.
Gruss Bernhard
|
| | Datum:27.06.01 11:16 
(andreas@andreas-miethe.de) | |
Hallo Bernhard,
ich habe jetzt einiges im Quellcode probiert, alles ohne Erfolg.
Bis ich das Original einfach mal kompilert habe.
Danach hat's geklappt. Zumindest unter Win2000.
Ob da etwas mit dem Interpreter nicht stimmt ?
Gruss
Andreas
|
| | Datum:27.06.01 12:56 
(bernhard.ammon@mobi.ch) | |
Hallo Andreas
Nach der Kompilierung des Codes knallts nicht
mehr! Soweit so gut, aber leider wird z.B. die
Umstellung auf A4-Quer beim Ausdruck nicht be-
rücksichtigt. Vielleicht könnte Roland ja den
Code aus dem Profan-Editor in den Profan-Compiler
integrieren :-)
Gruss Bernhard
|
| | Datum:30.06.01 11:34 
(andreas@andreas-miethe.de) | |
Hallo Bernhard,
Win2000 bzw. NT ist nicht zu bewegen den Printer abzudaten.
Bei meinem Druckertreiber kommt die Meldung 'nur über Systemsteuerung einrichten'.
Darum habe ich mein Beispiel für den Druck mit API
erweitert, das sollte für den Übergang erstmal genügen.
Zu finden unter den Quellcodes - apiprint.zip
Meine Homepage
Gruss
Andreas
|
| | | Datum:02.07.01 13:33 
(bernhard.ammon@mobi.ch) | |
Hallo Andreas
Da kommt wahrhaftig Freude auf! Jetzt wäre es
natürlich erste Sahne, wenn Roland das irgend-
wie ins Profan implementieren könnte, damit ich
nicht alle meine Programme umschreiben sondern
nur ergänzen muss. Werde es aber mit Deinem
Code versuchen und es könnte sein, dass es gar
nicht so schwierig wird, wie es vielleicht
momentan noch den Anschein macht. Probieren geht
ja bekanntlich über studieren.
Auf jeden Fall möchte ich Dir hiermit meinen
grossen Dank aussprechen, da ich weiss, wieviele
Stunden man am Computer verbraten kann, bis man
eine funktionale Lösung gefunden hat.
Gruss Bernhard
|
| | Datum:05.07.01 12:53 
(bernhard.ammon@mobi.ch) | |
Hallo Andreas
Könntest Du mir noch die Definition für einen
Fontwechsel z.B. auf Arial mitteilen. Damit
sollte ich dann alles zusammenhaben um ein
erstes modifiziertes Programm testen zu können.
Danke und Gruss
Bernhard
|
| | Datum:05.07.01 16:17 
(andreas@andreas-miethe.de) | |
Hallo Bernhard,
ich bin mir jetzt nicht ganz sicher was Du meinst.
Den Font per Hand wechseln oder ueber den Windows-Dialog ?
Von Hand :
Font& = @CREATE("FONT","Arial",500,0,0,0,0)
FontObject& = SelectObject(PrinterDC&,Font&)
Ueber den Dialog ist es etwas aufwendiger.
Du findest ein Beispiel in der comdlg32.zip,
die Du auf meiner Seite unter den Quellcodes finden kannst.
Gruss
Andreas
|
| | Datum: 05.07.01 17:18 
(bernhard.ammon@mobi.ch) | |
Hallo Andreas
Genau diese zwei Code-Zeilen hatten mir gefehlt.
Hab sie eingebaut und es funktionierte auf
Anhieb.
Herzlichen Dank und Gruss
Bernhard
|
| | Datum:09.06.01 20:41 
(b.kuenzel@chello.at) | |
Ich möchte mich dem anschließen,
es würde schon die Übergabe bei StartPrint mit einem Druckerkontex ausreichen, das würde aber schon in der Version 7.5 dringend notwendig sein.
Alles andere zum Drucken ist mit Profan möglich und sogar mit wenig Aufwand.Jeder Punkt auf der Druckseite ist Zentelmillimetergenau anzusteuern, es ist sogar die Ausgabe in Querformat mit dem Profanbefehl Orientation 270 machbar.
........... Funktionen zum Umwandeln
Def IsDruckerEin(0) Equ(%HDC,%HDC2)
'Ergebnis= 1 Drucker eingeschaltet
' 0 Drucker ausgeschaltet
'bei Profanbefehlen
Def zmmToPixel(1) Round(Mul(%(1), 0.344),0) 'Zentelmillimeter in Pixel umwandeln
Def PixelTozmm(1) Round(Div(%(1), 0.344),0) 'Pixel in Zentelmillimeter umwandeln
'bei API-Funktionen
Def zmmToPixelEx(1) Round(Mul(%(1), 3.44),0) 'Zentelmillimeter in Pixel umwandeln
............
Die angeschlossenen Drucker bekomme ich über den Druckerdialog, mit den erhaltenen Parameter (Druckername,Druckertreiber,Druckerport)erhalte ich jetzt schon mit der API-Funktion CreateIC(...) für alle Drucker sämtliche Druckerdaten.
Das Hauptproblem liegt daran, daß ich jetzt den ausgewählten Drucker zum Standartdrucker machen muß, da der Profanbefehl STARTPRINT nur auf den Standartdrucker zugreift, und nicht alle Winversionen in der Registry den gleichen Pfad zum Standartdrucker Device haben.
Mit der Erweiterung des Profanbefehles STARTPRINT mit Übergabe des Druckerkontex den ich beim Druckerdialog erhalte, würde das Problem behoben werden.
Da wirklich in Profan alle möglichkeiten vorhanden sind für einen optimalen Seitendruck ob in Grafik oder Text würde ich Herrn Hülsmann eingehenst Bitten diese Möglichkeit in der Version 7.5 zu ermöglichen.
MFG
Bernhard
|
| | Datum:12.06.01 22:07 
(NSp_ware@t-online.de) | |
Hallo,
schön, daß ich nicht als einzigster Rufer im Walde stehe.
Aber noch eine Bemerkung zu dem Beitrag von Bernhard. Hier ein Zitat. >>Alles andere zum Drucken ist mit Profan möglich und sogar mit wenig Aufwand.Jeder Punkt auf der Druckseite ist Zentelmillimetergenau anzusteuern, es ist sogar die Ausgabe in Querformat mit dem Profanbefehl Orientation 270 machbar.<<
Wenn über den PrintDlg-Dialog der Kontex geliefert wird, dann sind darin schon alle Einstellungsinformationen enthalten. D.h. zum Beispiel für die Textausgabe mit der API-Fkt. TextOut, daß der Text im Drucker von allein um 90° gedreht wird, wenn zuvor Querformat gewählt wurde. DrawText ist letzlich auch nichts anderes als TextOut. Der Befehl Orientation soll und braucht nicht in Anpruch genommen werden. Im Kontex sind ja auch u.a. Papiergröße, Papierschacht und Druckdichte eingestellt. Dafür hat Profan meines Wissens bisher keine Umsetzung. Darum müssen die Kontexinfos unmittelbar umgesetzt werden können. Mit Orientation läßt sich auch keine geräteunabhängige Bitmap ins Querformat zaubern. Wenn der Profandruck über diesen gelieferten Kontex läuft, sind natürlich auch leicht evtl. fehlende Profan-Funktionen durch API-Aufrufe zu ergänzen.
Ich finde RGH sollte, falls er sich der Druckproblematik annimmt, es nicht bei einer von Bernhard vorgeschlagenen "provisorischen" Lösung belassen.
Gruß
Norbert
|
| | Datum:14.06.01 00:47 
(b.kuenzel@chello.at) | |
Hallo Norbert,
ich glaube für die Version 7.5 ist, wenn überhaupt, sicher nur mehr eine provisorische Lösung für Herrn Hüllsmann möglich, und das hatte ich gemeint. Es würde sicher vielen geholfen sein wenn bei STARTPRINT ein Drucker angegeben werden kann.
Bei der Version 8.0 würde ich mir dann eine optimale Druckmöglichkeit natürlich wünschen.
Zur Grafik in Querformat drucken:
Jede Grafik kann mit der Power.DLL von 0-360° gedreht werden.
MFG
Bernhard
|
|
|