Книга: Разработка приложений в среде Linux. Второе издание
24.2.7. Запись на экран
24.2.7. Запись на экран
Записать строки на экран под управлением S-Lang можно несколькими различными способами, суть которых одинакова. Далее приводится полный список функций, предназначенных для этой цели.
void SLsmg_write_char(char ch);
void SLsmg_write_string(char * str);
void SLsmg_write_nchars(char * chars, int length);
void SLsmg_write_nstring(char * str, int length);
void SLsmg_printf(char * format, ...);
void SLsmg_vprintf(char * format, va_list args);
void SLsmg_write_wrapped_string(char * str, int row, int column, int height,
int width, int fill);
Каждая из этих функций, за исключением SLsmg_write_wrapped_string()
, записывает требуемую строку в буфер экрана[170] в текущую позицию курсора, используя текущий цвет и набор символов. Однако все они по-разному определяют, какую строку необходимо записать. После того как информация будет записана, курсор переместится в конец выделенной для этого области, как и на обычном терминале. Любая строка, выходящая за пределы правого края экрана, усекается, а не переносится на другую строку. Хотя этот способ отличается от обычного вывода на терминал, он подходит для большинства полноэкранных приложений, в которых текст, переводимый на новую строку, искажает содержимое экрана.
SLsmg_write_char() |
Среди всех функций вывода данных на экран это самая простая функция. Она записывает передаваемый символ в текущую позицию курсора и перемещает курсор. |
SLsmg_write_string() |
Выводит на экран передаваемую ей строку. |
SLsmg_write_nchars() |
Выводит на экран символы length , на которые указывает chars . Символ конца строки NULL игнорируется — если он будет найден, выводится комбинация '' и подпрограмма продолжает работу после окончания строки. |
SLsmg_write_nstring() |
Выводит на экран не более length символов из str . Если str содержит менее length символов, оставшееся пространство заполняется пробелами. |
SLsmg_printf() |
Как можно судить из имени функции, она работает подобно стандартной функции printf() , форматируя первый аргумент, а остальные аргументы используются в качестве параметров для форматирования. После этого на экран выводится сформатированная строка. |
SLsmg_vprintf() |
Подобно функции vfprintf() из библиотеки С. Эта функция ожидает получение аргумента va_arg , который она использует для форматирования первого параметра. Затем на экран выводится сформатированная строка. |
SLsmg_write_wrapped_string() |
Хотя S-Lang отсекает строки, а не переносит их на следующие строки, она предлагает простую функцию для записи строк, перенесенных в произвольную прямоугольную область экрана. Функция SLsmg_write_wrapped_string() записывает строку str в прямоугольную область, которая начинается в row и column и имеет размеры height и width . Несмотря на то что эта подпрограмма осуществляет перенос границ слов, последовательность n указывает на необходимость перехода на следующую строку. Если последний параметр fill имеет ненулевое значение, то каждая строка будет заполнена по всей ширине прямоугольной области, а при необходимости будут добавляться пробелы. |
- 24.2.1. Инициализация управления экраном
- 24.2.2. Обновление экрана
- 24.2.3. Перемещение курсора
- 24.2.4. Завершение управления экраном
- 24.2.5. Скелет программы управления экраном
- 24.2.6. Переключение наборов символов
- 24.2.7. Запись на экран
- 24.2.8. Рисование линий и прямоугольников
- 24.2.9. Использование цвета
- Как настроить учетную запись?
- Рисование на экране
- Не могу войти в систему под учетной записью администратора, поскольку среди имен пользователей, отображаемых на экране п...
- Инструмент Видеозапись экрана
- Инструмент Запись с экрана
- 10.6. Гостевые учетные записи
- 12.5.2. Системные текстовые журналы
- Управление ролями с помощью программы SQL Server Enterprise Manager
- Глава 3 Работа с ПО интерактивной доски Interwrite Board
- Глава 6 Работа с ПО интерактивной доски Hitachi StarBoard
- Перенаправление ввода
- Как работает голосовая связь через ICQ?