Ряд st - имя вашего .bmp-файла, в который будет записана биткарта.
Индикатор результата операции i может принимать одно из следующих значений:
global constant BMP_SUCCESS = 0,-- успех операции
BMP_OPEN_FAILED = 1,-- файл не открылся на запись
BMP_INVALID_MODE = 4 -- неверный графический формат
-- или неверный аргумент
Комментарии:
save_screen() вырабатывает биткарты с 2, 4, 16, или 256 цветами, которые могут быть прочитаны с помощью read_bitmap(). Программа Paintbrush из пакета Windows и некоторые другие графические редакторы не поддерживают 4-х цветные биткарты.
save_screen() работает только в пиксельно-графических режимах, но не в текстовых.
Пример 1:
-- записывается весь экран:
code = save_screen(0, "c:\\example\\a1.bmp")
Пример 2:
-- записывается часть экрана:
err = save_screen({{0,0},{200, 15}}, "b1.bmp")
См. также:
save_image, read_bitmap, save_bitmap
save_text_image
Синтаксис:
include image.e
s3 = save_text_image(s1, s2)
Описание:
Записывает в ряд прямоугольную область экрана в текстовом режиме. Результатом будет ряд рядов, содержащий символы ASCII и их атрибуты с экрана. Вы сможете затем перевывести этот текст с помощью процедуры display_text_image(). s1 является двухэлементным рядом вида {строка1, колонка1}, в котором определена позиция (знакоместо) верхнего левого символа. s2 - ряд вида {строка2, колонка2}, определяющий позицию (знакоместо) правого нижнего символа.
Комментарии:
Поскольку сохраняются и атрибуты, вы будете получать правильные цвета фона, символов и другие свойства для каждого символа при перевыводе сохранённого текста.
Под DOS32 байт атрибута состоит из двух 4-битных полей, в которых содержится информация о цвете фона и символа для каждого знакоместа. Старшие 4 бита определяют цвет фона, а младшие 4 бита дают цвет символа на этом фоне.
Эта подпрограмма работает только в текстовых режимах.
Вы можете использовать эту функцию в графическом пользовательском интерфейсе текстового режима для сохранения участков экрана перед выводом выпадающих меню, диалогов, предупреждений и других элементов управления.
Под DOS32, если вы применяете чередование видеостраниц, имейте в виду, что данная функция производит чтение с текущей активной страницы.
Пример:
Если на двух верхних строках экрана имеется:
Hello
World
и вы исполните:
s = save_text_image({1,1}, {2,5})
тогда s будет иметь вид:
{"H-e-l-l-o-",
"W-o-r-l-d-"}
символ '-' здесь обозначает некие байты атрибутов.
См. также:
display_text_image, save_image, set_active_page, get_screen_char
scroll
Синтаксис:
include graphics.e
scroll(i1, i2, i3)
Описание:
Прокручивает участок текста на экране вверх (если i1 положительное) или вниз (если i1 отрицательное) на i1 строк. Участок текста - это последовательность строк на экране от i2 (верхняя строка) до i3 (нижняя строка) включительно. Сверху или снизу будут появляться новые пустые строки.
Комментарии:
Вы могли бы выполнять прокручивание экрана, используя серии вызовов puts(), но scroll() работает намного быстрее.
Позиция курсора после прокрутки не определена.
Пример программы:
bin\ed.e x
См. также:
clear_screen, text_rows
seek
Синтаксис:
include file.e
i1 = seek(fn, a1)
Описание:
Переход на позицию байта с номером a1 в файле fn или в конец файла, если a1 равно -1. Для каждого из открытых файлов у системы имеется информация о текущей байтовой позиции, которая обновляется в результате выполнения на файле операций ввода/вывода. Начальная позиция равна 0 для файлов, открытых на чтение, запись или обновление. Начальная позиция равна концу файла для файлов, открытых на добавление. Величина i1, выдаваемая функцией seek(), равна 0, если переход в заданную позицию завершился успешно, и не равна 0, если переходу что-то помешало. Возможен переход за границу имеющегося файла, в некоторую позицию за его концом. Если вы перешли за конец файла и записываете данные, в зазор между имевшимся концом файла и вашими новыми данными будут вставлены неопределённые байты.
Комментарии:
После перехода в заданную позицию и чтения(записи) последовательности байтов вам может потребоваться новый явный вызов seek() непосредственно перед переключением на запись(чтение) байтов, даже если позиция в файле уже была именно та, которая вам необходима.
Эта функция обычно используется с файлами, открытыми в двоичном режиме. В текстовом режиме DOS преобразует CR LF в LF на входе, и LF в CR LF на выходе, что может вызывать великую путаницу, когда вы пытаетесь подсчитывать байты.
Читать дальше