Textanzeige mit GraStringAt()
Moderator: Moderatoren
Textanzeige mit GraStringAt()
Hallo,
ich habe eine Spalte mit GraStringAt() aufgebaut, in denen Zahlen angezeigt werden. Die Länge ist immer gleich, da ich am Anfang immer Leerstellen einbaue, damit jede Zeile gleich lang ist. Wenn ich die Schriftart "Arial" verwende, wird nicht alles gleichmässig untereinander dargstellt sondern, versetzt. Verwende ich jedoch Courier New wird alles korrekt untereinander dargestellt. Geht das auch irgendwie mit Arial?
ich habe eine Spalte mit GraStringAt() aufgebaut, in denen Zahlen angezeigt werden. Die Länge ist immer gleich, da ich am Anfang immer Leerstellen einbaue, damit jede Zeile gleich lang ist. Wenn ich die Schriftart "Arial" verwende, wird nicht alles gleichmässig untereinander dargstellt sondern, versetzt. Verwende ich jedoch Courier New wird alles korrekt untereinander dargestellt. Geht das auch irgendwie mit Arial?
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo,
du kannst den Text auch rechtsbündig ausrichten, indem du die Länge ermittelst und den Anfangspunkt berechnest. In meiner Druckklasse habe ich so zentrieren, rechtsbündig und Blocksatz (Printtext bzw. printmemo) eingebunden. Die Längenberechnung ist bei einem Fenster gleich.
PS: weil Arial unterschiedliche Zeichenbreiten nutzt, sieht es ja viel schöner aus als Curier
du kannst den Text auch rechtsbündig ausrichten, indem du die Länge ermittelst und den Anfangspunkt berechnest. In meiner Druckklasse habe ich so zentrieren, rechtsbündig und Blocksatz (Printtext bzw. printmemo) eingebunden. Die Längenberechnung ist bei einem Fenster gleich.
PS: weil Arial unterschiedliche Zeichenbreiten nutzt, sieht es ja viel schöner aus als Curier
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Textanzeige mit GraStringAt()
hi,
gruss by OHR
Jimmy
du musst den "String" rechts ausrichten :JanR hat geschrieben: ich habe eine Spalte mit GraStringAt() aufgebaut, in denen Zahlen angezeigt werden. Die Länge ist immer gleich, da ich am Anfang immer Leerstellen einbaue, damit jede Zeile gleich lang ist. Wenn ich die Schriftart "Arial" verwende, wird nicht alles gleichmässig untereinander dargstellt sondern, versetzt. Verwende ich jedoch Courier New wird alles korrekt untereinander dargestellt. Geht das auch irgendwie mit Arial?
Code: Alles auswählen
aAttr[GRA_AS_HORIZALIGN] := GRA_HALIGN_RIGHT // rechts bündig
graSetAttrString(oPrinter, aAttr)
GraStringAt( oPrinter, {nX,nY}, myText ) // jetzt rechts
aAttr[GRA_AS_HORIZALIGN] := GRA_HALIGN_LEFT // links bündig
graSetAttrString(oPrinter, aAttr)
GraStringAt( oPrinter, {nX,nY}, myText ) // jetzt links
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Re: Textanzeige mit GraStringAt()
daran hatte ich noch gar nicht gedacht, ist natürlich einfacherAUGE_OHR hat geschrieben:...
du musst den "String" rechts ausrichten :
Code: Alles auswählen
aAttr[GRA_AS_HORIZALIGN] := GRA_HALIGN_RIGHT // rechts bündig graSetAttrString(oPrinter, aAttr)
Gruß
Hubert
Hubert
Hallo,
danke für eure Hilfe.
Wenn ich den String rechts ausrichten möchte und vorher GraSetAttrArea() verwende, erhalte ich einen Fehler
"oError:args :
-> VALTYPE: N VALUE: 2
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: N
oError:cargo : NIL
oError:description : Error in array index
oError:filename :
oError:genCode : 4
oError:operation : <[9]>:=<2>
oError:osCode : 0
oError:severity : 2
oError:subCode : 1012
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0"
Code:
danke für eure Hilfe.
Wenn ich den String rechts ausrichten möchte und vorher GraSetAttrArea() verwende, erhalte ich einen Fehler
"oError:args :
-> VALTYPE: N VALUE: 2
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: N
oError:cargo : NIL
oError:description : Error in array index
oError:filename :
oError:genCode : 4
oError:operation : <[9]>:=<2>
oError:osCode : 0
oError:severity : 2
oError:subCode : 1012
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0"
Code:
Code: Alles auswählen
aAttrA := Array(GRA_AS_COUNT)
aAttr [GRA_AS_HORIZALIGN] := GRA_HALIGN_RIGHT
GraSetAttrArea(oPS, aAttrA)
- brandelh
- Foren-Moderator
- Beiträge: 15696
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
in deinem Codebeispiel schreibst du aAttrA und aAttr ist das nur hier ein Tippfehler oder steht das auch im Code ?JanR hat geschrieben:Hallo,
Wenn ich den String rechts ausrichten möchte und vorher GraSetAttrArea() verwende, erhalte ich einen Fehler
...Code:Code: Alles auswählen
aAttrA := Array(GRA_AS_COUNT) aAttr [GRA_AS_HORIZALIGN] := GRA_HALIGN_RIGHT GraSetAttrArea(oPS, aAttrA)
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
moin,
sein.
gruss by OHR
Jimmy
ich würde sagen ein Syntax Fehler :JanR hat geschrieben:Code: Alles auswählen
aAttrA := Array(GRA_AS_COUNT) aAttr [GRA_AS_HORIZALIGN] := GRA_HALIGN_RIGHT GraSetAttrArea(oPS, aAttrA)
Code: Alles auswählen
aAttr [GRA_AS_HORIZALIGN] := GRA_HALIGN_RIGHT
müsste
aAttrA [GRA_AS_HORIZALIGN] := GRA_HALIGN_RIGHT
gruss by OHR
Jimmy