W Cat - Язык программирования Euphoria. Справочное руководство Страница 24

Тут можно читать бесплатно W Cat - Язык программирования Euphoria. Справочное руководство. Жанр: Компьютеры и Интернет / Программирование, год неизвестен. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте «WorldBooks (МирКниг)» или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
W Cat - Язык программирования Euphoria. Справочное руководство

W Cat - Язык программирования Euphoria. Справочное руководство краткое содержание

Прочтите описание перед тем, как прочитать онлайн книгу «W Cat - Язык программирования 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 имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.[Материал из Википедии]

W Cat - Язык программирования Euphoria. Справочное руководство читать онлайн бесплатно

W Cat - Язык программирования Euphoria. Справочное руководство - читать книгу онлайн бесплатно, автор W Cat

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

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

Данная процедура работает только в текстовых экранных режимах.

Пара подпрограмм save_text_image() и display_text_image() пригодится вам для организации в текстовом режиме графического пользовательского интерфейса с всплывающими диалогами и выпадающими меню, которые появляются и исчезают без потери того, что было на экране до них.

Строки текстового изображения могут иметь разную длину.

Пример:

clear_screen()

display_text_image({1,1}, {{'A', WHITE, 'B', GREEN},

{'C', RED+16*WHITE},

{'D', BLUE}})

-- начиная с верхнего левого угла экрана, выводится:

AB

C

D

-- 'A' - белого цвета на чёрном (0) фоне,

-- 'B' - зелёного цвета на чёрном фоне,

-- 'C' - красного цвета на белом фоне и

-- 'D' - синего цвета на чёрном фоне.

См. также:

save_text_image, display_image, put_screen_char

dos_interrupt

Платформа:

DOS32

Синтаксис:

include machine.e

s2 = dos_interrupt(i, s1)

Описание:

Вызывает программное прерывание DOS номер i. Аргумент s1 является 10-элементным рядом 16-битных значений, заносимых в регистры процессора перед входом в процедуру прерывания. Ряд s2 аналогичен 10-элементному ряду s1, в нем будут содержаться значения регистров после выхода из процедуры прерывания. В файле machine.e имеется следующее объявление констант, из которого ясно расположение значений регистров во входном и выходном рядах s1 и s2:

global constant REG_DI = 1,

REG_SI = 2,

REG_BP = 3,

REG_BX = 4,

REG_DX = 5,

REG_CX = 6,

REG_AX = 7,

REG_FLAGS = 8,

REG_ES = 9,

REG_DS = 10

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

Значения регистров, выдаваемые в s2, всегда являются положительными целыми числами между 0 и #FFFF (65535).

Значения флагов в s1[REG_FLAGS] на входе игнорируются. На выходе младший значащий бит в s2[REG_FLAGS] соответствует флагу состояния, который обычно указывает на неудачу, если он установлен в 1.

Некоторые прерывания требуют, чтобы вы указывали адреса участков памяти. Эти адреса должны относиться к стандартной (нижней) памяти. Вы можете подготовить/освободить нижнюю память с помощью функций allocate_low() и free_low().

С программными прерываниями DOS вы имеете доступ ко всему широкому кругу специализированных операций, любых, от форматирования вашего флоппи-диска до перезагрузки компьютера. Документацию по этим прерываниям можно найти в книге Питера Нортона "Библия программиста PC", или в файле "Список прерываний" на странице Web Ральфа Брауна по адресу:

http://www.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/WWW/files.html

Пример:

sequence registers

registers = repeat(0, 10) -- установка значений регистров не требуется

-- вызывается прерывание номер 5 DOS: Print Screen - Печатать Экран

