Topdown-Lib Ressource drucken?

Moderator: Moderatoren

Antworten
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 01. Okt 2007 17:14
Wohnort: Bedburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Topdown-Lib Ressource drucken?

Beitrag von Christof »

Hallo Leute,

ich habe mit dem Drucksystem der Topdown-Lib einen Ausdruck realisiert. Funktioniert auch.

Mit dem Befehl:
prImage(nRow,nCol,cPathname,nRowHt,nColWd,[nColWdPt],;
[nXadj],[nYadj],[aSourceRect],[nRasterOp],[nCompress])
kann man ein Bild drucken, das als Datei vorliegt.

Ich möchte nun im Seitenkopf ein Logo unterbringen, dieses aber nicht als Grafikdatei im Verzeichnis ablegen, sondern als Ressource in die EXE-Datei einbinden, so dass ich mit der entsprechenden Ziffer darauf zugreifen kann.

Gibt's einen Weg dies zwischen 'StartDoc()' und 'EndDoc()' zu drucken?

Danke für jede Hilfe.

Gruß
Christof
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

Re: Topdown-Lib Ressource drucken?

Beitrag von AUGE_OHR »

hi,
Christof hat geschrieben: ich habe mit dem Drucksystem der Topdown-Lib einen Ausdruck realisiert. Funktioniert auch.
Ich habe nur die älter Version, welche hast du ?
Christof hat geschrieben: Mit dem Befehl:
prImage(nRow,nCol,cPathname,nRowHt,nColWd,[nColWdPt],;
[nXadj],[nYadj],[aSourceRect],[nRasterOp],[nCompress])
kann man ein Bild drucken, das als Datei vorliegt.
Du meinst die METHOD tdcPrn2:prImage()
in C:\TOPDOWN\appfram\tdcPrn2.prg
Christof hat geschrieben: Ich möchte nun im Seitenkopf ein Logo unterbringen, dieses aber nicht als Grafikdatei im Verzeichnis ablegen, sondern als Ressource in die EXE-Datei einbinden, so dass ich mit der entsprechenden Ziffer darauf zugreifen kann.
dafür wäre die METHOD :Load zuständig. In meiner älteren Version von
TopDown werden aber die BMP, GIF, JPG und PNG über :LoadFile geladen,
welches als 3st. Parameter ( cPathname ) das File enthält.

Du müsstes also den Source von C:\TOPDOWN\appfram\tdcPrn2.prg modifizieren (Backup !) damit er die als Resource lädt.
Christof hat geschrieben: Gibt's einen Weg dies zwischen 'StartDoc()' und 'EndDoc()' zu drucken?
klar, dazu musst du dir C:\TOPDOWN\appfram\tdcPrv2.prg ansehen.
Das ist das Printdemo No.2 als Formular sehen kannst. Von dort wird
ja auch die :prImage() METHOD aufgerufen :)

gruss by OHR
Jimmy
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 01. Okt 2007 17:14
Wohnort: Bedburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Beitrag von Christof »

Hallo Jimmy,

ich habe die Version 5.2 vom Jannuar 2006.

Hört sich ja gar nicht so schwer an, was Du da schreibst. Werde ich mal ausprobieren. Melde mich dann.

Erstmal DANKE.

Gruß
Christof
Benutzeravatar
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1930
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Rolf Ramacher »

Hallo Christoph,

druckt du direktauf einen Standarddrucker oder kann der Drucker ausgewählt werden. ?

Dieses Thema hatte ich auch schon einmal vor ein paar Jahren. Wir hatten dann folgende Lösung.

Es gibt ein Programm namens FinePrint. Dieser installiert sich als Drucker-treiber. Hier kannst du dann auch Grafiken als Logo mit einbinden und noch dirverse andere Dinge.

Von da aus kannst du auf jeden anderen Drucker drucken.
Vielleicht wäre das ja etwas. Dann brauchst du nichts zu programmieren.
Gruß Rolf

Mitglied der Gruppe XUG-Cologne
www.xug-cologne.de
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 01. Okt 2007 17:14
Wohnort: Bedburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Beitrag von Christof »

Hallo Rolf,

hört sich auch interessant an. Ich glaube aber nicht, dass unsere Kunden gewillt sind so ohne weiteres einen neuen Druckertreiber zu installieren. Idee werde ich aber mal im Hinterkopf behalten.

Danke und Gruß
Christof
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 265
Registriert: Mo, 01. Okt 2007 17:14
Wohnort: Bedburg
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Beitrag von Christof »

Hallo Jimmy,

Dein Hinweis war klasse. Ich habe in der 'tdcPrn3.prg' (ist wohl die neuere Version) einfach noch folgendes eingefügt:

...
******* what kind of file?
IF valtype(cPathname)="N"
::oImg := xbpBitmap():new():create(::oPS)

lRetval := ::oImg:load(,cPathname)
IF lRetval

******* draw the image
::oImg:draw(::oPS,{aLL[1],aLL[2],aUR[1],aUR[2]},;
aSourceRect,nRasterOp,nCompress)
::oImg:destroy()
::oImg := nil
ENDIF
ELSE
IF upper(right(cPathname,3)) $ 'BMP GIF JPG PNG'
...

Jetzt kann ich als 'cPathname' auch einfach eine Ressourcennummer angeben und diese drucken lassen.

Danke und Gruß
Christof
Antworten