UserLib JHPrinter_xxx für PB 540
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
UserLib JHPrinter_xxx für PB 540
//Edit 16.10.2015
Aktuelle Version: V1.29 vom 16.10.2015 hier (PB 5.40): meine Lib Seite
Hallo,
eine weitere UserLib für PB, JHPrinter_400.
Sind wieder ein paar Sachen die ich für ein Projekt benötige:
- Drucker Blatt- und Druckgröße in Pixel und mm
- Druckerauflösung
Ich hoffe es funktioniert alles so wie es soll. Tests haben nichts
gegenteiliges ergeben. Die Lib habe ich auch unter 4.01 und 4.02
laufen lassen.
Im Paket ist die Library, eine Hilfe (de/und mein schlechtes en) sowie
ein Beispiel-Code enthalten.
Wer die aktuellste Version oder eine der letzten Versionen von JHReg
hat, die Installation läuft gleich ab wie dort. Das Example wird auch in den
gleichen Ordner kopiert. Installationsordner der Lib ist der der zuletzt
aktiven PB-Version. Man kann auch überall anders hin installieren, aber
nur per Auswahländerung.
Bei Problemen bitte ich um Information, am besten auf meiner HP im
Forum, wer mag, sonst halt hier.
Gruß Jens
Edit: 05.10.2013 Themenname geändert
Aktuelle Version: V1.29 vom 16.10.2015 hier (PB 5.40): meine Lib Seite
Hallo,
eine weitere UserLib für PB, JHPrinter_400.
Sind wieder ein paar Sachen die ich für ein Projekt benötige:
- Drucker Blatt- und Druckgröße in Pixel und mm
- Druckerauflösung
Ich hoffe es funktioniert alles so wie es soll. Tests haben nichts
gegenteiliges ergeben. Die Lib habe ich auch unter 4.01 und 4.02
laufen lassen.
Im Paket ist die Library, eine Hilfe (de/und mein schlechtes en) sowie
ein Beispiel-Code enthalten.
Wer die aktuellste Version oder eine der letzten Versionen von JHReg
hat, die Installation läuft gleich ab wie dort. Das Example wird auch in den
gleichen Ordner kopiert. Installationsordner der Lib ist der der zuletzt
aktiven PB-Version. Man kann auch überall anders hin installieren, aber
nur per Auswahländerung.
Bei Problemen bitte ich um Information, am besten auf meiner HP im
Forum, wer mag, sonst halt hier.
Gruß Jens
Edit: 05.10.2013 Themenname geändert
Zuletzt geändert von sharkpeter am 17.10.2015 08:14, insgesamt 7-mal geändert.
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64
Nichts wissen macht nichts, sich dumm stellen aber schon.
Nichts wissen macht nichts, sich dumm stellen aber schon.
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
neue Version mit neuen Befehlen zur Formatierung von Texten und deren
Anpassung an die Druckumgebung. Zusätzlich eingebaut habe ich auch
einen Befehl mit dem man Texte für Gadget in Blocksatz darstellen kann.
Außerdem ist jetzt auch das Anwendungsbeispiel fertiggestellt.
//Edit: 16.02.2007
Hilfe noch um die neuen Befehle ergänzt.
Hier mal ein Beispiel (Lib muß installiert sein )
Gruß Jens
Anpassung an die Druckumgebung. Zusätzlich eingebaut habe ich auch
einen Befehl mit dem man Texte für Gadget in Blocksatz darstellen kann.
Außerdem ist jetzt auch das Anwendungsbeispiel fertiggestellt.
//Edit: 16.02.2007
Hilfe noch um die neuen Befehle ergänzt.
Hier mal ein Beispiel (Lib muß installiert sein )
Code: Alles auswählen
tx1.s="Eine Fließtextausgabe in ein Textgadget"
; Der Text
TxtWid.l=510; Die Breite des späteren Gadget vermindert um 4 Pixel
tx.s="Im folgenden werden Sie aufgefordert, den Drucker auszuwählen. "
tx +"Ein Abbruch führt zur Beendigung des Programms. Verschiedene "
tx +"Einstellungen sind abhängig vom verwendeten Drucker und dessen "
tx +"Einstellungen. Auf diese nimmt das Programm Bezug. Ändern Sie "
tx +"die Einstellungen für den Drucker separat, diese können von "
tx +"hier nicht beeinflußt werden. "
; den gesamten Fließtext anpassen in Blocksatz
; setzt den Font für das Gadget, sollte man machen ;)
FontHe.l=JHPrtSetGadgetFont("ARIAL",10,0,#PB_Font_Bold)
tx2.s=JHPrtGadgetBlockText(tx, TxtWid, 1, "ARIAL", FontHe, #PB_Font_Bold)
tx+Chr(13)+Chr(13)
tx+"Und nun das Ganze im Blocksatz wiederholen."
tx+Chr(13)+Chr(13)
tx+tx2
tx=tx1+Chr(13)+Chr(13)+tx
; Informationsfenster öffnen
win.l=OpenWindow(#PB_Any, 0, 0,520,290,"Testprogramm JHPrinter_400 UserLibrary",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If win
If CreateGadgetList(WindowID(win))
TextGadget (#PB_Any, 5, 0,514,280,tx)
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit=#True
EndSelect
Until Quit
EndIf
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64
Nichts wissen macht nichts, sich dumm stellen aber schon.
Nichts wissen macht nichts, sich dumm stellen aber schon.
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
Habe die Lib(s) bzgl. Blocksatz ausprobiert. Funktioniert bestens. Gute Arbeit. Für das angegebene Beispiel braucht man aber alle drei Libs von Deiner HP, also Gadget-, Printer-, Registry-Lib, sonst kennt der Compiler immer irgendwelche Funktionen nicht. Das steht nirgends oder ich hab es übersehen.
Ich hab mal etwas umsortiert, um Fließ- und Blocksatz stärker zu trennen. Dabei ist mir eine Kleinigkeit aufgefallen. An einer Stelle wird zu früh umgebrochen.
Ich hab mal etwas umsortiert, um Fließ- und Blocksatz stärker zu trennen. Dabei ist mir eine Kleinigkeit aufgefallen. An einer Stelle wird zu früh umgebrochen.
Code: Alles auswählen
tx.s= ""
tx +"Fließtextausgabe in ein Textgadget: "
tx + Chr(13) + Chr(10)
tx + Chr(13) + Chr(10)
tx +"Im folgenden werden Sie aufgefordert, den Drucker auszuwählen. "
tx +"Ein Abbruch führt zur Beendigung des Programms. Verschiedene "
tx +"Einstellungen sind abhängig vom verwendeten Drucker und dessen "
tx +"Einstellungen. Auf diese nimmt das Programm Bezug. Ändern Sie "
tx +"die Einstellungen für den Drucker separat, diese können von "
tx +"hier nicht beeinflußt werden."
tx2.s = ""
tx2 +"Und nun das Ganze im Blocksatz wiederholen: "
tx2 + Chr(13) + Chr(10)
tx2 + Chr(13) + Chr(10)
tx2 +"Im folgenden werden Sie aufgefordert, den Drucker auszuwählen. "
tx2 +"Ein Abbruch führt zur Beendigung des Programms. Verschiedene "
tx2 +"Einstellungen sind abhängig vom verwendeten Drucker und dessen "
tx2 +"Einstellungen. Auf diese nimmt das Programm Bezug. Ändern Sie "
tx2 +"die Einstellungen für den Drucker separat, diese können von "
tx2 +"hier nicht beeinflußt werden."
FontName.s = "Verdana"
FontStyles = #PB_Font_Bold|#PB_Font_Underline | #PB_Font_Italic
FontHe.l = JHPrtSetGadgetFont(FontName,9,0,FontStyles)
TxtWid.l = 410 ; Die Breite des späteren Gadget. Für Blocktext vermindert um 4 Pixel
tx2 = JHPrtGadgetBlockText(tx2, TxtWid-4, 1, FontName, FontHe, FontStyles)
; Informationsfenster öffnen
win.l=OpenWindow(#PB_Any, 0, 0, 600, 500, "Testprogramm JHPrinter_400 UserLibrary",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If win
If CreateGadgetList(WindowID(win))
TextGadget(#PB_Any, 5, 0 , 514, 100, tx)
TextGadget(#PB_Any, 5, 120, TxtWid, 300, tx2)
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit=#True
EndSelect
Until Quit
EndIf
Jetzt habe ich das Konzept verstanden. Innerhalb des Blocksatzes darf es keinen Umbruch geben. Andernfalls verrechnet sich die Funktion. Wenn man also allein den Text mit Blocksatz kapselt, dann geht alles gut. Die Überschrift mit zwei Zeilenumbrüchen muss man davon abtrennen und nachträglich zufügen. JHPrtGadgetBlockText darf also keine Umbrüche verarbeiten. Vielleicht läßt sich da ja noch ein Trick finden, um das DAU-sicher zu machen.
Hier die entsprechend modifizierte Version.
Hier die entsprechend modifizierte Version.
Code: Alles auswählen
tx.s= ""
tx +"Fließtextausgabe in ein Textgadget: "
tx + Chr(13) + Chr(10)
tx + Chr(13) + Chr(10)
tx +"Im folgenden werden Sie aufgefordert, den Drucker auszuwählen. "
tx +"Ein Abbruch führt zur Beendigung des Programms. Verschiedene "
tx +"Einstellungen sind abhängig vom verwendeten Drucker und dessen "
tx +"Einstellungen. Auf diese nimmt das Programm Bezug. Ändern Sie "
tx +"die Einstellungen für den Drucker separat, diese können von "
tx +"hier nicht beeinflußt werden."
tx2_title.s = "Und nun das Ganze im Blocksatz wiederholen: "
tx2_title + Chr(13) + Chr(10)
tx2_title + Chr(13) + Chr(10)
tx2.s = ""
tx2 +"Im folgenden werden Sie aufgefordert, den Drucker auszuwählen. "
tx2 +"Ein Abbruch führt zur Beendigung des Programms. Verschiedene "
tx2 +"Einstellungen sind abhängig vom verwendeten Drucker und dessen "
tx2 +"Einstellungen. "
tx2 +"Auf diese nimmt das Programm Bezug. Ändern Sie "
tx2 +"die Einstellungen für den Drucker separat, diese können von "
tx2 +"hier nicht beeinflußt werden."
FontName.s = "Verdana"
FontStyles = #PB_Font_Bold|#PB_Font_Underline | #PB_Font_Italic
FontHe.l = JHPrtSetGadgetFont(FontName,9,0,FontStyles)
TxtWid.l = 410 ; Die Breite des späteren Gadget. Für Blocktext vermindert um 4 Pixel
tx2 = JHPrtGadgetBlockText(tx2, TxtWid-4, 1, FontName, FontHe, FontStyles)
tx2 = tx2_title + tx2 ; Überschrift voranstellen
; Informationsfenster öffnen
win.l=OpenWindow(#PB_Any, 0, 0, 600, 500, "Testprogramm JHPrinter_400 UserLibrary",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If win
If CreateGadgetList(WindowID(win))
TextGadget(#PB_Any, 5, 0 , 514, 100, tx)
TextGadget(#PB_Any, 5, 120, TxtWid, 300, tx2)
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Quit=#True
EndSelect
Until Quit
EndIf
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
@teachco,
sorry für die fast einen Monat lange Wartezeit auf Antwort, ich war im
Urlaub.
Danke für den Hinweis. Ich habe die Libs neu hochgeladen. Durch einen
Fehler meinerseits erfolgten einige Zugriffe Library übergreifend, was
mir nicht aufgefallen ist, da ich ja alle drei logischer Weise geladen habe.
Das Problem sollte sich in Wohlgefallen aufgelöst haben.
Wegen dem Zeilenumbruch innerhalb des Übergabestrings, da bin ich
schon am fummeln, im Moment habe ich nur nicht wirklich Zeit mich
damit eingehender zu befassen.
Gruß Jens
sorry für die fast einen Monat lange Wartezeit auf Antwort, ich war im
Urlaub.
Danke für den Hinweis. Ich habe die Libs neu hochgeladen. Durch einen
Fehler meinerseits erfolgten einige Zugriffe Library übergreifend, was
mir nicht aufgefallen ist, da ich ja alle drei logischer Weise geladen habe.
Das Problem sollte sich in Wohlgefallen aufgelöst haben.
Wegen dem Zeilenumbruch innerhalb des Übergabestrings, da bin ich
schon am fummeln, im Moment habe ich nur nicht wirklich Zeit mich
damit eingehender zu befassen.
Gruß Jens
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64
Nichts wissen macht nichts, sich dumm stellen aber schon.
Nichts wissen macht nichts, sich dumm stellen aber schon.
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
@All,
die Lib ist 4.20 tauglich (Achtung, nicht rückwärtskompatibel)
Gruß Jens
die Lib ist 4.20 tauglich (Achtung, nicht rückwärtskompatibel)
Gruß Jens
Zuletzt geändert von sharkpeter am 05.10.2013 14:22, insgesamt 2-mal geändert.
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64
Nichts wissen macht nichts, sich dumm stellen aber schon.
Nichts wissen macht nichts, sich dumm stellen aber schon.
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
@All,
die Lib ist 4.30 tauglich (Achtung, nicht rückwärtskompatibel)
Gruß Jens
die Lib ist 4.30 tauglich (Achtung, nicht rückwärtskompatibel)
Gruß Jens
Zuletzt geändert von sharkpeter am 05.10.2013 14:23, insgesamt 2-mal geändert.
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64
Nichts wissen macht nichts, sich dumm stellen aber schon.
Nichts wissen macht nichts, sich dumm stellen aber schon.
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
@All,
die Lib ist 4.40 (Beta) tauglich (Achtung, nicht rückwärtskompatibel)
Gruß Jens
die Lib ist 4.40 (Beta) tauglich (Achtung, nicht rückwärtskompatibel)
Gruß Jens
Zuletzt geändert von sharkpeter am 05.10.2013 14:23, insgesamt 1-mal geändert.
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64
Nichts wissen macht nichts, sich dumm stellen aber schon.
Nichts wissen macht nichts, sich dumm stellen aber schon.
- sharkpeter
- Beiträge: 474
- Registriert: 29.08.2004 16:18
- Wohnort: Dresden
- Kontaktdaten:
Re: UserLib JHPrinter_4xx für PB 4.xx
@All,
die Lib ist nun auch Unicode und Threadsafe für 4.5x und steht zum Download bereit.
Gruß Jens
die Lib ist nun auch Unicode und Threadsafe für 4.5x und steht zum Download bereit.
Gruß Jens
Zuletzt geändert von sharkpeter am 05.10.2013 14:23, insgesamt 1-mal geändert.
PB3.94 bis 6.xx / (Win98/98SE/ME/XPProSP3/WINVista-X32)/WIN7HP-X64/WIN8PRO-X32/WIN10-64
Nichts wissen macht nichts, sich dumm stellen aber schon.
Nichts wissen macht nichts, sich dumm stellen aber schon.