Logo mit Text ausdrucken

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

Moderator: Moderatoren

Antworten
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Logo mit Text ausdrucken

Beitrag von Wolfgang_B »

Hallo, bin noch in einem relativ jungen Stadium mit xbase++ (1.82) unterwegs (mehr prozedural als objektorientiert :-( ). Habe folgendes Problem. Ich muß Listen ausdrucken auf denen oben ein Logo mit ausgedruckt werden soll.

Die Listen klappen prima. Nur wie kriege ich das Logo mit in den Text.

Hier mal ein Auszug aus meinem Quelltext:

oPrinter := XbpPrinter():new()


IF oPrinter:list() == NIL
MsgBox( "Fehler - Es sind keine Drucker installiert!", "" )
RETURN NIL
ENDIF

oDlg := XbpPrintDialog():new()

oDlg:enablePrintToFile := .F.
oDlg:printToFile := .F.
oDlg:enableNumCopies := .T.
oDlg:numCopies := 1
oDlg:create()
oDlg:configure()

oPrinter := oDlg:display()

IF oPrinter <> NIL

// Neuen Presentation-Space erzeugen
oPS := XbpPresSpace():new()

// Bedruckbarer Bereich auf dem Papier
aSize := oPrinter:paperSize()
aSize := { aSize[5] - aSize[3], aSize[6] - aSize[4] } // bedruckbarer Bereich

oPS:create( oPrinter, aSize, GRA_PU_LOMETRIC )

oPrinter:startDoc()

// Füllen eines Arrays mit Listeninhalt
AADD(aF, {xpos+50, ypos, aMit[1], oFont3})
ypos := ypos - zeilenabst
AADD(aF, {xpos+50, ypos, aMit[2], oFont3})
ypos := ypos - zeilenabst
AADD(aF, {xpos+50, ypos, aMit[3], oFont3})

// usw.

// Seiteninhalt drucken
FOR i = 1 TO LEN(aF)
GraSetFont( oPS,aF[i,4])
GraStringAt(oPS, { aF[i,1], aF[i,2] }, aF[i,3] )
NEXT

oPrinter:endDoc()

ENDIF

2. Problem

Wie bekomme ich eine Titelseite beim Programmaufruf hin. z.B. ein Hintergrundbild mit Programmname und "START"-Button, der dann zum eigentlichen Programm führt?

Bin für jede Hilfe dankbar

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

Beitrag von brandelh »

Hallo,

wenn du noch recht neu dabei bist ;-) schau dir mal meine Druckerklasse und den Thread davor an. Dort habe ich eben ein Beispiel mit meiner Druckerklasse gezeigt.

Bei meiner Druckerklasse kann man mit:

oHBPrinter:PrintBmp(nX,nY,nXSize,nYSize,cFileName,nID)

direkt eine Datei oder aber eine Resource drucken lassen.
In der Klasse ist u.a. vorgesehen, dass man eine PrintForm() Methode mit allen Druckausgaben die einmalig je Seite sind definiert und eine Print()-Methode für den Rest. Das geht dann auch mit Druckvorschau.

Direkt in Xbase++ Code müsste man so vorgehen wie ich es in der Druckerroutine auch mache.

Code: Alles auswählen

   
   // nx=xKoordinate, ny=yKoordinate, cFileName
   // nXSize=Breite in X, nYSize=H”he in Y
   aPos1 := {?,?}  wohin
   oBitmap := XbpBitmap():new():create( oPrinterPresentationSpace)
   // jenachdem wo die Bitmap her ist ???
   if IsNil(nID)    // Dateiname der Bitmap wurde
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Splash: Guckst Du hier:

http://www.gogalthorp.com/splash/

Jan
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Beitrag von Wolfgang_B »

Jan hat geschrieben:Splash: Guckst Du hier:

http://www.gogalthorp.com/splash/

Jan

Code geht leider nur bis Version 1.7. Werde mal googln. Trotzdem danke!
Gruß Wolfgang
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Beitrag von Wolfgang_B »

Hallo Herbert, werde mir das mal zu Gemüte führen. Erstmal danke und ein schönes Wochenende.
Gruß Wolfgang
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

ich heiße HUBERT ;-) , dennoch ein schönes Wochenende :D
Gruß
Hubert
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 393
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Armin »

hallo wolfgang,

ich mach das alles mit xbpBitmap().

So z.B. auch einen Briefbogen (DIN A4) zuerst ein Bild über ganze Seite, danach der Druck mit GraString(...

Dein Eingangsbildschirm sollte auch so funktionieren (PresentationSpace)

Grüsse, Armin
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Beitrag von Wolfgang_B »

brandelh hat geschrieben:Hi,

ich heiße HUBERT ;-) , dennoch ein schönes Wochenende :D

Sorry. :? Zum Ausprobieren Deines Vorschlages bin ich noch nicht gekommen. Ich melde mich dann. Gruß Wolfgang
Benutzeravatar
Wolfgang_B
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 484
Registriert: Do, 14. Jun 2007 18:22
Wohnort: 94065 Waldkirchen
Hat sich bedankt: 14 Mal
Danksagung erhalten: 5 Mal

Beitrag von Wolfgang_B »

Armin hat geschrieben:hallo wolfgang,

ich mach das alles mit xbpBitmap().

So z.B. auch einen Briefbogen (DIN A4) zuerst ein Bild über ganze Seite, danach der Druck mit GraString(...

Dein Eingangsbildschirm sollte auch so funktionieren (PresentationSpace)

Grüsse, Armin
Hallo Armin,
das mit xbpBitmap hat prima hingehauen. Mit dem Eingangsbilschirm bin ich noch am kämpfen.

Gruß Wolfgang
Antworten