Zum Inhalt springen

curses

aus Wikipedia, der freien Enzyklopädie
Datei:Termapi.svg
Beziehungen und Abhängigkeiten

curses ist der Name verschiedener Programmbibliotheken zur Darstellung zeichenorientierter Benutzerschnittstellen (Text User Interface, TUI) unabhängig vom darstellenden Textterminal bzw. Terminalemulator. Die Bibliothek wurde von Ken Arnold entwickelt und vermutlich von Bill Joy, dem Entwickler von ex und vi, in der BSD-UNIX-Version 2.79BSD von 1980 inkludiert. U. a. das sich ab 1980 an Universitäten verbreitende Computerspiel Rogue nutzt die curses-Bibliothek.<ref>David L. Craddock: Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. (Blog) Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden.; ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.): Skriptfehler: Ein solches Modul „Text“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>

Auch in 4.2BSD und späteren Versionen ist die Implementierung enthalten, der 1989 eine Weiterentwicklung für Veröffentlichung 4 von System V folgte.

Andere Weiterentwicklungen sind pcurses (1982) von Pavel Curtis und (1987) Public Domain Curses (PDCurses)<ref>pdcurses.sf.net</ref> von Mark Hessling.

In den frühen 1990er Jahren setzten Zeyd Ben Halim und Eric Raymond die Entwicklung von pcurses fort und nannten es ncurses, die heute überwiegend in Gebrauch ist. Thomas Dickey trat 1995 in das Projekt ein und ist seit 1996 der Hauptentwickler.

Es gibt einen Standard von X/Open, der sich ausgesprochen nahe an die System-V-Implementierung hält.

Programmbeispiel[Bearbeiten]

Einfaches Hallo-Welt-Programm mit curses:

<syntaxhighlight lang="c">

  1. include <curses.h>

int main(void) {

 initscr();
 printw("Hallo Welt!");
 refresh();
 getch();
 endwin();
 return 0;

} </syntaxhighlight>

Literatur[Bearbeiten]

  • Skriptfehler: Ein solches Modul „Vorlage:Literatur“ ist nicht vorhanden.

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />