![]() |
QRmemo: Zeilenumbruch erzwingen
Hallo,
ich habe einen eledlangen String, den ich auf einen QR Report packen möchte, das Problem beim Drucken ist, dass nur die eine Zeile gedruckt wird, sprich: es wird nicht umgebrochen. Kann man den Zeilenumbruch irgendwie erzwingen? Habe es schon mit verschiedenen AutoSize und AutoStretch einstellungen probiert... |
AW: QRmemo: Zeilenumbruch erzwingen
Delphi-Quellcode:
schon probiert?
WordWrap := true
|
AW: QRmemo: Zeilenumbruch erzwingen
Zitat:
|
AW: QRmemo: Zeilenumbruch erzwingen
Ich habe es noch nicht probiert, teste mal eine dieser varianten (falls qrmemo wie ein memo ist...)
![]() |
AW: QRmemo: Zeilenumbruch erzwingen
Es kommt drauf an wie umgebrochen wird.
* erstmal an "Wortgrenzen" * und dann kann es sein, dass es hier keinen Maximalwert gibt, der dann "irgendwo" im Wort umbricht PS: deswegen wird im Forum in zu lange "Wörter" Leerzeichen eingebaut, damit umgebruchen werden kann ... leider hier ein "richtiges" Leerzeichnen aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaa Wenn ihr den Browser zusammenschiebt, merkt ihr, dass mein Post eine Grenze hat und im Gegensatz zum vorherrigen Beitrag breiter bleibt, da HTML/Browser keine Wörter trennen, weil sie nicht wissen wo sie es "dürfen". In diesem Fall könntest du selbst ein paar passende Steuerzeichen einfügen, denn genau dafür gibt es extra ein paar Zeichen, zum Steuern. :angle: > non-breaking space = erzwungenes Leerzeichen #160 #$A0 > non-breaking hyphen = #8209 #$2011 > zero-width space = breitenlose Leerzeichen #8203 #$200b > soft hyphen = bedingter Trennstrich #173 #$AD > null breiter Nichtverbinder #8204 #$200C > null breiter Verbinder #8205 #$200D z.B. in deinen Text alle 10 Zeichen ein #173 oder #8204 einfügen. Über große Texte könnte man auch einen lexikalischen Parser laufen lassen, der zwischen alle Silben ein #8209 einfügt, dann kann auch die dümmste Zeilenumbruchsteuerung korrekt die Wörter trennen/umbrechen. #160 #8209 = ein Leerzeichen/Bindestrich, wo nichts umgebrochen wird (die beiden Wörter bleiben zusammen) #8204 #173 = unsichtbares Leerzeichen/Bindestrich im Wort, der erst sichtbar wird, wenn dort umbegrochen werden muß Problem mit uraltem Delphi: Alles mit Unicode kannst'e vergessen, also alles über #255 bzw. #$FF. |
AW: QRmemo: Zeilenumbruch erzwingen
Danke für die Antworten und das Bestätigen meiner Vermutung, dass es nicht umgebrochen werden kann. Ich wollte es vermeiden in den Schlüssel selbst irgendwas einzubauen, nun muss ich es dennoch tun. Dazu vielleicht eine Frage an himitsu, da Delphi 6 wahrscheinlich zero-width space nicht kann, ist es die einzige Möglichkeit "unsichtbare" Trennzeichen zu erzwingen?
|
AW: QRmemo: Zeilenumbruch erzwingen
Ich habe die soft hyphen und leerzeichen ausprobiert, es wird trotzdem nicht umgebrochen! Habe wieder alle möglichen Einstellungen ausprobiert: autosize, autostrech wordWreap ist an. Also langsam verzweifle ich an diesem QR report.
Edit: autostretch auto und autosize deaktiviert&manuell sollte doch die richtige Einstellung sein? Es wird trotzdem nur zur ende der Zeile gedruckt und nicht umgebrochen. |
AW: QRmemo: Zeilenumbruch erzwingen
Versuch es mal mit QrLabel. Da kann man bei Wrapstyle BreakAnywhere einstellen.
Bei mir klappt es innerhalb eines Bandes mit: Band PreCaluculateBandHeight = True qrLabel AlignToBand = True AutoSize = False AutoStretch = True WrapStyle = BreakAnywhere |
AW: QRmemo: Zeilenumbruch erzwingen
Das QRMemo scheint doch zu funktionieren. Nur ist das Property WrapStyle nicht publisched.
Man kann es aber zur Laufzeit setzen da Public (WrapStyle := BreakAnywhere). |
AW: QRmemo: Zeilenumbruch erzwingen
Ihr könnt sowas auch gleich als Bugreport/Featurerequest an den Hersteller schicken.
![]() Nach dem Tod des letzten Entwicklers, gibt es nun einen Neuen und somit geht's weiter. Aktuell wird zwar erstmal nur am Upgrade gearbeitet, aber danach soll es mit den Bugfixen und neuen Features weitergehn. (allerdings dann nur in der neuen Version) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz