Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zusätzlicher Umbruch bei wordwrap (https://www.delphipraxis.net/206257-zusaetzlicher-umbruch-bei-wordwrap.html)

martin001 4. Dez 2020 11:16

Zusätzlicher Umbruch bei wordwrap
 
Hallo Zusammen,
kann man in einem Label, das auf wordwrap=true steht, einen zusätzlichen Zeilenumbruch an einer vorgegebenen Stelle einfügen?

Beispiel-Text wie er bei wordwrap ausgegeben wird:
"aaa 123
bbbb bbbb
asd asd"

Soll so aussehen:
"aaa
123
bbbb bbbb
asd asd"

Ich habe #10#13 hinter aaa eingefügt, hat aber keine Auswirkung.

Delphi.Narium 4. Dez 2020 11:22

AW: Zusätzlicher Umbruch bei wordwrap
 
Und was ist mit dem Standard von #13#10?

Zitat:

Description. The term CRLF refers to Carriage Return (ASCII 13, \r ) Line Feed (ASCII 10, \n ). ... For example: in Windows both a CR and LF are required to note the end of a line, whereas in Linux/UNIX a LF is only required. In the HTTP protocol, the CR-LF sequence is always used to terminate a line.

Andreas13 4. Dez 2020 11:33

AW: Zusätzlicher Umbruch bei wordwrap
 
Sicherer ist die Verwendung von
Delphi-Quellcode:
sLineBreak
Gruß, Andreas

martin001 4. Dez 2020 11:54

AW: Zusätzlicher Umbruch bei wordwrap
 
sorry, ich muss die Frage zurückziehen. Ich arbeite aktuell mit TMS Webcore und war davon ausgegangen, dass sich delphi genauso verhält. Ich habe das gerade nochmal mit delphi getestet, da wirkt sich #10#13 korrekt aus.

Delphi.Narium 4. Dez 2020 12:36

AW: Zusätzlicher Umbruch bei wordwrap
 
#10#13 ist nicht korrekt. Schön, wenn es doch funktioniert.

Streng genommen ist es ein Fehler, wenn #10#13 zu dem gleichen Ergebnis führt, wie #13#10.

Ein Zeilenumbruch besteht aus #13#10.

Und wenn unter Delphi etwas falsches richtig funktioniert, heißt das noch lange nicht, dass das Falsche nun richtig ist ;-)

Und wenn man sLineBreak nutzt, hat man nicht nur unter Windows, sondern auch unter Linux (und was weiß der Geier wo noch) immer die richtigen Steuerzeichen für 'nen Zeilenumbruch.

TMS WebCore ist doch für Web-Anwendungen, sowas mit HTML und so. Da ist der Zeilenumbruch <br />. Man könnte ja bei HTML mal das passende HTML-Tag ausprobieren ;-)

Andreas13 4. Dez 2020 12:52

AW: Zusätzlicher Umbruch bei wordwrap
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1478507)
#10#13 ist nicht korrekt. Schön, wenn es doch funktioniert...
Streng genommen ist es ein Fehler, wenn #10#13 zu dem gleichen Ergebnis führt, wie #13#10.

Ein Zeilenumbruch besteht aus #13#10.

#10 steht für "Line feed" = neue Zeile
#13 steht für "Carriage return" = "Wagenrücklauf" (aus Schreibmaschinen-Zeiten).
Daher ist es eigentlich egal, ob zuerst eine neue Zeile eingefügt wird und erst danach die Einfüge-Position auf Position 1 gesetzt wird, oder andersherum. Beide Varianten sollten funktionieren.
Gruß, Andreas

Delphi.Narium 4. Dez 2020 13:10

AW: Zusätzlicher Umbruch bei wordwrap
 
Zitat:

Zitat von Andreas13 (Beitrag 1478509)
Zitat:

Zitat von Delphi.Narium (Beitrag 1478507)
#10#13 ist nicht korrekt. Schön, wenn es doch funktioniert...
Streng genommen ist es ein Fehler, wenn #10#13 zu dem gleichen Ergebnis führt, wie #13#10.

Ein Zeilenumbruch besteht aus #13#10.

#10 steht für "Line feed" = neue Zeile
#13 steht für "Carriage return" = "Wagenrücklauf" (aus Schreibmaschinen-Zeiten).
Daher ist es eigentlich egal, ob zuerst eine neue Zeile eingefügt wird und erst danach die Einfüge-Position auf Position 1 gesetzt wird, oder andersherum. Beide Varianten sollten funktionieren.
Gruß, Andreas

Tun sie erfahrungsgemäß aber nicht.

Die Definition in DOS (als Windowsvorfahre) ist nunmal #13#10.

Bei 'nem Label unter Delphi reichen auch #10 oder #13 jeweils alleine aus, um den gewünschten Effekt zu erzielen.

Und #13#10 stammen nicht aus Schreibmaschinenzeiten, sondern aus der Zeit der Fernschreiber. Wenn schon in die graue Vorzeit abschweifen, dann richtig ;-)

Schreibmaschinen haben dafür 'nen Hebel. Zuerst schiebt man damit den Wagen nach links -> #13. Und wenn man dann weiterdrückt, kommt der Zeilenvorschub -> #10.
Will man es anders herum, muss man an der Walze 'ne Zeile vordrehen und dann per Hebel den Wagenrücklauf machen, ohne am Anfang der Zeile weiterzudrücken (oder den Wagen von Hand nach links schieben). Mechanisch kann man dabei übrigens genau merken, dass nach der Ankunft des Wagens an der linken Seite, der Hebel noch weiter bewegt wird, da ein zusätzlicher Widerstand zu überwinden ist, der durch den Vorschub um eine Zeile hervorgerufen wird.

Man kann mit dem Hebel übrigens den Wagen auch nach links schieben, ohne einen Zeilenvorschub auszulösen. Macht man aber zu erst den Zeilenvorschub -> #10 und dann den Wagenrücklauf, so ist man auch dann eine Zeile weiter, wenn man diese überhauptnicht möchte.

Von daher ist die Argumententation: #10#13 oder #13#10 ist doch egal, haben die gleiche Wirkung, mit dem Hinweis auf die Schreibmaschine, nicht korrekt.

Schreibmaschinen machen immer #13#10. ;-)

Andreas13 4. Dez 2020 13:43

AW: Zusätzlicher Umbruch bei wordwrap
 
Zitat:

Zitat von Delphi.Narium (Beitrag 1478510)
...Und #13#10 stammen nicht aus Schreibmaschinenzeiten, sondern aus der Zeit der Fernschreiber. Wenn schon in die graue Vorzeit abschweifen, dann richtig ;-)

Du hast recht: es war nicht die Schrebmaschine, sondern der Fernschreiber ("Telex").
Gruß, Andreas

PS:
Aber ich hatte vor grauer Vorzeit auch mal Sekretärinnen erlebt, die zuerst an der Walze gedreht und dann den Wagen nach links geschleudert haben...

martin001 4. Dez 2020 13:54

AW: Zusätzlicher Umbruch bei wordwrap
 
der Hinweis mit <br /> war super.
Vielen Dank
Martin

Delphi.Narium 4. Dez 2020 14:08

AW: Zusätzlicher Umbruch bei wordwrap
 
In HTML sind übrigens (bezogen auf die Anzeige) #13 #10 (oder jede beliebige Kombination daraus), absolut wirkungslos. Und das auch definitionsgemäß.

Zeilenumbrüche geschehen dort grundsätzlich nur durch die Verwendung entsprechender Tags.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:56 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