AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

QRmemo: Zeilenumbruch erzwingen

Ein Thema von kagi3624 · begonnen am 16. Okt 2020 · letzter Beitrag vom 19. Okt 2020
Antwort Antwort
Seite 1 von 2  1 2      
kagi3624

Registriert seit: 3. Feb 2020
138 Beiträge
 
Delphi 6 Enterprise
 
#1

QRmemo: Zeilenumbruch erzwingen

  Alt 16. Okt 2020, 10:33
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...
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#2

AW: QRmemo: Zeilenumbruch erzwingen

  Alt 16. Okt 2020, 10:39
WordWrap := true schon probiert?
  Mit Zitat antworten Zitat
kagi3624

Registriert seit: 3. Feb 2020
138 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: QRmemo: Zeilenumbruch erzwingen

  Alt 16. Okt 2020, 10:43
WordWrap := true schon probiert?
Ja, vielleicht habe ich mich nicht gut ausgedrückt: Mein String ist ein Schlüssel aus vielen Zeichen, also es kommen keinerlei Whitespaces vor. Ich möchte, dass einfach umgebrochen wird, sobald es nicht mehr in die Zeile passt. Dankeschön
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: QRmemo: Zeilenumbruch erzwingen

  Alt 16. Okt 2020, 10:51
Ich habe es noch nicht probiert, teste mal eine dieser varianten (falls qrmemo wie ein memo ist...)
Memo Drucken
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: QRmemo: Zeilenumbruch erzwingen

  Alt 16. Okt 2020, 13:32
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.
> 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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (16. Okt 2020 um 13:45 Uhr)
  Mit Zitat antworten Zitat
kagi3624

Registriert seit: 3. Feb 2020
138 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: QRmemo: Zeilenumbruch erzwingen

  Alt 19. Okt 2020, 08:11
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?

Geändert von kagi3624 (19. Okt 2020 um 08:31 Uhr)
  Mit Zitat antworten Zitat
kagi3624

Registriert seit: 3. Feb 2020
138 Beiträge
 
Delphi 6 Enterprise
 
#7

AW: QRmemo: Zeilenumbruch erzwingen

  Alt 19. Okt 2020, 10:41
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.

Geändert von kagi3624 (19. Okt 2020 um 11:30 Uhr)
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
491 Beiträge
 
Delphi 12 Athens
 
#8

AW: QRmemo: Zeilenumbruch erzwingen

  Alt 19. Okt 2020, 12:17
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
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
491 Beiträge
 
Delphi 12 Athens
 
#9

AW: QRmemo: Zeilenumbruch erzwingen

  Alt 19. Okt 2020, 13:01
Das QRMemo scheint doch zu funktionieren. Nur ist das Property WrapStyle nicht publisched.
Man kann es aber zur Laufzeit setzen da Public (WrapStyle := BreakAnywhere).
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#10

AW: QRmemo: Zeilenumbruch erzwingen

  Alt 19. Okt 2020, 13:47
Ihr könnt sowas auch gleich als Bugreport/Featurerequest an den Hersteller schicken.

https://www.delphipraxis.net/205782-...ml#post1475660
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)
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz