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

-- запуск звука на встроенном динамике под DOS

sound(500)

t = time()

while time() do

end while

sound(0)

else

-- пропуск команды под Linux/FreeBSD

end if

См. также:

platformr.doc

poke

Синтаксис:

poke(a, x)

Описание:

Если x является атомом, в память по адресу a записывается один байт. Если же x является рядом, в память, начиная с адреса a, записывается последовательность байтов, представленная этим рядом.

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

В память записываются младшие 8 битов величины x, т.е. remainder(x, 256), а не сама величина х.

Запись в память ряда байтов является значительно более быстрой, чем поочерёдная запись отдельных байтов в цикле.

Вывод в экранную память с помощью poke() может быть намного быстрее, чем стандартная запись на экран с помощью процедур puts() или printf(), но программирование такого вывода заметно сложнее. В большинстве случаев сверхвысокая скорость не требуется. Например, в редакторе ed.ex из пакета Euphoria poke() никогда не используется.

Пример:

a = allocate(100) -- выделяется 100 байтов в памяти

-- заносится в память один байт за один вызов poke():

poke(a, 97)

poke(a+1, 98)

poke(a+2, 99)

-- заносится 3 байта сразу:

poke(a, {97, 98, 99})

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

demo\callmach.ex

См. также:

peek, poke4, allocate, free, allocate_low, free_low, call, safe.e

poke4

Синтаксис:

poke4(a, x)

Описание:

Если x является атомом, в память по адресу a записывается 4 байта (32 бита).

Если x является рядом, в память, начиная с адреса a, записывается последовательность 4-байтовых величин, представленная этим рядом.

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

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

Более быстрой является процедура записи сразу нескольких 4-байтовых величин, чем поочерёдная запись этих величин в цикле.

Записываемые 4-байтовые величины могут быть положительными или отрицательными. Считаны они могут быть затем с помощью или peek4s(), или peek4u().

Пример:

a = allocate(100) -- выделяется 100 байтов в памяти

-- записывается одна 4-байтовая величина за каждый вызов poke4():

poke4(a, 9712345)

poke4(a+4, #FF00FF00)

poke4(a+8, -12345)

-- записывается три 4-байтовых величины сразу:

poke4(a, {9712345, #FF00FF00, -12345})

См. также:

peek4u, peek4s, poke, allocate, allocate_low, call

polygon

Платформа:

DOS32

Синтаксис:

include graphics.e

polygon(i1, i2, s)

Описание:

Вычерчивается многоугольник с 3-мя или более вершинами, заданными в s, на пиксельно-графическом экране с использованием цвета i1. Внутренняя область закрашивается, если i2 равно 1. Не закрашивается, если i2 равно 0.

Пример:

polygon(GREEN, 1, {{100, 100}, {200, 200}, {900, 700}})

-- вычерчивается сплошной зелёный треугольник.

См. также:

draw_line, ellipse

position

Синтаксис:

position(i1, i2)

Описание:

Перемещает курсор на строку i1, в колонку i2, верхний левый угол экрана соответствует строке 1, колонке 1. Символ, выводимый на экран после этой команды, появится именно в назначенном месте. position() сообщит об ошибке, если предпринимается попытка задания знакоместа за пределами экрана.

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

position() работает и в текстовом, и в пиксельно-графическом режимах.

Система координат при отображении текста отличается от системы координат при отображении пикселов. Пикселы отображаются так, что верхний левый угол экрана соответствует координатам (x=0,y=0), а первая координата задает положение по горизонтали, слева направо. В пиксельно-графических режимах вы можете отображать и текст, и пикселы. Процедура position() устанавливает только строку и колонку для текста, положением пикселов она не управляет. Аналогичной процедуры для назначения следующей пиксельной позиции не существует.

Пример:

position(2,1)

-- курсор устанавливается в начало второй строки сверху

См. также:

get_position, puts, print, printf

power

Синтаксис:

x3 = power(x1, x2)

Описание:

Возводит x1 в степень x2, выдаёт результат.

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

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

Степени 2 вычисляются очень быстро.

Пример 1:

? power(5, 2)

-- печатается 25

Пример 2:

? power({5, 4, 3.5}, {2, 1, -0.5})

-- печатается {25, 4, 0.534522}

Пример 3:

? power(2, {1, 2, 3, 4})

-- {2, 4, 8, 16}

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

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

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

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