![]() |
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:
für Windows,
#13#10
Delphi-Quellcode:
für Linux und
#10
Delphi-Quellcode:
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ß.
#13
Grüße Cody |
AW: Plattformunabhänger Line-Break
Delphi-Quellcode:
vielleicht?
sLineBreak
Grüße Klaus |
AW: Plattformunabhänger Line-Break
sLineBreak :thumb:
|
AW: Plattformunabhänger Line-Break
Ah danke!
|
AW: Plattformunabhänger Line-Break
macOS benutzt seit langem nicht mehr
Delphi-Quellcode:
sondern jetzt das von Linux.
#13
|
AW: Plattformunabhänger Line-Break
Zitat:
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. |
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 |
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.
|
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
![]() 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 ^^ |
AW: Plattformunabhänger Line-Break
Ihr seid ja richtige Paläoinformatiker :D
Sherlock |
AW: Plattformunabhänger Line-Break
Zitat:
|
AW: Plattformunabhänger Line-Break
Wenn ich mich recht erinnere, war es bei älteren Schreibmaschinen so, dass man mit dem Hebel zuerst an den Zeilenanfang ging, also Wagenrücklauf.
Erst wenn man am linken Rand war und weiterhin Druck auf den Hebel ausübte, führte dieser Druck dazu, dass man den Hebel noch etwas weiter bewegte und dadurch eine Mechanik auslöste, die für den Zeilenvorschub sorgte. Im Hebel waren also zwei Funktionen vereint. Man konnte damit durchaus nur einen Wagenrücklauf ausführen, ohne das zwingend ein Zeilenvorschub stattfand. Ob nur ein Wagenrücklauf oder eine Wagenrücklauf mit anschließendem Zeilenvorschub stattfand, war also durchaus eine Frage der Art der "Hebelbetätigung". Siehe auch Beschreibungen bei Wikipedia: ![]() ![]() Der Zeilenvorschub sorgt dafür, dass in die nächste Zeile gewechselt wird, die Position des Schreibkopfes bleibt unverändert. Der Wagenrücklauf bringt den Schreibkopf an den Anfang der Zeile, ohne die Zeile zu wechseln. #13#10 kombiniert diese beiden Schritte, also zuerst der Wagenrücklauf und dann der Zeilenvorschub. Unter Windows ist #13#10 eben dieses beides und kann auch einzeln genutzt werden (sofern sich das Ausgabegerät auch entsprechend verhalten kann und nicht #10 alleine als die Zeichenkombination #13#10 uminterpretiert.) Für beide Schritte nur #10 zu verwenden ist eigentlich nicht korrekt ;-) Zitat:
|
AW: Plattformunabhänger Line-Break
Zitat:
Was ich z.T. viel schlimmer finde ist, dass viele jüngere Entwickler den "Urschleim" nicht mehr kennen. Zum Beispiel dass es in Menüleisten eine bestimmte Reihenfolge gibt die sich etabliert hat (Datei, Bearbeiten ... Hilfe) von links nach rechts. Dieser Standard nannte sich glaube ich ![]() Man kann bzw. sollte solches "paläoinformatisches" Wissen aber auch nicht einfach als Nostalgie abtun. Gerade wenn solche Standards wie ESC/P teilweise immer noch die Grundlage für vieles bilden. Was dabei raus kommt wenn man solche Dinge ignoriert sieht man ja beim Ribbon-Office :twisted: |
AW: Plattformunabhänger Line-Break
Ich hab nix dagegen gesagt, bei mir sind es noch 15 Jahre bis zur Rente. Ich find es im Gegenteil sogar gut und erfrischend. Immerhin könnte ich mal mitreden, wenn nicht alles schon gesagt wäre - im Gegensatz zu manch "neumodischem Kram" ;).
Sherlock |
AW: Plattformunabhänger Line-Break
Wer sich ärgern lassen will ... das blöde TRichEdit (die API-Version, welche aktuell in Delphi verwendet wird ... war vor mehreren Jahren mal anders) nutzt och #13 als Zeilenumbruch, aber die VCL macht da "teilweise" ein #13#10 draus ... aber leider nicht bei der Positionsberechnung für SelStart und SelLength, obwohl es da seit vielen Jahren eine Fehlermeldung mit Lösungsvorschlagen im QC gab :wall:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 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-2025 by Thomas Breitkreuz