Читаем Язык программирования Euphoria. Справочное руководство полностью

Ряд s2 может быть результатом предшествовавшего вызова save_image() или вызова read_bitmap(), или тем, что секундой ранее вы рисовали в своем воображении.

Ряды (строчки) изображения могут быть разной длины.

Пример:

display_image({20,30}, {{7,5,9,4,8},

{2,4,1,2},

{1,0,1,0,4,6,1},

{5,5,5,5,5,5}})

-- Процедура выведет на экран небольшое изображение, состоящее

-- из 4-х горизонтальных рядов пикселов. Первый пиксел (цвет номер 7)

-- будет включен в точке {20,30}. Верхний ряд состоит из 5 пикселов.

-- Последний (нижний) ряд состоит из 6 пикселов цвета номер 5

-- и заканчивается в точке {25,33}.

Пример программы:

demo\dos32\bitmap.ex

См. также:

save_image, read_bitmap, display_text_image

display_text_image

Синтаксис:

include image.e

display_text_image(s1, s2)

Описание:

Выводит на экран 2-мерный ряд символов c заданными атрибутами, начиная с заданной экранной позиции. Аргумент s1 является двухэлементным рядом, содержащим координаты начальной экранной позиции - строка s1[1], колонка s1[2]. Аргумент s2 состоит из вложенных рядов, каждый из которых является строкой выводимых символов и их атрибутов. Верхний левый символ выводится в позиции s1. Другие символы появляются правее и ниже этой позиции. Атрибут следует за символом и своим кодом указывает цвет символа и цвет фона на котором символ должен быть отображён. Под DOS32 атрибут представляет собой сумму номера цвета и умноженного на 16 номера цвета фона.

Комментарии:

Ряд s2 обычно будет результатом предшествующего вызова функции save_text_image(), хотя вы можете сконструировать этот ряд и сами.

Данная процедура работает только в текстовых экранных режимах.

Пара подпрограмм save_text_image() и display_text_image() пригодится вам для организации в текстовом режиме графического пользовательского интерфейса с всплывающими диалогами и выпадающими меню, которые появляются и исчезают без потери того, что было на экране до них.

Строки текстового изображения могут иметь разную длину.

Пример:

clear_screen()

display_text_image({1,1}, {{'A', WHITE, 'B', GREEN},

{'C', RED+16*WHITE},

{'D', BLUE}})

-- начиная с верхнего левого угла экрана, выводится:

AB

C

D

-- 'A' - белого цвета на чёрном (0) фоне,

-- 'B' - зелёного цвета на чёрном фоне,

-- 'C' - красного цвета на белом фоне и

-- 'D' - синего цвета на чёрном фоне.

См. также:

save_text_image, display_image, put_screen_char

dos_interrupt

Платформа:

DOS32

Синтаксис:

include machine.e

s2 = dos_interrupt(i, s1)

Описание:

Вызывает программное прерывание DOS номер i. Аргумент s1 является 10-элементным рядом 16-битных значений, заносимых в регистры процессора перед входом в процедуру прерывания. Ряд s2 аналогичен 10-элементному ряду s1, в нем будут содержаться значения регистров после выхода из процедуры прерывания. В файле machine.e имеется следующее объявление констант, из которого ясно расположение значений регистров во входном и выходном рядах s1 и s2:

global constant REG_DI = 1,

REG_SI = 2,

REG_BP = 3,

REG_BX = 4,

REG_DX = 5,

REG_CX = 6,

REG_AX = 7,

REG_FLAGS = 8,

REG_ES = 9,

REG_DS = 10

Комментарии:

Значения регистров, выдаваемые в s2, всегда являются положительными целыми числами между 0 и #FFFF (65535).

Значения флагов в s1[REG_FLAGS] на входе игнорируются. На выходе младший значащий бит в s2[REG_FLAGS] соответствует флагу состояния, который обычно указывает на неудачу, если он установлен в 1.

Некоторые прерывания требуют, чтобы вы указывали адреса участков памяти. Эти адреса должны относиться к стандартной (нижней) памяти. Вы можете подготовить/освободить нижнюю память с помощью функций allocate_low() и free_low().

С программными прерываниями DOS вы имеете доступ ко всему широкому кругу специализированных операций, любых, от форматирования вашего флоппи-диска до перезагрузки компьютера. Документацию по этим прерываниям можно найти в книге Питера Нортона "Библия программиста PC", или в файле "Список прерываний" на странице Web Ральфа Брауна по адресу:

http://www.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/WWW/files.html

Пример:

sequence registers

registers = repeat(0, 10) -- установка значений регистров не требуется

Перейти на страницу:

Все книги серии Euphoria

Язык программирования Euphoria. Справочное руководство
Язык программирования Euphoria. Справочное руководство

Euphoria (юфо'ри, также рус. эйфори'я, ра'дость) — язык программирования, созданный Робертом Крейгом (Rapid Deployment Software) в Канаде, Торонто. Название Euphoria — это акроним для «End-User Programming with Hierarchical Objects for Robust Interpreted Applications».Euphoria — интерпретируемый императивный язык высокого уровня общего назначения. C помощью транслятора из исходного кода на Euphoria может быть сгенерирован исходный код на языке Си, который в свою очередь может быть скомпилирован в исполнияемый файл или динамическую библиотеку при помощи таких компиляторов, как GCC, OpenWatcom и др. Программа Euphoria также может быть «связана» с интерпретатором для получения самостоятельного исполняемого файла. Поддерживается несколько GUI-библиотек, включая Win32lib и оберток для wxWidgets, GTK+ и IUP. Euphoria имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.[Материал из Википедии]

Коллектив авторов

Программирование, программы, базы данных

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных