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

file_num = open("myfile", "r")

if file_num = -1 then

puts(ERROR, "не могу открыть myfile\n")

else

first_line = gets(file_num)

end if

file_num = open("PRN", "w") -- открывает принтер для вывода

-- под Windows 95:

file_num95 = open("bigdirectoryname\\verylongfilename.abcdefg",

"r")

if file_num95 != -1 then

puts(1, "это работает!\n")

end if

См. также:

close, lock_file

open_dll

Платформа:

WIN32, Linux, FreeBSD

Синтаксис:

include dll.e

a = open_dll(st)

Описание:

Открывает файл библиотеки динамического связывания Windows(.dll) или файл общей библиотеки Linux или FreeBSD(.so). Выдаёт 32-битный адрес или 0, если файл .dll не найден. В ряде st должно содержаться относительное или абсолютное имя файла. Windows будет использовать обычный системный путь поиска для доступа к файлам .dll.

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

Значение адреса, выданное open_dll(), служит аргументом для подпрограмм define_c_proc(), define_c_func() и define_c_var().

Вы можете открыть один и тот же файл .dll или .so несколько раз. Для этого не потребуется лишней памяти и вы будете получать одно и то же значение адреса при каждом открытии.

Euphoria закрывает библиотеки .dll автоматически в конце исполнения программы.

Пример:

atom user32

user32 = open_dll("user32.dll")

if user32 = 0 then

puts(1, "Не могу открыть user32.dll!\n")

end if

См. также:

define_c_func, define_c_proc, define_c_var, c_func, c_proc, platform.doc

or_bits

Синтаксис:

x3 = or_bits(x1, x2)

Описание:

Выполняет логическую операцию OR над соответствующими битами в x1 и x2. Бит в x3 будет равен 1, когда соответствующий бит или в x1, или в x2 равен 1.

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

Аргументами данной функции могут быть атомы или ряды. Применяются правила операций на рядах.

Аргументы должны быть представимы как 32-битные числа, со знаком или без знака.

Если вы намерены манипулировать полными 32-битными величинами, вы должны объявить ваши переменные как atom, а не как integer. Тип integer в Euphoria ограничен 31-м битом.

Результаты трактуются как числа со знаком. Они будут отрицательными, когда старший бит равен 1.

Пример 1:

a = or_bits(#0F0F0000, #12345678)

-- a будет равно #1F3F5678

Пример 2:

a = or_bits(#FF, {#123456, #876543, #2211})

-- a будет равно {#1234FF, #8765FF, #22FF}

См. также:

and_bits, xor_bits, not_bits, int_to_bits

...

<p>от P до R</p>

palette

Платформа:

DOS32

Синтаксис:

include graphics.e

x = palette(i, s)

Описание:

Изменяет оттенок для цвета номер i на s, где s является рядом интенсивностей составляющих цветов оттенка: {красный, зелёный, синий}. Каждая из составляющих s может иметь величину от 0 до 63. В случае успешного изменения выдаёт 3-х элементный ряд, содержащий величины составляющих цветов исходного цвета i, а все пикселы на экране, имевшие цвет i, приобретают новый оттенок. Если операция не удалась, выдаётся атом -1.

Пример:

x = palette(0, {15, 40, 10})

-- цвет номер 0 (обычно чёрный) изменён на оттенок

-- зеленоватого цвета.

См. также:

all_palette

peek

Синтаксис:

i = peek(a)

или ...

s = peek({a, i})

Описание:

Выдаёт величину байта (в пределах от 0 до 255), считанного из памяти по машинному адресу a, или выдаёт ряд, содержащий i последовательных байтовых величин, начинающихся в памяти с адреса a.

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

Так как значения адресов выражаются 32-битными числами, они могут быть больше величины, представимой типом integer (31 бит). Поэтому переменные, которые содержат адреса, должны объявляться как atom.

Более быстрым, чем побайтное считывание в цикле, является чтение нескольких байтов сразу с использованием второй формы peek().

Помните, что в функцию peek() подаётся единственный аргумент, который во второй форме является двухэлементным рядом.

Пример:

Следующие записи равнозначны:

-- метод 1

s = {peek(100), peek(101), peek(102), peek(103)}

-- метод 2

s = peek({100, 4})

См. также:

poke, peek4s, peek4u, allocate, free, allocate_low, free_low, call

peek4s

Синтаксис:

a2 = peek4s(a1)

или ...

s = peek4s({a1, i})

Описание:

Выдаёт 4-х байтную (32 бита) величину со знаком в диапазоне от -2147483648 до +2147483647, считанную с машинного адреса a1, или ряд, содержащий i последовательных 4-байтных величин со знаком, начинающихся с адреса a1 в памяти.

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

32-х битные величины, выдаваемые функцией peek4s(), могут превышать допустимые для типа integer в Euphoria (31-бит), поэтому вы должны использовать переменные типа atom.

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

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

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

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

Все жанры