Новые книги

Master the fundamental concepts of real-time embedded system programming and jumpstart your embedded projects with effective design and implementation practices. This book bridges the gap between higher abstract modeling concepts and the lower-level programming aspects of embedded systems development. You gain a solid understanding of real-time embedded systems with detailed practical examples and industry wisdom on key concepts, design processes, and the available tools and methods.

Delve into the details of real-time programming so you can develop a working knowledge of the common design patterns and program structures of real-time operating systems (RTOS). The objects and services that are a part of most RTOS kernels are described and real-time system design is explored in detail. You learn how to decompose an application into units and how to combine these units with other objects and services to create standard building blocks. A rich set of ready-to-use, embedded design “building blocks” is also supplied to accelerate your development efforts and increase your productivity.

Experienced developers new to embedded systems and engineering or computer science students will both appreciate the careful balance between theory, illustrations, and practical discussions. Hard-won insights and experiences shed new light on application development, common design problems, and solutions in the embedded space. Technical managers active in software design reviews of real-time embedded systems will find this a valuable reference to the design and implementation phases.

Qing Li is a senior architect at Wind River Systems, Inc., and the lead architect of the company’s embedded IPv6 products. Qing holds four patents pending in the embedded kernel and networking protocol design areas. His 12+ years in engineering include expertise as a principal engineer designing and developing protocol stacks and embedded applications for the telecommunications and networks arena. Qing was one of a four-member Silicon Valley startup that designed and developed proprietary algorithms and applications for embedded biometric devices in the security industry.

Caroline Yao has more than 15 years of high tech experience ranging from development, project and product management, product marketing, business development, and strategic alliances. She is co-inventor of a pending patent and recently served as the director of partner solutions for Wind River Systems, Inc.

About the Authors
Эта книга полностью обновлена и тщательно пересмотрена. Она является необходимым пособием для руководителей информационных служб, технических консультантов и системных администраторов R/3, которые хотят иметь полное представление об администрировании Basis.

Знания, полученные "из первых рук" от различных специалистов SAP Global Support, работавших над реализацией более 20000 систем R/3, служат основой этой книги, которая научит выполнять все критически важные задачи системного администрирования с оптимальной эффективностью. Она учит быстро принимать правильные решения в сложных ситуациях, используя рекомендации экспертов и ценные рекомендации из реального мира, которые делают это уникальное пособие необходимым для повседневного использования.

Кроме всего прочего, эта книга является ценным источником, помогающим подготовиться к экзамену СТС (Certified Technical Consultant) no R/3 Release 4.6C и Enterprise.

В руководстве рассмотрены:

# Настройка системной инфраструктуры.

# Администрирование клиента.

# Пользователи и полномочия.

# Фоновая обработка.

# Архивирование данных.

# Администрирование спула.

# Обслуживание инстанций.

# Системный мониторинг.

И многое другое.

Функции Управления Экраном Терминала Ncurses

Учебник РНР
Назад Вперёд

LXVII. Функции управления экраном терминала Ncurses

Предупреждение!

Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, имена его функций и всё, что задокументировано, может измениться в последующих релизах РНР без предупреждения. Вы предупреждены и можете использовать это расширение только под вашу ответственность.

Что такое ncurses?

ncurses (new curses/новые курсы) это свободная программная эмуляция курсов в System V Rel 4.0 (и выше). Она использует формат terminfo, поддерживает заполнения, цвета, множественную подсветку/highlights, отображение символов формы и ключей функций.

Платформы

Ncurses имеется для следующих платформ:

  • AIX

  • BeOS

  • Cygwin

  • Digital Unix (aka OSF1)

  • FreeBSD

  • GNU/Linux

  • HPUX

  • IRIX

  • OS/2

  • SCO OpenServer

  • Solaris

  • SunOS

Требования

Вам необходимы библиотеки и header-файлы ncurses. Загрузите последнюю версию с ftp://ftp.gnu.org/pub/gnu/ncurses/ или с другого зеркала GNU.

Установка

Чтобы эти функции работали, вы должны скомпилировали CGI-версию PHP с опцией --with-ncurses.

Предопределённые константы Ncurses

Коды ошибок

При ошибке ncurses-функции возвращают NCURSES_ERR.

Цвета

Таблица 1. Константы цветов ncurses
константазначение
NCURSES_COLOR_BLACKнет цвета (чёрный)
NCURSES_COLOR_WHITE белый
NCURSES_COLOR_REDкрасный - поддерживается, если терминал находится в режиме color
NCURSES_COLOR_GREENзелёный - поддерживается, если терминал находится в режиме color
NCURSES_COLOR_YELLOWжёлтый - поддерживается, если терминал находится в режиме color
NCURSES_COLOR_BLUEсиний - поддерживается, если терминал находится в режиме color
NCURSES_COLOR_CYANcyan - поддерживается, если терминал находится в режиме color
NCURSES_COLOR_MAGENTAmagenta - поддерживается, если терминал находится в режиме color

Клавиши

Таблица 2. Константы клавиш ncurses
константазначение
NCURSES_KEY_F0 - NCURSES_KEY_F64 функциональные клавиши F1 - F64
NCURSES_KEY_DOWNстрелка вниз
NCURSES_KEY_UPстрелка вверх
NCURSES_KEY_LEFTстрелка влево
NCURSES_KEY_RIGHTстрелка вправо
NCURSES_KEY_HOMEклавиша home (upward+left arrow)
NCURSES_KEY_BACKSPACEbackspace
NCURSES_KEY_DLудалить строку
NCURSES_KEY_ILвставить строку
NCURSES_KEY_DCудалить символ
NCURSES_KEY_ICвставить символ или войти в режим insert/вставки
NCURSES_KEY_EICвыйти из режима вставки символов
NCURSES_KEY_CLEARочистить экран
NCURSES_KEY_EOSочистить до конца экрана
NCURSES_KEY_EOL очистить до конца строки
NCURSES_KEY_SFпрокрутить вперёд на одну строку
NCURSES_KEY_SRпрокрутить назад на одну строку
NCURSES_KEY_NPAGE следующая страница
NCURSES_KEY_PPAGEпредыдущая страница
NCURSES_KEY_STABустановить tab/табуляцию
NCURSES_KEY_CTABочистить tab
NCURSES_KEY_CATABочистить все tabs
NCURSES_KEY_SRESETмягкий (частичный) reset
NCURSES_KEY_RESETreset (или жёсткий reset)
NCURSES_KEY_PRINT print
NCURSES_KEY_LLlower left/самая нижняя левая
NCURSES_KEY_A1 upper left цифрового блока
NCURSES_KEY_A3upper right цифрового блока
NCURSES_KEY_B2center цифрового блока
NCURSES_KEY_C1lower left цифрового блока
NCURSES_KEY_C3lower right цифрового блока
NCURSES_KEY_BTAB back tab
NCURSES_KEY_BEGначало
NCURSES_KEY_CANCEL cancel
NCURSES_KEY_CLOSEclose
NCURSES_KEY_COMMAND cmd (command/команда)
NCURSES_KEY_COPYcopy
NCURSES_KEY_CREATE create
NCURSES_KEY_ENDend
NCURSES_KEY_EXITexit
NCURSES_KEY_FINDfind
NCURSES_KEY_HELPhelp
NCURSES_KEY_MARK mark
NCURSES_KEY_MESSAGEmessage
NCURSES_KEY_MOVE move
NCURSES_KEY_NEXTnext
NCURSES_KEY_OPENopen
NCURSES_KEY_OPTIONSопции
NCURSES_KEY_PREVIOUSprevious
NCURSES_KEY_REDOredo
NCURSES_KEY_REFERENCEref (reference)
NCURSES_KEY_REFRESHrefresh
NCURSES_KEY_REPLACEreplace
NCURSES_KEY_RESTARTrestart
NCURSES_KEY_RESUMEresume
NCURSES_KEY_SAVEsave
NCURSES_KEY_SBEGshiftet beg (beginning)
NCURSES_KEY_SCANCELshifted cancel
NCURSES_KEY_SCOMMANDshifted command
NCURSES_KEY_SCOPYshifted copy
NCURSES_KEY_SCREATEshifted create
NCURSES_KEY_SDCshifted delete char
NCURSES_KEY_SDLshifted delete line
NCURSES_KEY_SELECTselect
NCURSES_KEY_SENDshifted end
NCURSES_KEY_SEOLshifted end of line
NCURSES_KEY_SEXITshifted exit
NCURSES_KEY_SFINDshifted find
NCURSES_KEY_SHELPshifted help
NCURSES_KEY_SHOMEshifted home
NCURSES_KEY_SICshifted input
NCURSES_KEY_SLEFTshifted left arrow
NCURSES_KEY_SMESSAGEshifted message
NCURSES_KEY_SMOVEshifted move
NCURSES_KEY_SNEXTshifted next
NCURSES_KEY_SOPTIONSshifted options
NCURSES_KEY_SPREVIOUSshifted previous
NCURSES_KEY_SPRINTshifted print
NCURSES_KEY_SREDOshifted redo
NCURSES_KEY_SREPLACEshifted replace
NCURSES_KEY_SRIGHTshifted right arrow
NCURSES_KEY_SRSUMEshifted resume
NCURSES_KEY_SSAVEshifted save
NCURSES_KEY_SSUSPENDshifted suspend
NCURSES_KEY_UNDOundo
NCURSES_KEY_MOUSEmouse event has occured
NCURSES_KEY_MAXmaximum key value