registers = dos_interrupt(#5, registers)

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

demo\dos32\dosint.ex

См. также:

allocate_low, free_low

draw_line

Платформа:

DOS32

Синтаксис:

include graphics.e

draw_line(i, s)

Описание:

Чертит на экране в пиксельном режиме линию, соединяющую две или более точек с координатами, заданными в s, используя цвет номер i.

Пример:

draw_line(WHITE, {{100, 100}, {200, 200}, {900, 700}})

-- Белой линией будут соединены три точки

-- от {100, 100} до {200, 200}

-- и от {200, 200} до {900, 700}.

См. также:

polygon, ellipse, pixel

...

от E до G

ellipse

Платформа:

DOS32

Синтаксис:

include graphics.e

ellipse(i1, i2, s1, s2)

Описание:

Вычерчивает на экране в пиксельном режиме эллипс цвета номер i1. Эллипс будет вписан в воображаемый прямоугольник, определённый диагональными точками s1 {x1, y1} и s2 {x2, y2}. Если прямоугольник равносторонний (квадрат), эллипс становится кругом. Эллипс будет заполненным, когда аргумент i2 равен 1, и незаполненным, когда i2 равно 0.

Пример:

ellipse(MAGENTA, 0, {10, 10}, {20, 20})

-- Процедура вычерчивает окружность пурпурного (малинового) цвета,

-- которая является вписанной в воображаемый квадрат

-- с координатами вершин: {10, 10}, {10, 20}, {20, 20}, {20, 10}.

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

demo\dos32\sb.ex

См. также:

polygon, draw_line

equal

Синтаксис:

i = equal(x1, x2)

Описание:

Сравнивает два объекта Euphoria для проверки их идентичности. Выдаёт 1 (истина), если объекты идентичны, 0 (ложь), если имеется отличие.

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

Данная операция эквивалентна выражению: compare(x1, x2) = 0

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

Пример 1:

if equal(PI, 3.14) then

puts(1, "дайте мне более точное значение для PI!\n")

end if

Пример 2:

if equal(name, "George") or equal(name, "GEORGE") then

puts(1, "его имя - George\n")

end if

См. также:

compare, операции сравнения (=)

find

Синтаксис:

i = find(x, s)

Описание:

Ищет объект x как элемент ряда s. В случае первого же успеха выдаёт индекс (номер) текущего элемента в ряде s, который совпадает по величине с x, и прекращает дальнейший поиск. При неудаче поиска выдаёт 0.

Пример 1:

location = find(11, {5, 8, 11, 2, 3})

-- индекс location будет равен 3

Пример 2:

names = {"fred", "rob", "george", "mary", ""}

location = find("mary", names)

-- индекс location будет равен 4

См. также:

find_from, match, match_from, compare

find_from

Синтаксис:

i1 = find_from(x, s, i2)

Описание:

Ищет объект x как элемент ряда s, начиная поиск с индекса (номера) i2. В случае первого же успеха выдаёт индекс (номер) текущего элемента в ряде s, который совпадает по величине с x, и прекращает дальнейший поиск. При неудаче поиска выдаёт 0. Индекс i2 может иметь любую величину в диапазоне от 1 до длины ряда s плюс 1 - аналогично первому индексу сечения (отрезка) ряда s.

Пример 1:

location = find_from(11, {11, 8, 11, 2, 3}, 2)

-- индекс location будет равен 3

Пример 2:

names = {"mary", "rob", "george", "mary", ""}

location = find_from("mary", names, 3)

-- индекс location будет равен 4

См. также:

find, match, match_from, compare

float32_to_atom

Синтаксис:

include machine.e

a1 = float32_to_atom(s)

Описание:

Преобразует ряд, состоящий из 4 байтов, в атом. Считается, что эти 4 байта должны содержать число с плавающей точкой в 32-битном формате по стандарту IEEE.

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

Любая 4-х байтовая величина, выражающая 32-битное число с плавающей точкой в формате IEEE, может быть преобразована в атом.

Пример:

f = repeat(0, 4)

fn = open("numbers.dat", "rb") -- побайтовое чтение

f[1] = getc(fn)

f[2] = getc(fn)

f[3] = getc(fn)

f[4] = getc(fn)

a = float32_to_atom(f)

См. также:

float64_to_atom, atom_to_float32

float64_to_atom

Синтаксис:

include machine.e

a1 = float64_to_atom(s)

Описание:

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

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

Любая 8-ми байтовая величина, выражающая 64-битное число с плавающей точкой в формате IEEE, может быть преобразована в атом.

Пример:

f = repeat(0, 8)

fn = open("numbers.dat", "rb") -- побайтовое чтение

for i = 1 to 8 do

f[i] = getc(fn)

end for

a = float64_to_atom(f)

См. также:

float32_to_atom, atom_to_float64

floor

Синтаксис:

x2 = floor(x1)

Описание:

Выдаёт наибольшее целое, меньшее или равное x1 (округляет вниз до целого, то есть, отбрасывая дробную часть у положительных чисел или считая дробную часть за полную -1 у отрицательных чисел).

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

Эта функция может быть применена к атому или ко всем элементам ряда.

Пример:

y = floor({0.5, -1.6, 9.99, 100})

-- y будет равно {0, -2, 9, 100}

См. также:

remainder

flush

Синтаксис:

include file.e

flush(fn)

Описание:

Когда вы записываете данные в файл, обычно Euphoria сначала размещает данные в буфере, организованном в оперативной памяти, пока не будет накоплен достаточно большой объём этих данных. Этот сравнительно большой объём данных может быть затем очень быстро и эффективно записан на диск. Иногда у вас может возникнуть необходимость форсировать, ускорить немедленный вывод данных на диск, хотя оптимальный буфер ещё не заполнен. Чтобы сделать это досрочное выталкивание данных, и предназначена процедура flush(fn), где fn является номером файла, который был открыт вами для записи или дополнения.

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

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

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.