Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Telnet mit IdTelnet - Komische Zeichen in der Ausgabe (https://www.delphipraxis.net/78117-telnet-mit-idtelnet-komische-zeichen-der-ausgabe.html)

c.wuensch 29. Sep 2006 12:22


Telnet mit IdTelnet - Komische Zeichen in der Ausgabe
 
Hi,

ich möchte mit der Indy Telnet-Komponente auf meinen Router zugreifen, um die Internet-Verbindung herzustellen und zu trennen.

In der Ausgabe des Router-Menüs erscheinen komische Zeichenkombinationen (erst das nicht-darstellbare Zeichen #27, dann z.B. [1;8H). Was ist das und wie kann ich das vermeiden?


Wär echt nett, wenn ihr mir da helfen könntet!

(Auf Grund der Bitte von Chaosben habe ich meine Fragen nun in separate Threads geschoben)

Cu, Chris

mkinzler 29. Sep 2006 12:29

Re: Telnet mit IdTelnet - Komische Zeichen in der Ausgabe
 
#27 its ja das Escape-Zeichen und leitet eine Steuersequenz ein.

c.wuensch 29. Sep 2006 12:43

Re: Telnet mit IdTelnet - Komische Zeichen in der Ausgabe
 
Und was steuert die, bzw. wie verarbeite ich so eine Sequenz bei einer Memo-Ausgabe in Delphi?

Flocke 29. Sep 2006 12:54

Re: Telnet mit IdTelnet - Komische Zeichen in der Ausgabe
 
In einem Memo nur ganz schwer, weil dabei auch Steuerungssequenzen für den Cursor und die Farbe vorkommen können.

Sieh' dir mal ICS TEmulVT an (Tipp von marabu von hier).

Das Stichwort für eine Google-Suche ist übrigens "ANSI Terminal Emulation".

c.wuensch 29. Sep 2006 22:55

Re: Telnet mit IdTelnet - Komische Zeichen in der Ausgabe
 
Hi,

danke für eure Hilfe!

Ich habe jetzt diese ICS TEmulVT Komponente ausprobiert. Das ist ja schon ein richtiges Terminal.
Daher für meine Zwecke weniger geeignet, da mein Programm die Telnet-Befehle automatisch durchführen soll, und die Memo-Ausgabe nur dem Mitloggen dient.

Ich werde jetzt einfach diese Escape-Sequenzen aus dem Ausgabestring herausfiltern und das Ganze so im Memo darstellen.

Cu, Chris

Flocke 29. Sep 2006 23:36

Re: Telnet mit IdTelnet - Komische Zeichen in der Ausgabe
 
Für den Anfang kannst du es dir ja leicht machen und einfach alles zwischen "ESC [" und dem nächsten Buchstaben (groß oder klein) herauslöschen. Mit genau solchen (Ansi-)Codes kannst du übrigens auch die Cursor-Steuerbefehle senden.

c.wuensch 30. Sep 2006 00:24

Re: Telnet mit IdTelnet - Komische Zeichen in der Ausgabe
 
Zitat:

Für den Anfang kannst du es dir ja leicht machen und einfach alles zwischen "ESC [" und dem nächsten Buchstaben (groß oder klein) herauslöschen.
Ja, ich denke das sollte ausreichen...

Zitat:

Mit genau solchen (Ansi-)Codes kannst du übrigens auch die Cursor-Steuerbefehle senden.
Danke für den Tipp! Den Gedanken hatte ich auch schon (siehe entspr. Thread), aber ich habe leider keine Ahnung, mit welchem Code genau ;-(

marabu 30. Sep 2006 07:36

Re: Telnet mit IdTelnet - Komische Zeichen in der Ausgabe
 
Guten Morgen Chris,

mit Format(#27'[%d;%dH', [tRow, iCol]) kannst du die Cursor-Steuer-Sequenz erzeugen.

Für alle, die keine VT100-Referenzkarte mehr auf ihrem Schreibtisch liegen haben: klick

Die in deiner Telnet Session ankommenden Sequenzen werden nicht interpretiert, weil dir Indy nur ein dumb terminal zur Verfügung stellt. Du könntest ein ANSI-Terminal von dieser Komponente ableiten oder du suchst dir eine fertige Komponente.

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:31 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 by Thomas Breitkreuz