On Freitag, 19. Juli 2002 16:17, Matthias Brachmann wrote:
Hallo,
ich möchte gerne bei einem Paketgenerator die aktuelle Übertragungsgeschwindigkeit in der Konsole anzeigen lassen. Das sollte so ähnlich wie beim Kommando "top" die Systemauslastung sein. Bisher hab ich versucht, das ganze mit Steuerzeichen \b zu realisieren und somit die gerade geschriebenen Zeichen wieder zu löschen, funzt auch aber der Cursorblock stört mich dabei. Mit einem System Call system("clear"); den ganzen Screen löschen und dann den Schirm komplett neu aufbauen ist auch nicht das Wahre, weil zu langsam. Die Aktualisierungsfrequenz sollte schon 2/sec betragen.
Hat jemand eine gute Idee ?
Das ist eigentlich die Grundidee von NCurses: Du schreibst in einen virtuellen
Bildschirm, den NCurses verwaltet, und NCurses schickt immer nur die Zeichen
auf den wirklichen Bildschirm, die sich tatsächlich geändert haben. Das geht
auch über langsame serielle Leitungen (alte Terminals u.s.w.) sehr gut. Genau
deshalb verwenden auch so ziemlich alle Konsolenanwendungen unter Linux diese
Technik (vi, top, ...).
CU
--
Stefan Hundhammer