7.e.Q
14-03-2006, 08:08
Hi Leute,
ich hab ja vor einiger Zeit hier schonmal mit Telnet rumgespielt (Joghurt hat mir damals sehr geholfen). Nun hatte ich ein kleines Problem, das mir einiges Kopfzerbrechen bereitet hat. Um nun jedem dieses Kopfzerbrechen zu ersparen, möchte ich einen kleinen Tip liefern, der so naheliegend ist, daß es schon fast wehtut:
Wer seinen Bildschirm löschen möchte (Escape Sequenz '\e[2J' ausgeben), aber nicht weiß, wieviele Zeilen er den Cursor danach nach oben verschieben muss (Escape Sequenz '\e[zeilenA' ausgeben), somit die ganze Zeit am Grübeln ist, wie er die Größe des genutzten Terminals ermitteln soll, der soll den Cursor ganz einfach eine sehr große Anzahl Zeilen nach oben verschieben (bspw. 'ESC[200A'). Das stellt auf jeden Fall sicher, daß der Cursor nach dem Löschen des Terminal-Inhalts auch wirklich in der oberen Zeile des Terminals stehen bleibt.
Trivial, naheliegend und effektiv... so wollen wir das haben. :D
ich hab ja vor einiger Zeit hier schonmal mit Telnet rumgespielt (Joghurt hat mir damals sehr geholfen). Nun hatte ich ein kleines Problem, das mir einiges Kopfzerbrechen bereitet hat. Um nun jedem dieses Kopfzerbrechen zu ersparen, möchte ich einen kleinen Tip liefern, der so naheliegend ist, daß es schon fast wehtut:
Wer seinen Bildschirm löschen möchte (Escape Sequenz '\e[2J' ausgeben), aber nicht weiß, wieviele Zeilen er den Cursor danach nach oben verschieben muss (Escape Sequenz '\e[zeilenA' ausgeben), somit die ganze Zeit am Grübeln ist, wie er die Größe des genutzten Terminals ermitteln soll, der soll den Cursor ganz einfach eine sehr große Anzahl Zeilen nach oben verschieben (bspw. 'ESC[200A'). Das stellt auf jeden Fall sicher, daß der Cursor nach dem Löschen des Terminal-Inhalts auch wirklich in der oberen Zeile des Terminals stehen bleibt.
Trivial, naheliegend und effektiv... so wollen wir das haben. :D