Fettdruck einer nichtproportionalen Schrift? [ERLEDIGT]
Moderator: Moderatoren
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Fettdruck einer nichtproportionalen Schrift? [ERLEDIGT]
Hallo Kollegen,
bräuchte mal eine Nachhilfe für das Drucken mit verschiedenen Fonts.
In meiner Anwendung kommt es z.B. bei Rechnungsdruck vor, daß die Beträge untereinander stehen müssen. Nach meiner Logik kann das nur mit Nicht-Proportionalschriften funktionieren. Das wäre die erste Frage. Ist das so? Oder kann man auch mit irgendwelchen Tricks das mit Prop.Schriften hinkriegen?
Nach dem ich mir jetzt ersatzweise eine Schrift :-- > FONT_DEFFIXED_LARGE aus der Doku rausgesucht habe, klappt das auch gut mit den untereinandergeschriebenen Beträgen. Nur ist diese Schrift extrem blass. Keine Ahnung warum. Gibt es was daß diese Schrift fett gedruckt wird? Ich habe schon alles mögliche ausprobiert, aber am Schriftbild ändert sich nichts. Generell ist mir aufgefallen, daß Nicht-Prop. Schriften blasser gedruckt werden als Prop.schriften. Stimmt das?
Im Programm verwende ich für die Zuweisung der verschiedenen Fonts folgenden Quellcode:
aSettings := { FONT_TIMES_SMALL ,FONT_TIMES_MEDIUM, FONT_TIMES_LARGE , FONT_TIMES_XLARGE + FONT_STYLE_BOLD ,FONT_TIMES_XLARGE + FONT_STYLE_ITALIC + FONT_STYLE_BOLD, FONT_COURIER_SMALL, FONT_DEFFIXED_LARGE + FONT_STYLE_BOLD }
oFont77:= xbpFont():new(oPS) // FONT_DEFFIXED_LARGE + FONT_STYLE_BOLD
oFont77:create(aSettings[7])
oFont77:nominalPointSize:= 12
Danke für Tipps.
Gruß Wolfgang
bräuchte mal eine Nachhilfe für das Drucken mit verschiedenen Fonts.
In meiner Anwendung kommt es z.B. bei Rechnungsdruck vor, daß die Beträge untereinander stehen müssen. Nach meiner Logik kann das nur mit Nicht-Proportionalschriften funktionieren. Das wäre die erste Frage. Ist das so? Oder kann man auch mit irgendwelchen Tricks das mit Prop.Schriften hinkriegen?
Nach dem ich mir jetzt ersatzweise eine Schrift :-- > FONT_DEFFIXED_LARGE aus der Doku rausgesucht habe, klappt das auch gut mit den untereinandergeschriebenen Beträgen. Nur ist diese Schrift extrem blass. Keine Ahnung warum. Gibt es was daß diese Schrift fett gedruckt wird? Ich habe schon alles mögliche ausprobiert, aber am Schriftbild ändert sich nichts. Generell ist mir aufgefallen, daß Nicht-Prop. Schriften blasser gedruckt werden als Prop.schriften. Stimmt das?
Im Programm verwende ich für die Zuweisung der verschiedenen Fonts folgenden Quellcode:
aSettings := { FONT_TIMES_SMALL ,FONT_TIMES_MEDIUM, FONT_TIMES_LARGE , FONT_TIMES_XLARGE + FONT_STYLE_BOLD ,FONT_TIMES_XLARGE + FONT_STYLE_ITALIC + FONT_STYLE_BOLD, FONT_COURIER_SMALL, FONT_DEFFIXED_LARGE + FONT_STYLE_BOLD }
oFont77:= xbpFont():new(oPS) // FONT_DEFFIXED_LARGE + FONT_STYLE_BOLD
oFont77:create(aSettings[7])
oFont77:nominalPointSize:= 12
Danke für Tipps.
Gruß Wolfgang
Zuletzt geändert von Wolfgang_B am Di, 28. Feb 2012 11:36, insgesamt 1-mal geändert.
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
- Jan
- Marvin
- Beiträge: 14653
- Registriert: Fr, 23. Sep 2005 18:23
- Wohnort: 49328 Melle
- Hat sich bedankt: 21 Mal
- Danksagung erhalten: 88 Mal
- Kontaktdaten:
Re: Fettdruck einer nichtproportionalen Schrift?
Hallo Wolfgang,
selbstverständlich kannst Du das auch mit Nichtproportionalschriften machen. Dann mußt Du nur bei jedem Eintrag die Position der Spalte mit angeben.
Abgesehen davon kannst Du auch Proportionalschriften fett drucken. Ich muß aber gestehen, das ich die immer namentlich eintrage, also z. B. Courier.
Jan
selbstverständlich kannst Du das auch mit Nichtproportionalschriften machen. Dann mußt Du nur bei jedem Eintrag die Position der Spalte mit angeben.
Abgesehen davon kannst Du auch Proportionalschriften fett drucken. Ich muß aber gestehen, das ich die immer namentlich eintrage, also z. B. Courier.
Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Fettdruck einer nichtproportionalen Schrift?
Hi,
eine nichtproportionale Schrift (Courier New) müsste zwar gehen, aber willst du das haben ?
Du musst im Prinzip jede Spalte getrennt drucken, Zahlen rechtsbündig, dann kannst du wählen was du willst.
Mit meiner Druckerklasse geht das sogar ganz einfach
wenn du selbst bauen willst, schau dir mal in der Hilfe GraSetAttrString( [<oPS>], [<aAttributes>] ) --> aOldAttributes
dort speziell ...
Bei den Schriften ist es leider nicht so einfach, je nach Sprache und installiertem Font sehen die recht unterschiedlich aus.
Wenn die Bezeichnung nicht genau stimmt, wählt Xbase++ (oder Windows) einen "ähnlichen" ... was SEHR unähnlich enden kann.
Mit Arial und den Standardfonts ist man auf der sicheren Seite, ansonsten per Fontauswahldialog auswählen lassen (und Name speichern)
oder ein Fontobjekt nutzen, die Merkmale setzen und dann erstellen, einmal mit BOLD := .f. und einmal mit .t..
Fontobjekte sollte man übrigens einmal erstellen und danach nur noch verwenden, am Programmende müssen diese destroyed()
und mit NIL überschrieben werden, sonst könnte es Probleme mit dem Freigeben des Speichers geben.
eine nichtproportionale Schrift (Courier New) müsste zwar gehen, aber willst du das haben ?
Du musst im Prinzip jede Spalte getrennt drucken, Zahlen rechtsbündig, dann kannst du wählen was du willst.
Mit meiner Druckerklasse geht das sogar ganz einfach
Code: Alles auswählen
:PrintText(nPosX, nPosY, nBetrag , "R") // direkt die Zahl, meist will man aber fixe Formate - "R" für rechtsbündig
:PrintText(nPosX, nPosY, Transform(nBetrag,"9,999.99") , "R") // also selbst in String umwandeln.
1 mm dahinter dann ...
:PrintText(nPosX+10, nPosY, "EUR ..." ) // der nächste Text dann wieder LINKS-bündig
dort speziell ...
Code: Alles auswählen
GRA_AS_HORIZALIGN GRA_HALIGN_* GRA_HALIGN_LEFT
Wenn die Bezeichnung nicht genau stimmt, wählt Xbase++ (oder Windows) einen "ähnlichen" ... was SEHR unähnlich enden kann.
Mit Arial und den Standardfonts ist man auf der sicheren Seite, ansonsten per Fontauswahldialog auswählen lassen (und Name speichern)
oder ein Fontobjekt nutzen, die Merkmale setzen und dann erstellen, einmal mit BOLD := .f. und einmal mit .t..
Fontobjekte sollte man übrigens einmal erstellen und danach nur noch verwenden, am Programmende müssen diese destroyed()
und mit NIL überschrieben werden, sonst könnte es Probleme mit dem Freigeben des Speichers geben.
Gruß
Hubert
Hubert
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Re: Fettdruck einer nichtproportionalen Schrift?
Hallo Jan, hallo Hubert,
herzlichen Dank für die Tipps. Leider bin ich der Lösung meines Problems noch nicht näher gekommen. Ich muß zugeben, daß ich mit "Klassen" noch nicht viel anfangen kann, ganz zu schweigen davon selber welche zu definieren. Ich habe mich wahrscheinlich bei meiner Frage auch seltsam ausgedrückt.
Bei z.B. Rechnungen verwende ich den Font für Beträge:
aSettings := { FONT_TIMES_SMALL, FONT_TIMES_MEDIUM, FONT_TIMES_LARGE, FONT_TIMES_XLARGE + FONT_STYLE_BOLD, FONT_TIMES_XLARGE + FONT_STYLE_ITALIC + FONT_STYLE_BOLD, FONT_COURIER_SMALL }
oFont3 := xbpFont():new(oPrinterPS) // Font_Times Medium
oFont3:create(aSettings[2])
Hier sind die Beträge nicht rechstbündig, d.h. das Komma ist nicht untereinander, sondern je Länge unterschiedlich positioniert, obwohl ich die Ausgabe vorher mit TRANSFORM() formatiere und die Position in jeder Zeile gleich setze. Wenn ich FONT_COURIER_SMALL verwende, klappts richtig. Komma und Zahlen sind dann genau übereinander. Deshalb meine Ausdrucksweise porportional/nichtproportional Schrift.
Nächste Frage. Wie kann ich unterstreichen? Ich habe die im Manual bei xbpFont () die Instanzvariable :underscore gefunden. Selbst wenn ich die auf .T. setze ändert sich nichts. Muß man da einen besonderen Font verwenden?
Paßt zwar nicht in den Thread, aber wie kann ich die Bezeichnung einen Pushbuttons farbig darstellen? ODer weiter: wie kann ich einzelne Werte einer Listbox farblich darstellen, z.B. bei negativen Beträgen.
Ich hoffe ich nerve nicht
Gruß Wolfgang
herzlichen Dank für die Tipps. Leider bin ich der Lösung meines Problems noch nicht näher gekommen. Ich muß zugeben, daß ich mit "Klassen" noch nicht viel anfangen kann, ganz zu schweigen davon selber welche zu definieren. Ich habe mich wahrscheinlich bei meiner Frage auch seltsam ausgedrückt.
Bei z.B. Rechnungen verwende ich den Font für Beträge:
aSettings := { FONT_TIMES_SMALL, FONT_TIMES_MEDIUM, FONT_TIMES_LARGE, FONT_TIMES_XLARGE + FONT_STYLE_BOLD, FONT_TIMES_XLARGE + FONT_STYLE_ITALIC + FONT_STYLE_BOLD, FONT_COURIER_SMALL }
oFont3 := xbpFont():new(oPrinterPS) // Font_Times Medium
oFont3:create(aSettings[2])
Hier sind die Beträge nicht rechstbündig, d.h. das Komma ist nicht untereinander, sondern je Länge unterschiedlich positioniert, obwohl ich die Ausgabe vorher mit TRANSFORM() formatiere und die Position in jeder Zeile gleich setze. Wenn ich FONT_COURIER_SMALL verwende, klappts richtig. Komma und Zahlen sind dann genau übereinander. Deshalb meine Ausdrucksweise porportional/nichtproportional Schrift.
Nächste Frage. Wie kann ich unterstreichen? Ich habe die im Manual bei xbpFont () die Instanzvariable :underscore gefunden. Selbst wenn ich die auf .T. setze ändert sich nichts. Muß man da einen besonderen Font verwenden?
Paßt zwar nicht in den Thread, aber wie kann ich die Bezeichnung einen Pushbuttons farbig darstellen? ODer weiter: wie kann ich einzelne Werte einer Listbox farblich darstellen, z.B. bei negativen Beträgen.
Ich hoffe ich nerve nicht
Gruß Wolfgang
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Fettdruck einer nichtproportionalen Schrift?
Moin Wolfgang,
wenn Du eine nicht-Proportionale Schrift hast und untereinander stehende Zahlen am Komma zueinander ausrichten willst, musst Du diese Zahlen jeweils aufteilen - der linke Teil bis einschließlich zu dem Komma und die Nachkommastellen.
Dann druckst Du den linken Teil rechtsbündig zu Deiner Koordinate, an der das Komma stehen soll und den rechten Teil linksbündig zu der selben Stelle (ggf. musst Du zu der Position dann noch ein wenig addieren, damit die Zeichen sich nicht überlagern bzw. das ganze besser aussieht).
Thema unterstreichen: Wenn Du das Font-Objekt bereits create()et hast und dann unterstreichen willst, musst Du jeweils nach dem Setzen von :underscore ein :configure auf den Font machen:
Das gilt i.A. immer, wenn Du von einem bereits :create()eten Font-Objekt die Eigenschaften (Fett, Kursiv, Unterstrichen) ändern willst.
Um Die Farbe einzelner Listboxeinträge farbig darstellen zu können, musst Du Ownerdrawing verwenden! Das wird auch für die :caption eines Pushbuttons gelten! Suche mal nach diesem Begriff hier im Forum, da wirst Du einiges zu finden.
Viele Grüße,
Martin
wenn Du eine nicht-Proportionale Schrift hast und untereinander stehende Zahlen am Komma zueinander ausrichten willst, musst Du diese Zahlen jeweils aufteilen - der linke Teil bis einschließlich zu dem Komma und die Nachkommastellen.
Dann druckst Du den linken Teil rechtsbündig zu Deiner Koordinate, an der das Komma stehen soll und den rechten Teil linksbündig zu der selben Stelle (ggf. musst Du zu der Position dann noch ein wenig addieren, damit die Zeichen sich nicht überlagern bzw. das ganze besser aussieht).
Thema unterstreichen: Wenn Du das Font-Objekt bereits create()et hast und dann unterstreichen willst, musst Du jeweils nach dem Setzen von :underscore ein :configure auf den Font machen:
Code: Alles auswählen
oFontnorm := XbpFont():new( ::oPresSpace )
oFontnorm:FamilyName := "Arial"
oFontnorm:nominalPointSize := 10
oFontnorm:generic := .t.
oFontnorm:create()
...
oFontnorm:underscore := .t.
oFontnorm:configure()
GraStringAt( oPS, { 700, nY }, text )
oFontnorm:underscore := .f.
oFontnorm:configure()
Um Die Farbe einzelner Listboxeinträge farbig darstellen zu können, musst Du Ownerdrawing verwenden! Das wird auch für die :caption eines Pushbuttons gelten! Suche mal nach diesem Begriff hier im Forum, da wirst Du einiges zu finden.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Fettdruck einer nichtproportionalen Schrift?
Nein, das ist nicht sinnvoll, solange die Anzahl der Nachkommastellen gleich ist !Martin Altmann hat geschrieben:Moin Wolfgang,
wenn Du eine nicht-Proportionale Schrift hast und untereinander stehende Zahlen am Komma zueinander ausrichten willst, musst Du diese Zahlen jeweils aufteilen - der linke Teil bis einschließlich zu dem Komma und die Nachkommastellen.
Ziffern sind immer gleich breit, auch bei proportionalen Schriften.
Ein rechtsbündig gedrucktes Transform(nWert,"999,999,999.99") wird die Komma schön untereinander haben, egal welcher Font.
Unterstreichen mit "underscore" setzt eine änderung des Fonts voraus, und wird - falls es überhaupt funktioniert - immer Wortweise unterschreichen.
Wer will das schon. GraLine() kann das besser, einfach einen mm unter der normalen Stringausgabe ...
ODER meine Druckklasse BENUTZEN, du nutzt ja auch @ GET oder XbParts ... oder ?
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Fettdruck einer nichtproportionalen Schrift?
Hubert,
stimmt - die Zahlen sind tatsächlich gleich breit. Dann ist es in der Tat einfacher!
Aber falsch ist Deine Aussage, dass underscore nur die einzelnen Wörter unterstreichen würde!
Viele Grüße,
Martin
stimmt - die Zahlen sind tatsächlich gleich breit. Dann ist es in der Tat einfacher!
Aber falsch ist Deine Aussage, dass underscore nur die einzelnen Wörter unterstreichen würde!
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Fettdruck einer nichtproportionalen Schrift?
Moin,
habe es gerade noch Mal verifiziert - underscore funzt nicht mehr! Zumindest nicht so, wie von mir beschrieben (und so ging es mal - zumindest noch vor der aktuellen Version von Xbase++!)
Muss ich mal untersuchen.
Viele Grüße,
Martin
habe es gerade noch Mal verifiziert - underscore funzt nicht mehr! Zumindest nicht so, wie von mir beschrieben (und so ging es mal - zumindest noch vor der aktuellen Version von Xbase++!)
Muss ich mal untersuchen.
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Fettdruck einer nichtproportionalen Schrift?
Hallo Martin,
ich habe mich lange mit Drucken beschäftigt underscore könnte bei der einen oder anderen Schrift funktionieren,
aber spätestens wenn man Blockschrift möchte, muss man sich selbst um die Linien kümmern.
Wenn ich mich recht erinnere hat auch nicht jede Schrift underscore unterstützt, aber es ist lange her dass ich das probiert habe.
ich habe mich lange mit Drucken beschäftigt underscore könnte bei der einen oder anderen Schrift funktionieren,
aber spätestens wenn man Blockschrift möchte, muss man sich selbst um die Linien kümmern.
Wenn ich mich recht erinnere hat auch nicht jede Schrift underscore unterstützt, aber es ist lange her dass ich das probiert habe.
Gruß
Hubert
Hubert
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Re: Fettdruck einer nichtproportionalen Schrift?
Moin,
ne - keine Sorge, funzt! Man muss nur nach dem :configure() auf das Font-Objekt den Font erneut für den PresSpace setzen:
- sonst schlägt die Änderung natürlich nicht durch!
Bei einem Blocksatz (den man ja selbst durch vergrößern der Abstände zwischen den Worten provoziert), muss man die Linie natürlich selber setzen (es sei denn, man will nur ein Wort unterstreichen und positioniert das selber an die gewünschte Stelle)!
Viele Grüße,
Martin
ne - keine Sorge, funzt! Man muss nur nach dem :configure() auf das Font-Objekt den Font erneut für den PresSpace setzen:
Code: Alles auswählen
oFontnorm:underscore := .t.
oFontnorm:configure()
GraSetFont( oPS, oFontnorm )
Bei einem Blocksatz (den man ja selbst durch vergrößern der Abstände zwischen den Worten provoziert), muss man die Linie natürlich selber setzen (es sei denn, man will nur ein Wort unterstreichen und positioniert das selber an die gewünschte Stelle)!
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Re: Fettdruck einer nichtproportionalen Schrift?
Hallo,
gerade ist mir meine mühsam erstellte Antwort wieder wegen Rechnerabsturz über den Jordan gegangen ...
Also nochmal.
Unterstreichen klappt so wie Martin beschrieben!! Danke Martin
Ich kämpfe immer noch mit der Positionierung der Beträge auf einer Rechnung. Die wollen partout nicht untereinander stehen, obwohl ich alle Beträge mit TRANSFORM formatiere. Hier einen Ausschnitt aus dem Programm und anschließend ein Bild wie es dann auf der Rechnung aussieht. Man sieht es besonders bei den Mehrw.St. Beträgen ...
AADD(aF, {xpos+900, ypos, "Zwischensumme",oFont3}) // Zwischensumme 1 ermitteln
AADD(aF, {xpos+1400, ypos, TRANSFORM(NettoOrg,"99999.99"),oFont3})
AADD(aF, {xpos+1555, ypos, "EUR",oFont3})
ypos := ypos - 1.5 * zeilenabst
AADD(aF, {xpos+1400, ypos, REPLICATE("_",11),oFont3}) // Trennungsstrich - ab hier ohne Rabatt
ypos := ypos - 1.5 * zeilenabst
AADD(aF, {xpos+900, ypos, "Zwischensumme1",oFont3}) // Zwischensumme 2 wenn Rabatt sonst Zwischens. 1
AADD(aF, {xpos+1400, ypos, TRANSFORM(BetNetto,"99999.99"),oFont3}) // Summe BetragOhne - BetragRabatt
AADD(aF, {xpos+1555, ypos, "EUR",oFont3} )
ypos := ypos - 1.5*zeilenabst
AADD(aF, {xpos+1400, ypos, REPLICATE("_",11),oFont3}) // Trennungsstrich
ypos := ypos - 1.5 * zeilenabst
AADD(aF, {xpos+900, ypos, "Gesamtnetto",oFont3}) // Gesamtnetto
AADD(aF, {xpos+1400, ypos, TRANSFORM(BetNetto + PortoN,"99999.99"),oFont3})
AADD(aF, {xpos+1555, ypos, "EUR",oFont3})
ypos := ypos - 1.5 * zeilenabst
IF ST19 > 0 // Nettobetrag 19% Artikel
AADD(aF, {xpos+900, ypos, "MwSt. 19%",oFont3})
AADD(aF, {xpos+1400, ypos, TRANSFORM(St19,"99999.99"), oFont3})
AADD(aF, {xpos+1555, ypos, "EUR",oFont3}) // hier Porto immer 19%
ypos := ypos - 1.5*zeilenabst
ENDIF
IF ST07 > 0 // Nettobetrag 7% Artikel
AADD(aF, {xpos+900, ypos, "MwSt. 7%",oFont3})
AADD(aF, {xpos+1400, ypos, TRANSFORM(St07,"99999.99"),oFont3})
AADD(aF, {xpos+1555, ypos, "EUR *",oFont3})
ypos := ypos - 1*zeilenabst
ENDIF
AADD(aF, {xpos+1400, ypos, REPLICATE("_",11),oFont3})
ypos := ypos - 1.5 * zeilenabst
AADD(aF, {xpos+900, ypos, "Gesamtbetrag",oFont3}) // Gesamtbrutto
AADD(aF, {xpos+1400, ypos, TRANSFORM( BetNetto + PortoN + St19 + St07,"99999.99"),oFont3})
AADD(aF, {xpos+1555, ypos, "EUR",oFont3})
Gruß Wolfgang
gerade ist mir meine mühsam erstellte Antwort wieder wegen Rechnerabsturz über den Jordan gegangen ...
Also nochmal.
Unterstreichen klappt so wie Martin beschrieben!! Danke Martin
Ich kämpfe immer noch mit der Positionierung der Beträge auf einer Rechnung. Die wollen partout nicht untereinander stehen, obwohl ich alle Beträge mit TRANSFORM formatiere. Hier einen Ausschnitt aus dem Programm und anschließend ein Bild wie es dann auf der Rechnung aussieht. Man sieht es besonders bei den Mehrw.St. Beträgen ...
AADD(aF, {xpos+900, ypos, "Zwischensumme",oFont3}) // Zwischensumme 1 ermitteln
AADD(aF, {xpos+1400, ypos, TRANSFORM(NettoOrg,"99999.99"),oFont3})
AADD(aF, {xpos+1555, ypos, "EUR",oFont3})
ypos := ypos - 1.5 * zeilenabst
AADD(aF, {xpos+1400, ypos, REPLICATE("_",11),oFont3}) // Trennungsstrich - ab hier ohne Rabatt
ypos := ypos - 1.5 * zeilenabst
AADD(aF, {xpos+900, ypos, "Zwischensumme1",oFont3}) // Zwischensumme 2 wenn Rabatt sonst Zwischens. 1
AADD(aF, {xpos+1400, ypos, TRANSFORM(BetNetto,"99999.99"),oFont3}) // Summe BetragOhne - BetragRabatt
AADD(aF, {xpos+1555, ypos, "EUR",oFont3} )
ypos := ypos - 1.5*zeilenabst
AADD(aF, {xpos+1400, ypos, REPLICATE("_",11),oFont3}) // Trennungsstrich
ypos := ypos - 1.5 * zeilenabst
AADD(aF, {xpos+900, ypos, "Gesamtnetto",oFont3}) // Gesamtnetto
AADD(aF, {xpos+1400, ypos, TRANSFORM(BetNetto + PortoN,"99999.99"),oFont3})
AADD(aF, {xpos+1555, ypos, "EUR",oFont3})
ypos := ypos - 1.5 * zeilenabst
IF ST19 > 0 // Nettobetrag 19% Artikel
AADD(aF, {xpos+900, ypos, "MwSt. 19%",oFont3})
AADD(aF, {xpos+1400, ypos, TRANSFORM(St19,"99999.99"), oFont3})
AADD(aF, {xpos+1555, ypos, "EUR",oFont3}) // hier Porto immer 19%
ypos := ypos - 1.5*zeilenabst
ENDIF
IF ST07 > 0 // Nettobetrag 7% Artikel
AADD(aF, {xpos+900, ypos, "MwSt. 7%",oFont3})
AADD(aF, {xpos+1400, ypos, TRANSFORM(St07,"99999.99"),oFont3})
AADD(aF, {xpos+1555, ypos, "EUR *",oFont3})
ypos := ypos - 1*zeilenabst
ENDIF
AADD(aF, {xpos+1400, ypos, REPLICATE("_",11),oFont3})
ypos := ypos - 1.5 * zeilenabst
AADD(aF, {xpos+900, ypos, "Gesamtbetrag",oFont3}) // Gesamtbrutto
AADD(aF, {xpos+1400, ypos, TRANSFORM( BetNetto + PortoN + St19 + St07,"99999.99"),oFont3})
AADD(aF, {xpos+1555, ypos, "EUR",oFont3})
Gruß Wolfgang
- Dateianhänge
-
- IMG2.jpg (67.08 KiB) 7972 mal betrachtet
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
- AUGE_OHR
- Marvin
- Beiträge: 12907
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Fettdruck einer nichtproportionalen Schrift?
YUP damit hast du ja auch alle Standard Werte des Fonts übernommen.brandelh hat geschrieben:Bei den Schriften ist es leider nicht so einfach, je nach Sprache und installiertem Font sehen die recht unterschiedlich aus.
Wenn die Bezeichnung nicht genau stimmt, wählt Xbase++ (oder Windows) einen "ähnlichen" ... was SEHR unähnlich enden kann.
Mit Arial und den Standardfonts ist man auf der sicheren Seite, ansonsten per Fontauswahldialog auswählen lassen (und Name speichern)
Fett bzw. BOLD sind im Prinzip ja auch nur Konstanten FW_BOLD / FW_NORMAL wenn nicht
Code: Alles auswählen
oFont:WeightClass
ich habe hier mal die interessanten Konstanten dokumentiert
Code: Alles auswählen
//
// CreateFontA
//
// http://msdn.microsoft.com/en-us/library/dd183499%28v=vs.85%29.aspx
//
// CreateFont fnWeight-Konstanten
//
#define FW_NORMAL 400 // Normal
#define FW_BOLD 700 // Fett
//
// CreateFont fdwOutPrecision-Konstanten
//
#define OUT_DEFAULT_PRECIS 0 // Benutzt den Standard-Font
#define OUT_TT_PRECIS 4 // Benutzt eine TrueType-Schriftart
#define OUT_DEVICE_PRECIS 5 // Benutzt einen Device-Font wenn mehrere Dateien
// mit dem selben Namen existieren
#define OUT_RASTER_PRECIS 6 // Benutzt einen Raster-Font wenn mehrere Dateien
// mit dem selben Namen existieren
//
// CreateFont fdwPitchAndFamily-Konstanten
//
#define DEFAULT_PITCH 0 // Standard
#define FIXED_PITCH 1 // Fest
#define VARIABLE_PITCH 2 // Variabel
//
// CreateFont fdwClipPrecision-Konstanten
//
#define CLIP_DEFAULT_PRECIS 0 // Standard
#define CLIP_CHARACTER_PRECIS 1 // Not used.
#define CLIP_STROKE_PRECIS 2 // Raster Vector oder TrueType Fonts für die Enumeration
//
// CreateFont fdwQuality-Konstanten
//
#define DEFAULT_QUALITY 0 // Standard Qualität
#define DRAFT_QUALITY 1 // Das Erscheinen des Fonts ist weniger wichtig als bei PROOF_QUALITY
#define PROOF_QUALITY 2 // Die Qualität der Erscheinung ist wichtiger als
// das exakte šbereinstimmen mit den Font-Attributen
#define NONANTIALIASED_QUALITY 3 // (Win 9x, NT 4.0, 2000) Die Schriftart
// wird nicht mit Anitaliasing gezeichnet
#define ANTIALIASED_QUALITY 4 // (Win 9x, NT 4.0, 2000) Die Schriftart wird_
// immer mit Anitaliasing gezeichnet wenn möglich
gruss by OHR
Jimmy
Jimmy
- Wolfgang_B
- Rekursionen-Architekt
- Beiträge: 486
- Registriert: Do, 14. Jun 2007 18:22
- Wohnort: 94065 Waldkirchen
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 5 Mal
Re: Fettdruck einer nichtproportionalen Schrift? [ERLEDIGT]
Hallo Jimmy, herzlichen Dank. Werde ich mir mal zu Gemüte führen ...
Gruß Wolfgang
Gruß Wolfgang
Beste Grüße
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück
Wolfgang
Mitglied des Deutschsprachigen Xbase-Entwickler e. V.
Mitglied der XUG Osnabrück