Zitat von
fkerber:
Naja, ein LF ist eben ein LF und kein LF+CR, deswegen denke ich, dass die Implementierung nicht korrekt ist.
Zitat von
fkerber:
Wenn nur ein CR kommt z.B., dann soll eben auf Pos 0 der aktuellen Zeile gesprungen werden und ab dort die Zeichen hin.
Jetzt verstehe ich langsam: du willst das gesamte nicht als Text interpretieren sondern eine
Terminalausgabe simulieren. CR/LF, LF und CR sind für dich somit nicht
Zeilenendekennzeichen sondern
Steuerbefehle für den Ausgabecursor. Das sind doch zwei vollkommen unterschiedliche Dinge. Erwartest du von einem Memo etwa auch, dass nach "Text := 'ABC'#8;" in Text nur 'AB' drin steht weil #8 der Steuercode für Backspace ist? Mit "Text:=irgendwas" simulierst du doch keine Tasten!
Um das hinzukriegen solltest du dir die aktuelle Zeile und Spalte im Memo merken und die Zeichen jeweils Positionsweise hinzufügen bzw. bei CR machst du "Spalte:=1" und LF machst du "Zeile:=Zeile+1" und bei anderen Zeichen ersetzt du es und machst "Spalte:=Spalte+1". Danach musst du das Caret neu setzen.
Muss jetzt leider weg, sonst könnte ich dir eben ein paar Zeilen hinschreiben.