Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Richedit/Memo "nachprogrammieren" (https://www.delphipraxis.net/50735-richedit-memo-nachprogrammieren.html)

marabu 1. Aug 2005 07:06

Re: Richedit/Memo "nachprogrammieren"
 
Ich hatte zwar an eine GUI-Anwendung mit Konsolfenster als child window gedacht, aber von der Funktionalität her ist das egal. Von der Dokumentation her bin ich davon ausgegange, dass auch LF richtig interpretiert wird.

Zitat:

Zitat von Microsoft
Used with a console screen buffer handle to cause the system to perform the appropriate action for ANSI control characters that are written to a screen buffer. The backspace, tab, bell, carriage return, and linefeed characters are processed. A tab character moves the cursor to the next tab stop, which occurs every eight characters. A bell character sounds a short tone.

Als ich es eben untersuche stelle ich auch fest, dass LF so verarbeitet wird, als wäre es zusammen mit CR geschrieben worden.

Eines ist mir allerdings immer noch nicht klar. Welchen Sinn macht ein einzelnes LF (ohne CR) in deinem Datenstrom? Eine einwandfreie Umsetzung würde einen Zeilenwechsel unter Beibehaltung der Spalte verursachen. Wozu? Zur Ansteuerung von Bildschirmpositionen auf einem Terminal stehen in der Regel spezielle Steuersequenzen zur Verfügung.

marabu

Flocke 1. Aug 2005 07:20

Re: Richedit/Memo "nachprogrammieren"
 
Beim Begriff "Terminal" ist dann doch noch was eingefallen.

Bei der ICS-Suite von F. Piette (http://www.overbyte.be/) ist eine Komponente dafür dabei.
Zitat:

TEmulVT - ANSI terminal emulation (like a TMemo but with ANSI escape sequences interpretation).

marabu 1. Aug 2005 08:40

Re: Richedit/Memo "nachprogrammieren"
 
Bei Async Professional von TurboPower ist eine VT100 Terminal Komponente dabei - die sollte ein LF auch korrekt handhaben können.

marabu

xaromz 1. Aug 2005 10:17

Re: Richedit/Memo "nachprogrammieren"
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich häng hier jetzt mal meine Edit-Komponente rein (Achtung: ist noch Baustelle), aber ich glaub nicht, dass Dir das groß weiterhilft, da das Ganze erstens sehr speziell für meine Bedürfnisse ist und zweitens eben ein (relativ) normales Memo ist und kein Terminal.
Ich hab leider keine Dokumentation dafür, nur ein paar Zeilen, wie man Formatierungen einfügen kann. Wenn Du das benutzen willst musst Du Dir eben die Verarbeitung von Steuerzeichen selbst basteln (Die Methode AddCharacter ist da evtl. ein guter Start).

Gruß
xaromz

fkerber 1. Aug 2005 16:12

Re: Richedit/Memo "nachprogrammieren"
 
Hi!

Danke für die Tipps!


Ciao Frederic

fkerber 5. Aug 2005 16:19

Re: Richedit/Memo "nachprogrammieren"
 
Hi!

Zitat:

Zitat von Flocke
Beim Begriff "Terminal" ist dann doch noch was eingefallen.

Bei der ICS-Suite von F. Piette (http://www.overbyte.be/) ist eine Komponente dafür dabei.
Zitat:

TEmulVT - ANSI terminal emulation (like a TMemo but with ANSI escape sequences interpretation).


Perfekt! Wunderbar!
Vielen Dank.


Ciao Frederic

alf.stefan 8. Aug 2005 08:48

Re: Richedit/Memo "nachprogrammieren"
 
Hallo zusammen

wenn man die Steuerzeichen #10#13 extra interpretieren will dann müsste das doch in etwa so aussehen

Delphi-Quellcode:
 curLine := Memo1.Lines.Count-1;
 if c = #10 then
 begin
    Memo1.Lines.Append(StringOfChar(#32,length(Memo1.Lines[curLine]));
 end
 else if c = #13 then
 begin
    Memo1.Lines.Delete(curLine);
    Memo1.Lines.Append('');
 end
 else Memo1.Text := Memo1.Text + c;
bei #10 wird in die nächste Zeile an die Position der vorigen gegangen
bei #13 wird die momentane Zeile gelöscht und an Position 1 gesprungen
sonst wird Memo1 Text weiter geschrieben.

Gruß
Stefan

fkerber 8. Aug 2005 11:26

Re: Richedit/Memo "nachprogrammieren"
 
Hi!

Nein, so wäre das nicht korrekt!
So wie ich das sehe fügst du Leerzeichen ein, oder? Das verändert ja wiederum den Inhalt.

Ciao Frederic

TeronG 8. Aug 2005 11:47

Re: Richedit/Memo "nachprogrammieren"
 
Also wenn ich so was basteln wollte würde ich wahrscheinlich erstmal die Daten separat "speichern" (eg. String/list) dann kannste mit denen jonglieren wie du willst .. z.b. bei CR den Cursor (separat merken ??) auf Zeilenstart stellen und dann alle ankommenden Zeichen den Rest überschreiben lassen :gruebel:
naja .. sollte eigentlich nicht allzu schwer sein :gruebel: ..

(PS: hab im Mittelteil des threats n bissl übersprungen kann also sein, daß der Vorschlag schon kam und abgewiesen wurde :roll:)

alf.stefan 8. Aug 2005 12:11

Re: Richedit/Memo "nachprogrammieren"
 
@fkerber

wenn es hier um die Darstellung im Memo geht sind doch die Spaces egal.
Das memo mag es glaube ich (was sie Darstellung angeht) nicht so gerne wenn da lauter #0 stehen.
Auserdem lassen sich die ja mit commaText auch wieder rausmachen.


Gruß

Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:57 Uhr.
Seite 4 von 5   « Erste     234 5      

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