Druckerschächte setzen mit API

Von Ausgaben mit der Gra-Engine über Generatoren bis zum Export in diversen Formaten

Moderator: Moderatoren

Antworten
jules
Rookie
Rookie
Beiträge: 8
Registriert: Mo, 27. Feb 2006 13:21

Druckerschächte setzen mit API

Beitrag von jules »

Guten Tag

Ich habe hier ein paar gute Beiträge gesehen und hoffe ihr wisst auch hierzu eine Antwort.

Ich möchte gerne mit einer API-Funktion die Druckerschächte abfragen.
Da ich mit R&R Report keine Druckerschächte mit einer Nummer grösser als 256 ansteuern kann, möchte ich versuchen falls ein Schacht grösser ist als 256 diesen mit einer API-Funktion anzusteuern.

Vielen Dank

Gruss Jules
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Jules,

lass doch dir von R&R das Druckerauswahlfenster anzeigen, wo du die Einstellungen ganz normal setzen kannst.
Gruß,

Andreas
VIP der XUG Osnabrück
Benutzeravatar
andreas
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1902
Registriert: Mi, 28. Sep 2005 10:53
Wohnort: Osnabrück
Hat sich bedankt: 4 Mal
Kontaktdaten:

Beitrag von andreas »

Hallo Jules,

in der Hilfedatei (RRW.hlp) von R&R ist dessen API beschrieben. Da kannst du alles setzen, wenn ich es richtig gesehen habe.
Gruß,

Andreas
VIP der XUG Osnabrück
jules
Rookie
Rookie
Beiträge: 8
Registriert: Mo, 27. Feb 2006 13:21

Beitrag von jules »

Hallo Andreas
lass doch dir von R&R das Druckerauswahlfenster anzeigen, wo du die Einstellungen ganz normal setzen kannst.
Vielen dank für deine Hilfe, aus diesem Druckerauswahlfenster ist es möglich einen Druckerschacht grösser 255 anzusteuern jedoch kann er dann diesen nicht speichern :cry:
darum möchte ich eben mit der Windows API denn Schacht abfragen und speichern und diesen dann wieder dem R&R übergeben damit beim nächsten mal wieder der zuletzt verwendete Druckerschacht genommen wird.
Falls ich jetzt auf einen Schacht drucke der grösser ist als 255 dann nimmts beim nächsten mal einfach Schacht 1, statt den vorher gewählten.
Benutzeravatar
Lewi
1000 working lines a day
1000 working lines a day
Beiträge: 830
Registriert: Di, 07. Feb 2006 14:10
Wohnort: Hamburg
Danksagung erhalten: 2 Mal

Beitrag von Lewi »

Hallo Jules,
ich habe das Problem wie folgt gelöst:

Es wird ein 2.tes Mal der entsprechende Drucker unter einem anderem Namen installiert. Bei dem zweitem indentischen Drucker setzt du über die Druckereingenschaften einen anderen Standardausgabeschacht.

Durch entsprechende Druckernamensbezeichnungen kannst bei der Auswahl des Druckers den Anwender entscheiden lassen, auf welchem Papier die Ausgabe gedruckt werden soll.

Beispiel:

- LaserJet (Blanko-Papier)
- LaserJet (Firmenbogen)

Falls deine Anwendung die Möglichkeit zuläßt, dass Formulare bestimmten Druckern zugeordnert werden können, könnstest Du so programmseitig die Ausgabe unter Einbeziehung der Druckschächte automatisieren ohne das vom Anwender die Druckausgabe über den Drucker-Eigenschaftsdialog gesteuert werden muß.


Gruß,
Olaf
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

mit der XbpPrinter:paperBins() Methode kannst du die verfügbaren Schächte als Array mit Name und ID abfragen. Ich kann mir nicht vorstellen, dass die ID hier von der in R&R abweicht.

Wenn bei R&R beim Speichern was verloren geht, sollte man das denen melden.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Beitrag von AUGE_OHR »

hi
brandelh hat geschrieben: mit der XbpPrinter:paperBins() Methode kannst du die verfügbaren Schächte als Array mit Name und ID abfragen. Ich kann mir nicht vorstellen, dass die ID hier von der in R&R abweicht.
... aber die Xbase++ Konstanten gehen nur bis 15 ...
siehe C:\ALASKA\XPPW32\INCLUDE\xbpdev.ch

gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi Jimmy,

die Konstanten meinte ich aber nicht.
Ich hatte schon Rückgabewerte über 200 im Array, ob es nun aber unter oder über 256 war, weiß ich nicht mehr.
Gruß
Hubert
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Beitrag von AUGE_OHR »

hi,
brandelh hat geschrieben: die Konstanten meinte ich aber nicht.
Ich hatte schon Rückgabewerte über 200 im Array, ob es nun aber unter oder über 256 war, weiß ich nicht mehr.
das hab ich noch nicht gewusst. ich hab bisher immer nur die Konstanten
benutzt und bin auch davon augegangen da Xbase++ nur die zurück
geben kann ... da muss ich wohl mein ASCAN(aPrinter,nSelect) > 0
erweitern um die > 15 abzufangen :)

danke, gruss by OHR
Jimmy
Antworten