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

3. Использование ряда, состоящего из номеров подпрограмм, для создания команды переключения по условиям.

4. Установка объектно-ориентированной системы.

5. Обеспечение работы с call_back() - см. platformr.doc.

Обратите внимание, что функции Си, вызов которых возможен в Euphoria, также имеют свои номера подпрограммы - см. define_c_proc() и define_c_func().

Пример 1:

procedure foo()

puts(1, "Hello World\n")

end procedure

integer foo_num

foo_num = routine_id("foo")

call_proc(foo_num, {}) -- то же самое, что и вызов foo()

Пример 2:

function apply_to_all(sequence s, integer f)

-- функция применяется ко всем элементам ряда

sequence result

result = {}

for i = 1 to length(s) do

-- мы уже можем предусмотреть здесь вызов, например,

-- add1() через некоторый, пока неизвестный, номер f,

-- хотя определение самой add1() и численное значение

-- номера f появятся по ходу программы позже

result = append(result, call_func(f, {s[i]}))

end for

return result

end function

function add1(atom x)

return x + 1

end function

-- функция add1() теперь видна, поэтому мы можем запросить

-- для неё номер подпрограммы, который подаётся затем в

-- ранее определённую функцию apply_to_all(), которая,

-- на момент её определения, ещё ничего "не знала" о функции

-- add1(), но уже предусматривала вызов некой, неизвестной

-- тогда, функции по её номеру f.

? apply_to_all({1, 2, 3}, routine_id("add1"))

-- отображается {2,3,4}

См. также:

call_proc, call_func, call_back, define_c_func, define_c_proc, platformr.doc

...

<p>от S до T</p>

save_bitmap

Синтаксис:

include image.e

i = save_bitmap(s, st)

Описание:

Создаёт bitmap-файл (.bmp) из 2-х элементного ряда s. Ряд st является именем .bmp-файла. s[1] является палитрой:

{{r,g,b}, {r,g,b}, ..., {r,g,b}}

Каждая из величин r, g, или b должна быть в диапазоне от 0 до 255. s[2] является двумерным рядом рядов, содержащих пиксельно-графическое изображение. Ряды, содержащиеся в s[2], должны все иметь одинаковую длину. s имеет тот же самый формат, что и величина, выдаваемая функцией read_bitmap().

Индикатор результата операции i может принимать одно из следующих значений:

global constant BMP_SUCCESS = 0,-- успех операции

BMP_OPEN_FAILED = 1,-- файл не открылся на запись

BMP_INVALID_MODE = 4 -- неверный графический формат

-- или неверный аргумент

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

Если вы использовали get_all_palette() для получения палитры перед вызовом этой функции, вы должны умножить величины интенсивностей на 4 перед вызовом save_bitmap().

Вы можете использовать save_image(), чтобы получить двумерный ряд для s[2], содержащий изображение.

Функция save_bitmap() вырабатывает файлы биткарт с 2, 4, 16, или 256 цветами, так что все они могут быть затем прочитаны с помощью read_bitmap(). Программа Paintbrush из пакета Windows и некоторые другие графические редакторы не поддерживают 4-х цветные биткарты.

Пример:

paletteData = get_all_palette() * 4

code = save_bitmap({paletteData, imageData},

"c:\\example\\a1.bmp")

См. также:

save_image, read_bitmap, save_screen, get_all_palette

save_image

Платформа:

DOS32

Синтаксис:

include image.e

s3 = save_image(s1, s2)

Описание:

Переписывает в ряд прямоугольное изображение с пиксельно-графического экрана. Результатом является двумерный ряд рядов, содержащий данные обо всех пикселах изображения. Вы можете затем снова вывести это изображение с использованием процедуры display_image(). Ряд s1 является 2-х элементным рядом {x1,y1}, задающим координаты верхнего левого угла изображения, s2 задаёт {x2,y2} - координаты правого нижнего угла.

Пример:

s = save_image({0,0}, {50,50})

display_image({100,200}, s)

display_image({300,400}, s)

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

Все книги серии 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.

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

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