ncurses_mvvline
(PHP 4 >= 4.2.0, PHP 5 = 1.0.0)
ncurses_mvvline � Set new position and draw a vertical line using an attributed character and max. n characters long
��������
��� ������� �������� �����������������. ��������� ���� �������, �� ��� � ����������� � ��� ������������ ����� ���������� � ����������� ������� PHP ��� �����������. ����������� ��� ������� �� ���� ����� � ����.
� ���������� ������� ��� ������� ��� �� ���� ���������������; ��� ������������ �������� ������ ������ ����������.
�������� � ncurses
���������� ncurses ������������ ������������ ��������� ��� �������� ���������� ���������� ������������ (Text-based User Interface � TUI) �� ���������� �� ���� ���������. � ���������, ncurses ��������� ��������� ���� � ��������� �� ����������������, �������� �������� ����������, ���� � ������ �������� ��������� ��������. ��� ����� ������������ �������� �� ���������� ����������� ����. ncurses ����� ������������� ��� ������ ���������� crt � Turbo Pascal.
ncurses ��������������� � ������ ������� GNU � �������� �� POSIX-����������� ��������. ��� Windows ���������� PDCurses � ��������� ����������, ����������� ����������� ������� ncurses.
��������� ���������
���������, ������������ ncurses, ������ ����� ���:
����� initscr �������������� ncurses. ������� endwin ������� ��� ���������� ��� ncurses ������� � ������ ���������� ����� ����� ������ ������� ���� ����������.
������� �� ����� ������������ ������� «Hello, World!» :
�������, ��� printw ������� ������ �� �������� �� �����, � � ����������� �����, ���������� �������� ������������ �� �������� ������ ����� ������ refresh .
�������� ����� ������ getch ����� ��� ����, ����� ������� �� ������� � ������.
����� � ����
����� ������, � ncurses ������������ ���� � ������ ������, ���������� ����������� ����� ������. � ������ �������, ����� ����� ������������� ��� ����� ������� �� ��������� ����. ���� ����� �����������, ������������, ������������, ������������ � �. �.
��� �������� ���� (������) � ncurses ���������� ��������� ������ WINDOW . ������ �� ����� ������� ������ ������� ���������� ����� ��������. ���, ��� ������ initscr ���������� ������ ��� ��������� ����������:
���� ���������� ������, �� initscr ������ ERR . � ��������� ������ ������������ ��������� �� stdscr .
stdscr � ��� �����, � ������� ������� ������ printw � ������ �������� �������, � curscr � �����������, ������� ��������� �� �����. ��� ������ ������� refresh ���������� ����������� ����������� stdscr � curscr .
���������� ��� ������ ���, ����� ������� ���������� � ����:
� ������ ��������� �� ��������� ������������� ncurses, � ����� ������� ���� � ������� ������� newwin :
- nlines � ��� ����� �����;
- ncols � ����� �������� ����;
- y0 � x0 � ���������� �������� ������ ���� ����.
��� ���� ������ ��������� (0,0) ��������� � ����� ������� ���� ������. ���������� LINES � COLS ���������������� ��� ������ initscr � ������ ������ ������ � ������� � ������ � ��������. � ����� ������ ���� ��������� � �������. ��� ��������� ���������� ����� ��� int .
������� delwin(win) ������� ���� win .
�������� ������ ���� �������� 20 ����� �� 50 �������� � ������� ������� � ��� ������:
�����, ��� �����������, ������� ���� �������� � ������� ������� box .
������� ncurses, ������������ � w , ������������� ��� ������ � ������ WINDOW , ����� ��� ��������� ����� ���� � stdscr . � ����� ������ wrefresh(win) ��������� curscr , ������� � ���� ���������� ���� win , �� ���� ������ � win �� �� �����, ��� refresh ������ � stdscr .
�������, ������������ � mv , ������� ���������� ������ � ������� (y,x) , � ����� ��������� �����-�� ��������. ���, � �������, ������� mvaddstr ���������� ������ � �������� ������, �������� ��� ���� ����� ������ hello , ����� ���� ������� ��� ������.
�������
� ��������� ������� � ������� ������� mvaddch , ��������� �������� ������������� ������, �������� ������ ������� y = x^2 ��� ������������� x , ������� � ��������� [-4;4]:
��� ��������� �������� ����� ������������� ���� ������� � ���� ����. ���� �������� �������� ���������, � ������� ������� «Hello, world!» ��������� ������� ������� �������� � ����:
����� ������ ‘X’ ��� ������� � ������� �� �������� ���� ����� 4, ������:
���������� �������� ��� ���� ����� � ������� ������� wattron :
������� ������ ��� ���� ������� (��� ���������� ���������) attr . ����� ����� ����� �����, ��������� � ���� ���� � ������� waddch ��� waddstr ����� ����� �������� attr .
��������, ��� ������ �� ����� ��������� � �������� ����� ������, �������:
���������������� �������� ��������� ��������� � �������:
������� | �������� |
---|---|
A_NORMAL | ����������, ������������� ����� ���������� |
A_STANDOUT | �������� ����� ����� |
A_UNDERLINE | ������������� |
A_REVERSE | �������� ����������� |
A_BLINK | ������� |
A_DIM | ������� ��� ��������� ����� |
A_BOLD | ������ ����� |
A_ALTCHARSET | ������������� �������������� ���������� ������� |
A_INVIS | ��������� ����� |
A_PROTECT | ����� ������ |
A_CHARTEXT | ����� ��� ����������� �������� (chtype) |
A_COLOR | ����� ��� ����� |
COLOR_PAIR(n) | ��������� �������� ���� n |
PAIR_NUMBER(a) | ��������� �������� ����, ������� � �������� a |
��������� ��� ���� �������� «��������» � «������ �����» � ����� �������� ������� � ��������� ����� �������
[��� ���������](
��������� ����� ���� ��������� � ����� �� ��� � ������� �� ������� «����� � ����».
����� ������� ������������� ������ ���������� ���������, �������� �� ��� ���, � ���������, ��� ���������� ��������� �������� ��� COLOR_PAIRS �� ������ ����, ������� �� ����� �������.
��� ������������� �������� � ������ ���������� ������� start_color .
������� has_colors ��������� ������, ����� �� ������������ �����. ���� ��� ���������� FALSE , �� ������������ ����� ������.
��� �������� �������� ��� ������ ������� init_pair :
foreground � ���� �������; background � ���� ����. pair_number � ����� ��������� �������� ����. ������ ���� ����� ��������������� ����� �� 1 �� COLOR_PAIRS-1 (0 �������������� ��� ������������ �����������). ��� ��������� ����� ���������� ������� color_set , � ������� ����������� ����� ������ �������� ����.
��������
������ ������ ����� ��������� � ������� ���������� ��������, ������ ��� ��� ������ (������, ������������), �������� � �. �. ��� �������� �������������� ������ �������, ������ ��� ������� �������� �� ������������ �����������.
���� ��� ������� ������������� ���������: ��������� �� ��� ������� ���������� ������� ��� ��������� � ��� ����� ����.
������� ������� ��������������� ��� ������ ������� waddch(win, ch) ��� addch(ch) . ��� ���������� ������� � ��������� � �������������� ��������� ������ ���������� ���. ��������, A_UNDERLINE � ���������������� �������, ���������� �� ������������� �������. ��� ����, ����� ������� � ���� win ������ ‘X’ � �������������� ����� �������:
�������� ��������, ��� �������� ���� ��������� �� ����� ����������� ����, � ��� ����� � � �����. � �� �� ����� ������� «Hello, world!» �� �������, ��������� ��������� �� � ����, � �� ������, �� ������� �� ���������������� ���������� ��������� � ������� wattron .
��� ������ ������� �� stdscr ������������ ������� getch :
�� ��������� ��������� ������ ������������ �� ������. ��������� ����������� ����� �������� noecho .
����� ������� cbreak ��������� getch ��������� ����������� �� ������������ ������ ��������������� ����� ������� �������. � ��������� ������ ���������� ������ �������� � ��������� ������ ����� ����, ��� ����� ������ ������ ����� ������. ����� ������ ��������� � getch �����������, �� �������� FIFO, �� ��� ��� ���� ����� ����� �� ��������.
�� ���������, getch ������� ������� �������. ��� �������, ��������, ����� ����� ������������ ���������� ���������. �������� ��� ��������� ����� � ������� ������� nodelay(stdscr, TRUE) . ����� ��������� ������������ ��� �������� ������ � ������� ����������, ��� ��������� ����������� ������� ������������. ��������:
����� ������� keypad(stdstr, TRUE) , ��������� ������������ ������� ����������� ������, ����� ��� �������, Ctrl ��� Delete, � ����� �� ����������. � ���������� ������� ������������ ����� �����, ������� ����� �������, ���������� � ��������� �����-���� ��������.
� ������� ���� ��������� ���� ������:
��� ������� | �������� |
---|---|
KEY_DOWN | ������� �� ��������� |
KEY_UP | |
KEY_LEFT | |
KEY_RIGHT | |
KEY_HOME | Home |
KEY_BACKSPACE | Backspace |
KEY_F(n) | �������������� ������� � 0 = 63 |
KEY_DC | Delete |
KEY_IC | Insert |
KEY_ENTER | Enter |
���������� � ��������� ������� ������ ����������� ���:
������ �������� �� ���� ����������� ��������
������ ����� ����������� ������ � ������������ ������� � �������� �������:
� ��������� ������ ������ ‘X’ ������������ �� ������ ��������� �� ���������:
������
- ����� �., ������ �. ������ ���������������� � Linux. � ���.: ���-���������, 2009, ����� 6. � �. 253�301. Ncurses Programming Guide by by X. Li. ��� ���� ������� �����������.NCURSES Programming HOWTO, Pradeep Padala. ���, ��� �����. *����������� ������������ ��� Linux, ������� �. ��������. ���������� �� �������.
������� �����
�����������
������� ������
������������ ������������� � ���, ��� � ��� �������: ���� ������, �� ������, ���������� �������������� �������, ���� ��� �������������, ������������ � ���������� ����������. �� � �� ����� �������.
Ncurses �� �������� � ����������
������� ������� �����.
���� �������� ���������� ���� ��� Linux � �������������� ncurses.
�������� � ncurses
������ ����� �������, � ������� «������ ���» ������� ����� ���������� ncurses: #include.
���������� ncurses.h
������������, ��� ����� ��������� ������ ��������� ��� linux? ���� ��� ���� ���������� ncurses.h ��.
�� �������� ����� ����������
�� ���� ��� ������� ��� �� ���������� �������� �������! ��� ����� ��������
��������� �� �������� � ����������
������. � ���� ��������� — ��������������. � ���� ����� ������: ������ ����� � ����� ��������� � .
Copy() �� �������� � ����������
������������! ����� ��������: ������� copy() � Lazarus � ������ �������� ������-�� ��������.
���������� ���������� �� Curses
���������� � ��������� �����������, ���������� � ���������, ��-�������� ����� ��������� � ������� ����������� � ������������ � ����������� �����������. Mutt , irssi , vim , tmux � ������ ������ �������� ������������ � ������������ ������. �� CPAN ���� ������, ����������� ��������� ���������� � ��������� �����������, � ��� ����� ������ Curses , ���������� �������� � ��������������� C-���������� ncurses .
�������
��� ����� ������ ��� � �������� �����/������ ���������� �������������� ������������������� ��������� (Teletype, ��� ���������� TTY), ������� ��������� ������� ����� � ���������� � �������� �� ������ ������ �� ��������, ���������� �� ���. ����� �������� ��� ������ ����������, ��� ������� ������� ���-�����, �� ������� �� ������������� ������� ����� ���� �������� �������. ����� ������ ������������ ���������� ���� DataPoint 3300, ������� ���� �����, ����������� �������� 25 ����� �� 72 �������. �������������, ��� ���� �������� ��� ������ �� ������ ������� TTL-���������, � ���������� ������� ��������� ������ � ��������� ������ ���������� ������� ��������� ����� ����� �� ����������� ������ ���������� ����������������.
��� �������, � ������ ���������� ��� ����������� �����-���� �� UNIX-������ ������������ ��������� ����������. ��� ��������� ��������� ��������� ��������, ���� � ����� ������� ��� ������ � ����������� ���������. �������� ������������ �������� ������� � �������� ���������� �� ������ �� ��������.
���������� ��-����� �� ������ ������� ���� �������� VT100, ��������� ��������� DEC � 1978 �. �������� ����������� � �������������� ������ ����� ���������������� ���������, �������� �������� 80 ��� 132 ������� � ��� � ����������� ��� ��������� �������� �������� ASCII, � ����� ����� ����������� ������������������� (escape-�������������������), ������� ���� ��������������� ANSI � ���� ��������� ECMA-48. Escape-������������������ �������� ��� �������� �� ���� ������� Escape, ������� ��������� ����� �����, ������������ ����������� ������������������. ����������� ������������������ ��������� ����������� ������, ������� �����, �������� ������� �������� ��� ���� ������ �������� ������, �� ������� ���������� ��������� ����������� �������� ���� ���� � �������. ��������, ������������������ ����� ESC[1m ����� ������ ����� ��� ����������� ��������� ��������, � ESC[0m ���������� ��� ������������� ��������.
����������� �������������� ������������� �������� � �� ���������� �� ������ ������� ���� � �������� �������� � ��������� ���������������� �����������. � ������� �� ���������� ����������, � ��������� ���������� � ������� ASCII -�������� ����� ���� ���������� ������� ����, ���������� ����, ���� ��� �������, � ����� ������ � ���� �����.
� ������ ����� ���������� ����� ��������� �������� � ���������� ���� �� ����� ������ ��������. � 1978 �. ���� ����, ��� ������ ��� ��������� ���������� vi ��� Berkeley Unix, ������� ��� ��� ��������� ������ ����� ���������� � ��������� ���������� ��� ��������� termcap, ������� ����� ����� ������ �������� ������������ ���������� � ��������� ������������� ���������, ����������� �� ���� ���������. Termcap ����� ����������� ��������� ������ ������ ���������, ���������� ������������������ escape-����� ��� ����������� ������� � �.�. ����� �� termcap ��������� ���������� terminfo, ������� �������� ���������� ����������� termcap � ����� ������� �������� � �������� ���������. ������ terminfo �������� ������������ ��������������� � UNIX-��������.
� 1980 �. ������� ������������ �������� ���� Rogue, ������� ���� ����� ������ ����� rogue-�������� ���, � ������� ������� �������� ��������� ����������, ��������� � ��������� � ���� ���������. ���� ��� ������ ������������ ��������� �������, ������� ������������ ���������� �������, �������� � ������� ���������� ��������������� ASCII-��������� | � — . ���� �� �������������, ��� �������, ���������� ��� ���� ������ ����������, ������� ���������������� �� ������ � ���������� ����� ���������, ������� ����������� ������� ���� ��� ������ ��������, ������� �� ���� ��� ������ �� ������ � ���������� ������. ���������� �������� �������� curses (����������), ��� �������� ���������� �� �������������� �cursor optimization�. ������������� curses ���� �������� �� termcap. � ������� �� termcap, ������� ���������� �������� ��������� ����� ������ � ��������� ����������, curses ������������� �������� ������� C API.
����� ��������� ���������� pcurses � PDcurses, ������� �������� ���������� �������������� BSD curses. � 1991 �. ������ ��� pcurses ���� ����������, � � 1993 �. ��� ���� ������������� � ncurses, ��� ���� ����������� �� new curses (����� curses), � ����� ����������� � ������ ������� GNU. �� �������� � ncurses ��������� ������� ��� ������ ������ ����������������, � ��� ����� � Perl-������ Curses, ������� ��������� ������������ ���������� � Perl-����������.
������� ������������� ���������� ���������� ������������ ����� ��������� �������������, �� ��� �� ����� �������� ���������� � ���������� ������������ ��� ���� �������� ������� � ����, ��� ���� ������� ��������� ��������� � ���������, ������� ����������� ������������� ������ ������ ����� �������, ��������, X Window. ��� ��������� ���������� ������������ ���������, ���������� ��� ������ � ���������, � � ������ ��������. �������� ���������� ����������� ��������� ��������� � xterm, rxvt, � ����� ����������� gnome-terminal � konsole.
������������� ���������� ���������� � ��������� ����������� ��������� � �� ����������� ����. ����� ���������� ��� top, vim, emacs, mutt, irssi, moc, midnight commander ���������� ������ � ������ �� ������������ ���� ������ ������������. ������������ ���������� ����� �������� ������ ���������������� ����� � ������ ���� �� ����� ������ ���������, ������� ���������� VNC ��� RDP. � � ������� �� ���-�����������, �� ������� �� ������� ������� ���������� ����������� ������ � ������������ ����������� ��� ����, ����� ������������� ��������� ����������� ����������� ���������.
���������� ���������
��������� ����������� ��������� �������� �������� ������������ � ������������ ������� ���������� �� ���������������� ������, �� � UNIX-�������� ������� ��������� �������������� ���� ���������� ���� /dev/tty* . ��������� ������� ���� �������� �� /dev/tty[0..NN] , ���������������� ����� �� /dev/ttyS[0..NN] � �.�. (�������� �������� �������� �� ���������� ���������� UNIX-�������). ��� ������� ������ ���������� ���������� ����������� ��������� �������� ������, ����������� ������������������� � ������ ��������. ������� ��������� ������ ������ ���������� ����� ������� � ������� ������� stty :
��� ���������, ������� ���������� ������ � ����������, �� ��������� � �����-�� ���������� �����������, ��������� ��� ���������� ���������������. � ����������� UNIX-�������� ��� ��������� ��������� �� ������� �������� ���� ���������� ��������������� � �������� ������� devpts, �������� /dev/pts/0 , c ������� ������������� ����������� �������� ����������� �����/������ STDIN , STDOUT � STDERR ����������� ���������� �������� ���������. �������� ��������� ����������, ����� ����� ��� ���������, ����� ����� ������ ������ (���������� ����� � �������� � ������) � ������ ���������. ��� ���������� �� � ��������������� ���������� ��� �������� ������� �������� �� �� � ��������������� ��� �� ����� ������ �������� ���������.
Perl Curses
Perl-������ Curses �������� �������������� �������� � �-���������� ncurses. �� ������������ POD-������������ ����������� ���������� ������, ��� ��������������� ���������� �� Curses , ��������� ���������������, ��� �� ������ ������������ ������������ �� ����� C-���������� ncurses.
������ Curses , �� CPAN ���������� ��� ��������� �������������, ������� ��������� ������������� ���������� � ��������� �����������. ����� �� ���������� Curses , �� ����� ����� ��������������� ���������, ������� ��� ����������. ��� ����� ������ ��� Curses::UI � Curses::Toolkit . ���� ����� ������, ������� ������ �� ��������� � ncurses, ��������, Tickit . ���� �� ���������� �������� ������� ���������� ����������, ��� ����� ������� �������������� ��������� ����, ��������, ����, ����, ������� ��������� ������ �� �������, �� ��� ������, ��������, �������� ������ ����� ��� �������������. ���� �� ����� ������ �������� ������������ ������������ ������ ����������, ���, ��������, � ���������� top , �� ������������� Curses ����� ���� ��������������.
���������� Curses �������� � �������, ������� �������������� � ���� ������������� �������, ������ ������� ������� ������ � �������� �� ������ ��� ������ �������. ������ ���������, ������� (0,0), ����� ����� ������� ���� ������. �� ������ ����� ���� ������ ���� ��� ��������� ���� � ������� � ������������� ��������, ��� ������� ���������� ���� �������� ������.
����� � Curses
��������� ������� ���������� �������������� ������ ���������� � ��������� ������:
initscr � ������� ���������� ����� curses, ������ ���� �� ���������, ���������� ������� ������ � ������������� ������� ������� ������� � ����� ������� ���� (0,0);
cbreak � raw � ������� ��������� �������������� ����, � ���������� ����� �������� ���������� � ������� ��������, ��� ���� raw ����� ������������� � ����������� ��������� ������, ����� ��� Ctrl+C � Ctrl+Z ;
echo � noecho � �������� � ��������� ����� ����, �.�. ����� �� ����� �������� � ���������� ��������.
���������� Curses ����� ��-���������, � ���� ������ ������ ������������� ���� �� ��������� ����� initscr ����� ������������ ����� new :
������ ������� �-���������� ncurses ����� ��������� �������� ����� � ��� �� ������� � ���������� w, mv, � wmv. ������� �������������, ��� ���������� �����-���� �������������� ��������: w � ������ ����, mv � ���������� y, x ������� �������. � Perl-���������� Curses ����� �������� ������� ���� ���������� � ����, �� � ������������� ����������� ���� � ���������:
����� ������� �������� �������� ���������������, � �� ����� ������������ ��� ������ ��� ���������������� � �������������� ��-����������. � ������������ Curses ������� ������ ������ ������� � �������, ����� �� ��� �������� ����������������, � ����� � ���. �� ���� ����������� �������� ����� �������������� ��-���������, ������� ���� ������������ ������ ����� �������, �� ��� ���� �������������, ��� ������� �� �������� ���������������.
���������� ������ ����������, ������� ������� ��������� � ����� ������, ������� ���� ������������ � ��������� ������:
���������� ������ ����. ����� keypad �� ��������� ������ � ��������� �������� ��������� ����������� ������, ����� ��� F1 , F2 � �.�. ����� getmaxyx ��������� ���������� ������������ �������� ��������� �� ������, �.�. ������ �������� ���������. ����� addstr ��������� ������� ������ �� �������� ��������� �����������. ����� refresh ���������� �� ��, ��� �� ������ �� �����. ����� getch ������� ������� ������� � ���������� �������� ������. ������� endwin ��������� ����� curses, ��������� ���������� ���������� ������.
���� � �������
���� � ������� ������������ ��� ����, ����� ���������� ����������� ��� ��������, ������� ����� ���������� ������ ����, � ����� ��� ����, ����� ��������� ���������� ������ ����.
��� �������� ������ ���� ������������ ������� newwin :
��� $rows , $cols � ���������� ������ � ������ ����, � $y , $x � ��������� ���� �� ������.
���� ����� �������������, ��� ���� � ����� ����������� ����� ������������ ������� ���� ����, ������� ���� ��������� ���������. ���� ��������� ������� ���� ������ ������� ����, �� ����� ������������ ������� �������� ������� subwin ��� derwin :
������� subwin � derwin � ���, ��� � derwin ���������� ������� �������� ������������ �������� ������ ���� ������������� ����.
��� �������� ���� ��� ������� ������������ ������� delwin
���� ����� ���������� �� ������ � ������� ������� mvwin ( mvderwin � ��� �������):
�������� ���������� ���� ����� � ������� ������� clear :
���������� ����������� ���������� ������� ���� � ������� ������� box :
��� ������ �������� ���������� ������ ��� ������������ �����, � ������ � ��������������. ���� ������������ �������� 0 (��� undef ), �� ������������ ������� ������ �� ���������.
���� ��������� ������ ��������� ������� ��� ���� ������ � ����� ����, �� ����� ��������������� �������� border :
��������
��� ������� ���������� ������� ����� ���� ����������� ��������, � ��� �����:
- A_BOLD � ����� ���������� �������;
- A_NORMAL � ���������� ����� �������;
- A_DIM � ����� ���������� �������;
- A_UNDERLINE � ������������ �����;
- A_REVERSE � ��������� �����;
- A_BLINK � ��������� �����;
- A_INVIS � ��������� �����.
�� ��� ��������� ������������ ��������� �������� (��� �������, A_NORMAL ��������� � A_DIM , � ��������� �������� ����� ���������� �������� ����������).
���������� ���������� ������� ��� ����� ��������� ����� �������� attron :
����� ���� ��� ������ ������ � ������ ���� �������� ����������� ��������� ��������. ����� ��� ��������� ��������� ����� ������������ ������� attrset , �� ������ ������� ������� ��� ������ ��������, ������� ���� �� ����� �����������:
��� ���������� ����������� ��������� ������������ ������� attroff :
�����
������ ��������� ����� ��������� �����. ��� ����, ����� ����������, ������������ �� �������� ����, ����� ������������ ������� has_colors . ���� ��������� ������ � ��������� ������������, �� ����� ������� � �������� �������� ��������� ���������������� ����� ������� ������� start_color :
��� �������� ������� �� ���� ������ (���� ���� � ���� ������) ������������ ������� init_pair :
���������� ��������� ������� ������ ��� ������ ����� �� ��� �� �������� attron :
�������� ������� ���������� 16 �������, ������ ������� ������ ������ 8, � �������������� ����� ���������� �� ���� ������������� ���������� ������� ( A_BOLD ):
���������� ����������� �������������� ����� ������� ���� � ������� ������� init_color , ������� ��� ��������� �������� ����� ������������� �������� ������������� �������������� ��������, ������� � ������ ������ � ��������� �� 0 �� 1000:
�� ��� ��������� ������������ ����� �����������, ������� ����� ���������� ������ ������� ������� ��������, ������������ �� ����� ����������� � ������� ���������, � ������� ������� can_change_color .
��������� �����
��� ��������� �������� ��������� ������� ������������ ����� getch . � ������ ���� ���� ������������ ��������� ����������� ������ ( F1 , PgUp , PgDown � �.�.) � ������� keypad(1) , �� getch ���������� �������� ��� ����������� �������, ��������, �������� 338 ��� PgDown . ���� �� ��������� ����������� ������ ���������, �� getch() ����� ���� ������ ��� �� escape-������������������ �������.
���� �� ����� ����������� ������ Unicode, �� getch ������������ ���� ������ ���� ������������������. �������������� ��� ��������� Unicode-�������, �������� ���������� ������������� �� ���� ����, ����������� ��� ���������������� ������ getch :
� Curses ���������� ��������� ��� �������������� ������, � ����� ������� KEY_F , ������������ ��� F* -������. �������� �������� ����� ����� � ������������ Curses , ��� ��� ����� ������� KEY_ .
� �-���������� ncursesw, ���� ������� get_wch , ������� ����� ������������ ���� ��������� ��������, ��, � ���������, ��� �� ���������� � Perl-������� Curses .
� ������� ������� halfdelay ����� �������, ����� ����� (� ������� ����� �������) getch ������ ������� ����� �������. ���� ����� ��������� �������� ������� �� ������, getch ����� �������� ERR (-1).
��� ��������� ������ �������� �� ������� �������� ������ (��� EOF ) ����� �������������� ������� getstr :
���������� ��������
�������� ������� ���������� ������� ����� � ������� getyx :
���� ���������� �����-���� ������� ������ �� ����� ��� �������� ���������, �� ����� ������������ ������� � ������� ������� �������. ������ ����� ����������� �� ������ � ������� ������� move :
������� ������
���������� ����������� ������� ������ ��� ��� �����. ��� �������� ���������� ���������� ��� ����������� ���������.
������� clear ������� ���� �������:
������� clrtoeol � clrtobot ������� �����, ������� � ������� ������� ������� �� ����� ������ � ����� ���� ��������������:
������� deleteln � delch ������� ������ � ������ �������������� �� ������� ������� �������:
������� insdelln ��������� ��������� ����� ������ �����, ������� � ������� ������� ������� (��� �������, ���� �������� �������������).
��������� ������� ����
Curses ��������� ������������ �������, ����������� ��� ������������� ����, ����� ��� ������� ������ � ����������� ���������. ����� ������� ��������� �������� ���� ���������� ������ ����� �������, ������� ����� ����������� ���������. �������� ��� � ������� ������� mousemask :
����������� ������� ��������, ������������ �����, ����� �� ��� �� �������� getch . ������� getmouse ��������� �������� ��������� ������������� �������, ���� ������ ���������� �� �������������� ���������� ���� (�� ����� ���� ���������), ����������� ���� � ��� ���������� � ��������������� ���� �������.
��������� ������� ������
��������� �������� ���������� ���������� ����������� ������ ������������ ���� ��������� ���������, �� �� ����� ������ ���������� ����� ����������� ��������� �������� ������, ����� ������������ ����������� ���� ��������� ��� �������� ���������. ��� ���� ������� ���������� ������ SIGWINCH , ������� �������� ��������� ��������� ���������� ���������� �� ��������� ������� ������.
���������� Curses ������������� ���������� ����� ������� � �������� ������������ ������������ ���� ��� ����� ������ ������. ������� �� ������ ��� ����� ���� ��������� ���������, ������� ��� ����������������� ���������� ����������� ����������� �������� ���������� �� ������������ ��������� �������� ������ � ������� getch ���������� �������� KEY_RESIZE :
�� ����� �������������� ���������� ������� SIGWINCH � ���� ����������, ��������� ��� ������� � ���������� ������ ���������� ����� ��������� �������.
������, ���� � �����
� ������ ������� ncurses ���������� �������������� ����������, ����������� ����������� ncurses:
- ������. ������������ ����� ����, ������� ����� ����������� ���� �����, ��� ���� ����� ������� � ����� ������� ������� ������, �.�. ����������� ������ ��������� � �������. ������ ����� ��������, ����������, ���������� ������ � ������.
- ����. ��������� ������������� ������ ����� ���������� ��������� ���� � ���������� �����������.
- �����. ��������� ��������� ��������� �������� ��� ����� ������ � ���� ��������� �����, ������� ����� ��������� � �������������.
��������� �������� ���� ���������� ����� ����� ����� ��� ��� ����� ������, �� ������ ��������, ���� ���������� ������� ��������� �����������, ����� ���������� �� ����� ������ ������������ �� CPAN, ��������, Curses::UI ��� Tickit .
���������������� � ncurses: ������ ���� 0
����������������
������ ���� ������������ 1 ����� 2013 ���� � 12:00, � ��������� ��� ��������� 9 ������ 2015 ���� � 11:49.
�������� ���������� ������ � �������������� ���������� ��������� ���������� �������� ��������� ����������� ncurses: ����������� ����������, �������� �������, ����� ������, ���� � ������� ����. ������������ ������� ���� � �������������.
����������: ��� ������ ���� ������� ������������ � ����������� ������� �Open Source� �� ������� ���������� ������������� � ��������� �� nixp.ru �� ������������ � ���������.
������ ����� �������� �����-������ ���������, �� �������� � ������������ ����������� ����������� �������� ����� Qt ��� GTK, � ������������ �������� ����������� ������ (printf, cout) �� �� ��������. ��� ����? �� ������ �������� ncurses.
� ������������ �������, � ������, ������������ ���������� ��� ��������� curses. ������ � ��������� UNIX-���� ��� ������. �� ����� �������� curses ���������� ������ CRT ��� Pascal, � �������� � ����������� ���� �������������� � ������� (�� ������ ���������) � �����������. �� �������� � �� ��������� �������� ��� ��������� pcurses, � ����� (� 1993 ����) � ncurses (new curses), ������� ������� ���������� ��� ����� ������� GNU (http://www.gnu.org/software/ncurses/ncurses.html). Ncurses ������������ �������� ������� ����������� �������� � ����� ���, ��������, �������� �������� Midnight Commander � ���-������� lynx. ������ ��������� ��� ncurses �������: ��� ���������� �������� � ����� ������������ *nix, � ����� ������� � ��� ������������ �� ������� ���� ��� ������ �����. � �����, ����� ��� ncurses � ����� �� ����!
���������� ncurses � ����� ��������� �� �� ��� �++ ����� ������. ���������� ������������ � ��������� ��������� #include , � ��� ���������� ������� -lncurses ��� ��������:
�������, ����, ����� ���� ����������� ������������ ����� ncurses. � Debian � Ubuntu ����� � ���� ���������� ncurses-dev:
��� ������ ��������, ��� ����� ��� ���� ����, ������ ������������ �����-������ ������� ������ ����� autotools ��� Scons. � ������ ��������� (� ����������� �), � �������� � ���������� ��������� ����� ������� ���� ��� ��������� SConstruct ������ ����������:
������ ��� ������� � ��� �� �������� ������� scons ����� �������������� ��� .cpp-����� � ���������� � ������������ ncurses � ������ ������� (� ������� � �other-libs�). ��� ������ � ��������� ��������� ���� ��������� � ������� root:
��� ������������� ncurses ���� ����� ���������� ��� �������:
1. initscr(); � �������������� ������ � ��������. ��� ������� ��������� �������� ����� ������, ��������� ���������� ��������� ��������� ����������, � ncurses ����� ������� ������ � �����-���� �� ��� ���� ���������� ��� ��������� � ���������������� ��� ����. ����� initscr ���������� ��������� WINDOW *, ������� ����� ����� ������������ � ������ ��������. � ��������� ��������� getyx() ��� ��������� ��������� �������, putwin() ��� ���������� ���� � ����, getwin() ��� ������ ���� �� �����, copywin() ��� ����������� ����������� ������ ���� � ������ ����� ����, initscr() ������� ����.
2. keypad (stdscr, TRUE); � ���� ��� ������� keypad(), �� ������� ������������� ������� ������ ���� F � ���������. stdscr � �����������, ������������ � ncurses ��������� �� ���� ��� ����������. ���� �� ������� keypad � ���������� TRUE, �� ������� ����� getch() ������ ���� ������� ������� ����� ���������� escape-������������������.
3. noecho(); � ���� �������, �� ����������� ������� ������ �� ����� ������������ �� ������ �������������. ��� ���������� �����, ���� �� ������ ���� ������������ ������� �� ������� (��������, ���������� ����������� ���� � ���� ��������).
��������� ������ � ����������� ncurses ������� ������� ������� endwin(), ������� ��������� ��� �������������� ����������� ������� � ������ �������� � ��������� �� ������������� ���������� ����� ����������.
��� ���������� ������� �� ������� � ����� ����� ������������ ������� getch(), � ��� ���������� �� ����������� ���� � wgetch(). ���� �������� �������� ���:
� ���� ������� ����������� ��� ��� ���� ����������� ������� �������: ��������������� �� �������, �� ���� � �� ����������� ���������. ���� ������� noecho() ���������, �� ������� ������� ����� ������������ �� ������, ����� � �� �����.
��� ������ ������ � ������� ���� ����� ���������� ������� printw(), ������� ��������� �� �� ���������, ��� � printf(), �� ���� �� ������ ������������� ����� ��� ������. ��� ����� C++ (std:string) � �������� ��������� ���������� ���� ���������� �� ����� ������� c_str(), �� ����:
��� ������ ������ ��� ������������ ������� �\n� ������ �������� � ������� ������, �� ��������� ���������� �������, ��� ��� ��������� ����� printw() � ���� ������ �������� ������� ������. ������� addch() ������ ��� ������ ������ �������, ����������� � ���������. ����� ����� ������ ��� �������� ���������� (������ ������������� � ���������� � ������� ����������� OR):
������� ������ �� �������� ����������� ����� ���:
�������� ������ � ��� ���� � ����������. ��� ��������� � ��� printw(). ��� ����� �������� ��������?
������� ����� �������� ��������� ������ ncurses, ������� (������ ����� initscr()) �������:
������ �� ��������� ������� �� 8 �������� ������ (COLOR_BLACK, COLOR_RED, COLOR_GREEN, COLOR_YELLOW, COLOR_BLUE, COLOR_MAGENTA, COLOR_CYAN, COLOR_WHITE), � ����� ���������������� ���������� ���������� COLORS � COLOR_PAIRS. ��������, ����� ������ ������ ������� ����, ������, ��� ������� �������� ����� ���������� ������� ������ � �����������, � ������� ������� � ������ � ������� �������.
��� ����� ���� ������� ��� ��� ���������� ��������� �����. ������ ����� �������� ������� ���� ���� � ������ ��� ����, � ������ � ����� ���� ���� � ������ ��� ����:
������ ��������, ��� ���� ������ �� ���������� ���������� ������. ����� ����� ������� � ����� ��� ��������, ������������ �� ������ ��������. ������� ������ �� ��������� ������� ��������� (test.cpp):
��������� ����� ����������������, ������ ������� ������� Enter ������������� ����� ‘\n�, � �� KEY_ENTER. ��� ����� ������� ������. ���� ��� ������������� �������� ������� nonl(), �� ����� ����������� Enter ��� ���:
���� �� �������� nonl(), �� ��� ���:
� ��������� KEY_ENTER ��������� � ����� �������� ������� � �����, �������� �� ������������ ‘\n� � ����� ������ �������� ��� UNIX-������.
���� � ������� ����
��� ����� ��������� �������� � ncurses ������������� ������� scanw(), getstr() � ������. ��������, ����� �������� ������ � ������ str, ����� ��������� ���:
��� ��������� ������� ���� ������� ����� �������� �������������:
����� ����� � ����������� ������� �� ������� ����� ��������� ���:
������ ������ ���������������� ��� ������������� ���������� ncurses. ���������� ����� ��� ��������������� ��������� ��� �������� ���������������� ��������� ���������� �� ������ ncurses: menus (��� ����), panels (��� ������� ��� ������������� ����), forms (��� ����� �����). ������������ ��� � ���������� ��������������:
��� ����� ��� ncurses_mvvline
(no version information, might be only in CVS)
ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long
Description int ncurses_mvvline ( int y, int x, int attrchar, int n )
Внимание | |||||||||||||||||||||||||||||||||||||||||||||||
Внимание | ||||||||||||||||||||||||||||||||||||||||||||||
������� | �������� | ������������ |
---|---|---|
ncurses_init | �������������� ncurses | www.php.net/manual/en/function.ncurses-init.php |
ncurses_newwin | ������ ����� ���� | www.php.net/manual/en/function.ncurses-newwin.php |
ncurses_getmaxyx(resource window, int return Y, int return X); |
���������� � ���������� X � Y ������������ �������� ��������� | � |
ncurses_border | ������ ����� ������ ��������� ���� | www.php.net/manual/en/function.ncurses-border.php |
ncurses_refresh | ��������� �������� ����. ��� ����������� �������������� ���� ����������� ncurses_wrefresh | www.php.net/manual/en/function.ncurses-refresh.php |
ncurses_attron | ��������� ������� � ���������� ������ | www.php.net/manual/en/function.ncurses-attron.php |
ncurses_attroff | ��������� ���������� �������� | www.php.net/manual/en/function.ncurses-attroff.php |
ncurses_mvaddstr | ������� ������ | www.php.net/manual/en/function.ncurses-mvaddstr.php |
ncurses_wborder (resource window, int left, int right, int top, int bottom, int tl_corner, int tr_corner, int bl_corner, int br_corner); |
������ ����� ��� ��������������� ����. | � |
ncurses_wattron(resource window, int attribute) |
��������� ncurses_attron, ������ ����������� ��� ���� window | � |
ncurses_mvwaddstr | �������� ������ �� �������������� ���� | www.php.net/manual/en/function.ncurses-mvwaddstr.php |
ncurses_wattroff (resource window, int attribute) |
��������� ncurses_wattroff, ������ ����������� ��� ���� window | � |
ncurses_wrefresh | �������������� �������������� ����. | www.php.net/manual/en/function.ncurses-wrefresh.php |
ncurses_getch | ��� ����� � ���������� ��� ����. | www.php.net/manual/en/function.ncurses-getch.php |
���������� traceroute
������ �������� ������������� �������� ���������: traceroute � ������� whois-���������� � ������ ������.
���� ������ ��������� traceroute �� zend.com (���� 10 �������) � ���������� ���������� � ����� ����. �� ��������� ����� ���������� � ������� �������. ��� ������� �� enter ���������� � ������ ip ����� �������� � ������ ����. �� ������� �� esc ��������� ���������� ������ ���������.
� ����������
���� ���������� ��� �������� ����� � ����� ��������� ����� ��� ������ ���������� � �������������� ncurses.
�� �� ������������� ������������� ����, ������ � ������ ������ ������� ������.
�������� �� ��������� ����� ������� ��� ������������� ���� ���������� ������. � �������� ������ ��������� ��� ��� �������, ������� �������� �������� ����. �� ������ �������� � ��� �������� �������, ��������� ���������� ��� ���-������ ���.
ncurses_mvvline
(PHP 4 >= 4.2.0, PHP 5 = 1.0.0)
ncurses_mvvline � Set new position and draw a vertical line using an attributed character and max. n characters long
Description
This function is EXPERIMENTAL. The behaviour of this function, its name, and surrounding documentation may change without notice in a future release of PHP. This function should be used at your own risk.
This function is currently not documented; only its argument list is available.
��� ����� ��� ncurses_mvvline
(no version information, might be only in CVS)
ncurses_mvvline — Set new position and draw a vertical line using an attributed character and max. n characters long
Description int ncurses_mvvline ( int y, int x, int attrchar, int n )
Внимание |
Внимание |