Topdown-Lib Ressource drucken?

Moderator: Moderatoren

Topdown-Lib Ressource drucken?

Beitragvon Christof » Di, 30. Okt 2007 21:23

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
Christof
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 240
Registriert: Mo, 01. Okt 2007 16:14
Wohnort: Bedburg

Re: Topdown-Lib Ressource drucken?

Beitragvon AUGE_OHR » Mi, 31. Okt 2007 0:02

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
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10055
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Beitragvon Christof » Mi, 31. Okt 2007 7:57

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
Christof
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 240
Registriert: Mo, 01. Okt 2007 16:14
Wohnort: Bedburg

Beitragvon Rolf Ramacher » Mi, 31. Okt 2007 8:59

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
Rolf Ramacher
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 1802
Registriert: Do, 09. Nov 2006 10:33
Wohnort: Bergheim

Beitragvon Christof » Mi, 31. Okt 2007 10:35

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: 240
Registriert: Mo, 01. Okt 2007 16:14
Wohnort: Bedburg

Beitragvon Christof » Mi, 31. Okt 2007 10:38

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
Benutzeravatar
Christof
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 240
Registriert: Mo, 01. Okt 2007 16:14
Wohnort: Bedburg


Zurück zu TopDown

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast