Читаем Язык программирования 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 до R


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 имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.[Материал из Википедии]

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

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

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

Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

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