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

Для более четкого возвращения в среду операционной системы обычно целесообразно перед завершением вашей программы перейти из пиксельного режима в стандартный исходный текстовый режим. Это можно сделать, вызвав функцию graphics_mode(-1). Если графическая программа приводит ваш экран в какое-то необычное беспорядочное состояние, вы можете очистить его с помощью команды DOS CLS, а также запустив интерпретатор ex.exe или редактор ed.

Некоторые видеоплаты иногда могут быть не в состоянии обеспечить вполне правильную работу в отдельных режимах SVGA, хотя при программном включении этого режима вы и получили величину i1, соответствующую успешному включению. Данную ошибку крайне трудно выявить без тестирования программы на конкретном оборудовании, так как стандартизация режимов SVGA и параметров новейших видеоплат далека от завершения.

На платформах WIN32 и Linux/FreeBSD Euphoria исполняет команду graphics_mode(), для любого i2 выводя обычную текстовую консоль, если этой консоли ещё нет. Функция всегда выдаёт 0, не имеет значения, какое i2 в неё подано.

Пример:

if graphics_mode(18) then

puts(SCREEN, "требуется графика VGA!\n")

abort(1)

end if

draw_line(BLUE, {{0,0}, {50,50}})

См. также:

text_rows, video_config

...

<p>от H до O</p>

instance

Платформа:

WIN32

Синтаксис:

include misc.e

i = instance()

Описание:

Выдаёт идентификатор текущей программы.

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

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

В языке Си это первый аргумент при вызове функции WinMain().

На платформах DOS32 и Linux/FreeBSD instance() всегда выдаёт 0.

См. также:

platform.doc

int_to_bits

Синтаксис:

include machine.e

s = int_to_bits(a, i)

Описание:

Выдаёт i младших битов атома a как ряд единиц и нулей. В этом ряде младшие значащие биты идут первыми. Для отрицательных чисел выдаётся двоичное дополнение.

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

, , and/or/xor/not

Вы можете использовать индексирование, сечение, операторы and/or/xor/not для обработки выходного ряда, т.е. манипулировать рядами битов по своему усмотрению. При необходмости могут быть легко осуществлены обычные и циклические сдвиги битов, а также другие преобразования.

Пример:

s = int_to_bits(177, 8)

-- s будет равно {1,0,0,0,1,1,0,1} -- "обратный" порядок

См. также:

bits_to_int, and_bits, or_bits, xor_bits, not_bits, операции на рядах

int_to_bytes

Синтаксис:

include machine.e

s = int_to_bytes(a)

Описание:

Преобразует целое в ряд, состоящий из 4 байтов. Эти байты идут в порядке, предусмотренном на машинах 386+, т.е. младший значащий байт идет первым.

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

Вы можете воспользоваться этой процедурой перед засылкой 4 байтов в память при работе с программой на машинном языке.

Целое может быть отрицательным. При этом будут выданы отрицательные значения для величин байтов, но после засылки их в память вы получите правильное представление (двоичное дополнение), принятое на машинах 386+.

Эта функция будет правильно преобразовывать целочисленные величины, включая 32-битные и менее. Для больших величин преобразуются только младшие 32 бита. Тип целых в Euphoria может иметь величину не более 31 бита, так что объявляйте ваши переменные как атом, если вам нужны более широкие пределы величин.

Пример 1:

s = int_to_bytes(999)

-- s будет равно {231, 3, 0, 0}

Пример 2:

s = int_to_bytes(-999)

-- s будет равно {-231, -4, -1, -1}

См. также:

bytes_to_int, int_to_bits, bits_to_int, peek, poke, poke4

integer

Синтаксис:

i = integer(x)

Описание:

Выдаёт 1, если x является целым в пределах от -1073741824 до +1073741823. В противном случае выдаёт 0.

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

Данная команда служит для объявления переменной типа integer. Вы можете также использовать её и как функцию для проверки, какого типа объект перед вами, не целое ли это число.

Пример 1:

integer z

z = -1

Пример 2:

if integer(y/x) then

puts(SCREEN, "y кратно x")

end if

См. также:

atom, sequence, floor

length

Синтаксис:

i = length(s)

Описание:

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

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

Значение текущей длины каждого ряда сохраняется интерпретатором во внутреннем формате для осуществления быстрого доступа.

Пример 1:

length({{1,2}, {3,4}, {5,6}}) -- 3

Пример 2:

length("") -- 0

Пример 3:

length({}) -- 0

См. также:

sequence

lock_file

Синтаксис:

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

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

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

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