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

Все атомы Euphoria имеют величины, которые могут быть представлены как 64-битные числа с плавающей точкой в формате по стандарту IEEE, поэтому вы можете преобразовать любой атом в 64-битный формат без всяких потерь точности.

Целочисленные величины также могут быть преобразованы в 64-битный формат с плавающей точкой.

Пример:

fn = open("numbers.dat", "wb")

puts(fn, atom_to_float64(157.82)) -- запись 8 байтов в файл

См. также:

atom_to_float32, float64_to_atom

bits_to_int

Синтаксис:

include machine.e

a = bits_to_int(s)

Описание:

Преобразует ряд, состоящий из единиц и нулей, дающих двоичное представление числа, в положительное десятичное число. Младший значащий "бит" должен быть первым членом ряда, s[1].

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

Если вывести ряд s на печать, то младшие биты будут находиться слева, то есть в "инверсном" порядке по отношению к обычной форме записи, принятой для многоразрядных чисел, но это соглашение удобно, так как позволяет иметь возрастающие индексы для доступа к битам по мере возрастания веса битов.

Пример:

a = bits_to_int({1,1,1,0,1})

-- a равно 23 (двоичное 10111)

См. также:

int_to_bits, операции на рядах

bk_color

Синтаксис:

include graphics.e

bk_color(i)

Описание:

Устанавливает цвет фона в один из 16 стандартных цветов. В пиксельных режимах весь экран перекрашивается немедленно. В текстовых режимах любые новые символы, которые вы печатаете, будут появляться на фоне с новым цветом. В некоторых текстовых режимах для фона доступны только 8 различных цветов.

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

16 стандартных цветов определены как константы в файле graphics.e.

В пиксельных режимах цвет 0, который обычно соответствует чёрному (BLACK), будет установлен в то самое значение палитры {r,g,b}, что и цвет номера i.

В некоторых пиксельных режимах на краю экрана появляется цветной бордюр. В 256-цветных режимах цвет бордюра соответствует 17-ому цвету палитры. Вы можете управлять цветом бордюра подобно всем другим цветам, используя процедуру palette().

В текстовых режимах для того, чтобы восстановить исходный цвет фона, когда ваша программа заканчивается, т.е. 0 - ЧЁРНЫЙ, вы должны вызвать процедуру bk_color(0). Если курсор находится на нижней строке экрана, целесообразно напечатать что-нибудь перед остановкой вашей программы. Напечатайте хотя бы '\n', и этого может быть достаточно.

Пример:

bk_color(BLACK)

См. также:

text_color, palette

bytes_to_int

Синтаксис:

include machine.e

a = bytes_to_int(s)

Описание:

Преобразует 4-х элементный ряд, состоящий из байтов, в атом. Элементы ряда s должны находиться в порядке, предусмотренном для 32-битных целых чисел на машинах 386+, т.е. младший значащий байт первый - s[1].

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

Результат может быть больше, чем допускает тип integer, поэтому вы должны присваивать его значение атому.

Ряд s будет обычно содержать положительные величины, которые ранее были прочитаны оператором peek() из 4-х последовательных ячеек памяти.

Пример:

atom int32

int32 = bytes_to_int({37,1,0,0})

-- int32 равно 37 + 256*1 = 293

См. также:

int_to_bytes, bits_to_int, peek, peek4s, peek4u, poke

...

<p>от C до D</p>

call

Синтаксис:

call(a)

Описание:

Вызывает подпрограмму на машинном языке, участок памяти с кодом которой начинается по адресу a. Подпрограмма должна запомнить содержимое всех регистров, которые она использует, а затем восстановить их в первоначальное состояние. Для обратной передачи управления интерпретатору Euphoria в этой подпрограмме должна быть предусмотрена инструкция RET (#C3).

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

Вы можете подготовить участок памяти для подпрограммы и затем по этому адресу разместить байты машинного кода. Вы можете подготовить другие участки памяти для данных и параметров, которыми машинный код может оперировать. Адреса этих других участков могут быть размещены в машинном коде.

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

demo\callmach.ex

См. также:

allocate, free, peek, poke, poke4, c_proc, define_c_proc

call_back

Платформа:

WIN32, Linux, FreeBSD

Синтаксис:

include dll.e

a = call_back(i)

или

a = call_back({i1, i})

Описание:

Выдаёт машинный адрес для Euphoria-подпрограммы по её идентификатору (номеру) i. Этот адрес может затем использоваться или Windows, или внешней функцией Си (из динамически подгружаемой библиотеки (.dll) Windows или общей библиотеки (.so) Linux/FreeBSD) как 32-битный "обратный" адрес для вызова вашей Euphoria-подпрограммы. Под Windows вы можете также задать i1, доопределив тем самым формат (соглашение о форме) вызова Си для вашей подпрограммы. Если i1 записано как '+', будет применён формат cdecl. По умолчанию применяется формат stdcall. На платформах Linux и FreeBSD следует использовать только первую форму (без i1), так как там, в отличие от Windows, действует лишь стандартный формат, stdcall.

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

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

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

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

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