![]() |
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 |
Re: Telnet mit IdTelnet - Komische Zeichen in der Ausgabe
#27 its ja das Escape-Zeichen und leitet eine Steuersequenz ein.
|
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?
|
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 ![]() ![]() Das Stichwort für eine Google-Suche ist übrigens "ANSI Terminal Emulation". |
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 |
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.
|
Re: Telnet mit IdTelnet - Komische Zeichen in der Ausgabe
Zitat:
Zitat:
|
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: ![]() 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 12:28 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