Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Plattformunabhänger Line-Break (https://www.delphipraxis.net/193902-plattformunabhaenger-line-break.html)

Codehunter 21. Sep 2017 09:38

Plattformunabhänger Line-Break
 
Moin,

ich meine mich zu erinnern, dass es in neueren Delphis vordefinierte Konstanten oder eine Function gab, welche das korrekte Line-Break je nach Compiler-Target lieferten. Also
Delphi-Quellcode:
#13#10
für Windows,
Delphi-Quellcode:
#10
für Linux und
Delphi-Quellcode:
#13
für MacOS. Zumindest meine ich, dass die korrekten Line-Breaks so sein müssten. Allerdings komme ich gerade nicht darauf, wie die entsprechende Konstante bzw. Function hieß.

Grüße
Cody

Klaus01 21. Sep 2017 09:40

AW: Plattformunabhänger Line-Break
 
Delphi-Quellcode:
sLineBreak
vielleicht?

Grüße
Klaus

Glados 21. Sep 2017 09:40

AW: Plattformunabhänger Line-Break
 
sLineBreak :thumb:

Codehunter 21. Sep 2017 09:47

AW: Plattformunabhänger Line-Break
 
Ah danke!

Redeemer 21. Sep 2017 09:57

AW: Plattformunabhänger Line-Break
 
macOS benutzt seit langem nicht mehr
Delphi-Quellcode:
#13
sondern jetzt das von Linux.

Codehunter 21. Sep 2017 15:05

AW: Plattformunabhänger Line-Break
 
Zitat:

Zitat von Redeemer (Beitrag 1381760)
macOS benutzt seit langem nicht mehr
Delphi-Quellcode:
#13
sondern jetzt das von Linux.

Ja das hab ich mir dann auch so gedacht nachdem ich die Implementierung von sLineBreak angeschaut habe. Mein Bauchgefühl sagt, dass #13 nur bis MacOS 9.x verwendet wurde und ab OSX dann #10 - evtl. weil OSX ein BSD-Ableger ist?

Von der Sache her finde ich aber die Windows-Variante ist die einzig richtige. Denn umgemünzt auf den ursprünglichen (IBM-?) Standard zur Steuerung von Nadel- oder Typenraddruckern war $0D bzw. #13 das Carriage Return (CR, Wagenrücklauf) und $0A bzw. #10 das Line Feed (LF, Zeilenvorschub). Erst beides zusammen, egal in welcher Reihenfolge, ergab einen korrekten Zeilenumbruch in dem Sinne wie wir ihn heute kennen.

freimatz 21. Sep 2017 17:15

AW: Plattformunabhänger Line-Break
 
Awa - das einzig richtige und ursprüngliche ist der Wagenrücklauf. Der machte bei meiner mechanischen Schreibmaschine mit einem Kommando dass es bei der nächste Zeile vorne weiter ging. :-D
Nadeldrucker und ursprünglich? - pah

Uwe Raabe 21. Sep 2017 17:35

AW: Plattformunabhänger Line-Break
 
Das ist nur bedingt richtig: Der Hebel für den "Wagenrücklauf" (CR, aber faktisch war das kein Rücklauf, denn man musste den Wagen von Hand zurückschieben - übrigens konnte man mit dem nötigen Geschick auch den einen oder anderen Tab damit einsparen, wenn man eben nicht bis zum Anfang zurück schob) - nun dieser Hebel hat auch ein Zahnrad angetrieben, daß die Walze um eine Zeile vorgedreht hat (=LF). Für Leerzeilen wurde der Hebel nämlich auch betätigt, obwohl der Wagen schon am Anfang der Zeile stand. Genauso konnte man den Wagen ohne diesen Hebel zurückschieben, womit man eben diesen Zeilenvorschub vermied. Insofern ist CR/LF schon die richtige Metapher, wobei man hier auch je nach Sichtweise ein LF/CR hineininterpretieren kann.

Codehunter 22. Sep 2017 07:14

AW: Plattformunabhänger Line-Break
 
Mir wäre neu dass Nadeldrucker einen Rücklauf-Hebel hatten. Schreibmaschinen sind IMHO eine andere Baustelle ^^ Ich war zwar ein bisschen verkehrt mit IBM, eigentlich geht das auf ESC/P von Epson zurück.

Jedenfalls ist der Zeilenvorschub $0A bzw. #10 per Standard nicht vorgesehen gewesen, den Wagen zurück laufen zu lassen. Vielmehr war es ausdrücklich gewollt, den Wagen stehen und ggf. um ein Character zurück fahren zu lassen, um schnell vertikalen Text drucken zu können.

Aber seis drum, #13#10 ist nun mal unter Windows der Zeilenumbruch. Punkt aus Feierabend ^^

Sherlock 22. Sep 2017 08:55

AW: Plattformunabhänger Line-Break
 
Ihr seid ja richtige Paläoinformatiker :D

Sherlock


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 Uhr.
Seite 1 von 2  1 2      

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