Мышь

Таблица 3. mouse-константы
константазначение
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED кнопка (1-4) отпущена
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED кнопка (1-4) нажата
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED кнопка (1-4) щёлкнула
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED кнопка (1-4) дважды щёлкнула
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED кнопка (1-4) трижды щёлкнула
NCURSES_BUTTON_CTRLctrl нажата при щелчке
NCURSES_BUTTON_SHIFTshift нажата при щелчке
NCURSES_BUTTON_ALT alt нажата при щелчке
NCURSES_ALL_MOUSE_EVENTSсообщает обо всех событиях мыши
NCURSES_REPORT_MOUSE_POSITIONсообщает о позиции мыши
Содержание
ncurses_addch - добавляет символ в текущей позиции и продвигает курсор вперёд
ncurses_addchnstr - добавляет атрибуированную строку со специфицированной длиной в текущей позиции
ncurses_addchstr - добавляет атрибуированную строку в текущей позиции
ncurses_addnstr - добавляет строку со специфицированной длиной в текущей позиции
ncurses_addstr - выводит текст в текущей позиции
ncurses_assume_default_colors - определяет цвет по умолчанию для цвета 0
ncurses_attroff - отключает данный атрибут
ncurses_attron - включает данный атрибут
ncurses_attrset - устанавливает данные атрибуты
ncurses_baudrate - возвращает baudrate терминала
ncurses_beep - разрешает терминалу подать сигнал
ncurses_bkgd - устанавливает свойство background экрана терминала
ncurses_bkgdset - управляет фоном экрана
ncurses_border - рисует рамку вокруг экрана с использованием атрибуированных символов
ncurses_can_change_color - проверяет, можем ли мы изменить цвета терминала
ncurses_cbreak - отключает буферизацию ввода
ncurses_clear - очищает экран
ncurses_clrtobot - очищает экран от текущей позиции до низа
ncurses_clrtoeol - очищает экран от текущей позиции до конца строчки
ncurses_color_set - устанавливает цвета переднего плана и фона
ncurses_curs_set - устанавливает статус курсора
ncurses_def_prog_mode - сохраняет режим терминала (программы)
ncurses_def_shell_mode - сохраняет режим терминала (оболочки/shell)
ncurses_define_key - определяет keycode/код клавиши
ncurses_delay_output - задерживает вывод на терминал, используя заполняющие символы
ncurses_delch - удаляет символ в текущей позиции, остаток строки сдвигается влево
ncurses_deleteln - удаляет строчку в текущей позиции, остаток экрана сдвигается вверх
ncurses_delwin - удаляет ncurses-окно
ncurses_doupdate - записывает все подготовленные обновления в терминал
ncurses_echo - активирует отображение ввода с клавиатуры
ncurses_echochar - вывод одного символа, включая обновление
ncurses_end - останавливает использование ncurses, очищает экран
ncurses_erase - стирает экран терминала
ncurses_erasechar - возвращает текущий удалённый символ
ncurses_filter -
ncurses_flash - вспышка на экране терминала (визуальный сигнал)
ncurses_flushinp - очищает буфер клавиатурного ввода
ncurses_getch - читает символ с клавиатуры
ncurses_getmouse - читает событие от мыши
ncurses_halfdelay - переводит терминал в режим halfdelay
ncurses_has_colors - проверяет, имеет ли терминал цвета
ncurses_has_ic - проверяет возможность вставки/удаления
ncurses_has_il - проверяет возможность вставки/удаления
ncurses_has_key - проверяет существование функциональной клавиши на клавиатуре терминала
ncurses_hline - рисует горизонтальную линию в текущей позиции, используя атрибуированный символ и max. n длину символов
ncurses_inch - получает символ и атрибут в текущей позиции
ncurses_init_color - устанавливает новое RGB-значение цвета
ncurses_init_pair - размещает цветовую пару
ncurses_init - инициализирует ncurses
ncurses_insch - вставляет символ, перемещая остаток строки, включая символ в текущей позиции
ncurses_insdelln - вставляет строчки перед текущей строчкой, прокручивая вниз (отрицательные числа удаляют и прокручивают вверх)
ncurses_insertln - вставляет строчку, перемещая остаток экрана вниз
ncurses_insstr - вставляет string в текущей позиции, перемещая остаток строчки вправо
ncurses_instr - читает строчку с экрана терминала
ncurses_isendwin - Ncurses находится в режиме endwin, может выполняться нормальный вывод экрана
ncurses_keyok - включает или отключает keycode/код клавиши
ncurses_killchar - возвращает kill-символ текущей строки
ncurses_longname - возвращает описание терминала
ncurses_mouseinterval - устанавливает timeout для щелчка кнопки мыши
ncurses_mousemask - устанавливает опции мыши
ncurses_move - переводит позицию вывода
ncurses_mvaddch - переводит текущую позицию и добавляет символ
ncurses_mvaddchnstr - переводит позицию и добавляет атрибуированную строку специфицированной длины
ncurses_mvaddchstr - переводит позицию и добавляет атрибуированную строку
ncurses_mvaddnstr - переводит позицию и добавляет строку со специфицированной длиной
ncurses_mvaddstr - переводит позицию и добавляет строку
ncurses_mvcur - переводит курсор немедленно
ncurses_mvdelch - переводит позицию и удаляет символ, сдвигая остаток строчки влево
ncurses_mvgetch - переводит позицию и получает символ в новой позиции
ncurses_mvhline - устанавливает новую позицию рисует горизонтальную линию, используя трибуированный символ и max. n длину символов
ncurses_mvinch - переводит позицию и получает атрибуированный символ в новой позиции
ncurses_mvvline - устанавливает новую позицию и рисует вертикальную линию, используя атрибуированный символ и max. n длину символов
ncurses_mvwaddstr - добавляет строку в новой позиции в окне
ncurses_napms - Sleep
ncurses_newwin - создаёт новое окно
ncurses_nl - транслирует newline и carriage return / line feed
ncurses_nocbreak - переключает терминал в режим cooked
ncurses_noecho - отключает отображение ввода с клавиатуры
ncurses_nonl - не транслировать newline и carriage return / line feed
ncurses_noqiflush - не зачищает сигнальные символы
ncurses_noraw - отключает терминал от режима raw
ncurses_putp -
ncurses_qiflush - зачищает сигнальные символы
ncurses_raw - переключает терминал в режим raw
ncurses_refresh - обновляет экран
ncurses_resetty - восстанавливает сохранённый статус терминала
ncurses_savetty - сохраняет статус терминала
ncurses_scr_dump - выполняет дамп содержимого экрана в файл
ncurses_scr_init - инициализирует экран из дампа файла
ncurses_scr_restore - восстанавливает экран из дампа файла
ncurses_scr_set - наследует экран из дампа файла
ncurses_scrl - прокручивает содержимое окна верх или вниз без изменения текущей позиции
ncurses_slk_attr - возвращает ключевой атрибут текущей soft-метки/label
ncurses_slk_attroff -
ncurses_slk_attron -
ncurses_slk_attrset -
ncurses_slk_clear - очищает soft-метки с экрана
ncurses_slk_color - устанавливает цвет для ключей soft-меток
ncurses_slk_init - инициализирует soft label key-функции
ncurses_slk_noutrefresh - копирует soft label ключи в виртуальный экран
ncurses_slk_refresh - копирует soft label ключи в экран
ncurses_slk_restore - восстанавливает soft label keys
ncurses_slk_touch - форсирует вывод при выполнении ncurses_slk_noutrefresh
ncurses_standend - останавливает использование атрибута 'standout'
ncurses_standout - стартует использование атрибута 'standout'
ncurses_start_color - стартует использование цветов
ncurses_termattrs - возвращает логическое ИЛИ всех флагов атрибутов, поддерживаемых терминалом
ncurses_termname - возвращает (short)-имя терминала
ncurses_timeout - устанавливает timeout для специальных последовательностей клавиш
ncurses_typeahead - специфицирует другой filedescriptor для проверки typeahead
ncurses_ungetch - помещает символ обратно в поток ввода
ncurses_ungetmouse - проталкивает событие от мыши в очередь/queue
ncurses_use_default_colors - присваивает цвета по умолчанию color id -1
ncurses_use_env - управляет использованием информации окружения о размере терминала
ncurses_use_extended_names - управляет использованием расширенных имён в описаниях terminfo
ncurses_vidattr -
ncurses_vline - рисует вертикальную линию в текущей позиции, используя атрибуированный символ и max. n длину символов
ncurses_wrefresh - обновляет окно экрана терминала

Назад Оглавление Вперёд
syslog Вверх ncurses_addch